Keresési mező létrehozása egy pénzügyi dimenzióhoz a Dynamics 365-ben
Megjelent: 2025. február 16. 11:33:44 UTC
Utolsó frissítés: 2026. január 12. 8:56:08 UTC
Ez a cikk bemutatja, hogyan hozhat létre keresőmezőt egy pénzügyi dimenzióhoz a Dynamics 365 for Operations rendszerben, beleértve egy X++ kódpéldát is.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
A bejegyzésben található információk a Dynamics 365 for Operations rendszeren alapulnak, de a legtöbbjük a Dynamics AX 2012 rendszerben is működik (lásd alább).
Nemrég egy új mező létrehozásával bíztak meg, amelyben egyetlen pénzügyi dimenziót lehet megadni, jelen esetben a Terméket. Természetesen az új mezőnek képesnek kell lennie a dimenzió érvényes értékeinek kikeresésére is.
Ez egy kicsit bonyolultabb, mint egy sima táblázatos keresés, de ha tudod, hogyan kell, akkor valójában nem is olyan vészes.
Szerencsére a standard alkalmazás egy kényelmes keresőűrlapot (DimensionLookup) biztosít, amely erre a célra használható, ha csak megmondjuk neki, hogy melyik dimenzió attribútumot keresse.
Először is létre kell hoznod magát az űrlapmezőt. Ez alapulhat egy táblamezőn vagy egy szerkesztési metóduson, magának a keresésnek a szempontjából nem számít, de valamilyen módon a DimensionValue kiterjesztett adattípust kell használnia.
Ezután létre kell hoznod egy OnLookup eseménykezelőt a mezőhöz. Eseménykezelő létrehozásához kattints jobb gombbal a mező OnLookup eseményére, majd válaszd az „Eseménykezelő metódus másolása” lehetőséget. Ezután beilleszthetsz egy üres eseménykezelő metódust egy osztályba, és onnan szerkesztheted.
Megjegyzés: Ezek nagy része a Dynamics AX 2012-ben is működni fog, de eseménykezelő létrehozása helyett felülbírálhatja az űrlapmező keresési metódusát.
Az eseménykezelőnek valahogy így kell kinéznie (szükség szerint cserélje ki az űrlap nevét és a mező nevét):
FormControlEventHandler(formControlStr( MyForm,
MyProductDimField),
FormControlEventType::Lookup)
]
public static void MyProductDimField_OnLookup( FormControl _sender,
FormControlEventArgs _e)
{
FormStringControl control;
Args args;
FormRun formRun;
DimensionAttribute dimAttribute;
;
dimAttribute = DimensionAttribute::findByName('Product');
args = new Args();
args.record(dimAttribute);
args.caller(_sender);
args.name(formStr(DimensionLookup));
formRun = classFactory.formRunClass(args);formRun.init();
control = _sender as FormStringControl;
control.performFormLookup(formRun);
}
További olvasmányok
Ha tetszett ez a bejegyzés, akkor ezek a javaslatok is érdekelhetik:
- Frissítse a pénzügyi dimenzió értékét az X++ kódból a Dynamics 365-ben
- Megjelenítési vagy szerkesztési módszer hozzáadása a Dynamics 365 bővítményen keresztül
- Állítsa a Dynamics 365 FO Virtual Machine Dev vagy Test alkalmazást Karbantartási módba
