Miklix

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.


Ezt az oldalt angolból gépi fordítással készítettük, hogy minél több ember számára elérhető legyen. Sajnos a gépi fordítás még nem tökéletes technológia, ezért előfordulhatnak hibák. Ha szeretné, itt megtekintheti az eredeti angol nyelvű változatot:

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:


Oszd meg a Bluesky-nOszd meg a FacebookonOszd meg a LinkedIn-enOszd meg a Tumblr-enOszd meg X-enOszd meg a LinkedIn-enPin a Pinteresten

Mikkel Christensen

A szerzőről

Mikkel Christensen
Mikkel a miklix.com létrehozója és tulajdonosa. Több mint 20 éves tapasztalattal rendelkezik, mint hivatásos számítógépes programozó/szoftverfejlesztő, és jelenleg teljes munkaidőben dolgozik egy nagy európai informatikai vállalatnál. Amikor nem blogol, szabadidejét érdeklődési körének, hobbijainak és tevékenységeinek széles skálájával tölti, ami bizonyos mértékig tükröződhet a weboldalon tárgyalt témák sokféleségében.