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

Ez a cikk elmagyarázza, hogyan hozhat létre keresési mezőt egy pénzügyi dimenzióhoz a Dynamics 365 for Operations alkalmazásban, beleértve az X++ kód példáját.


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

Az ebben a bejegyzésben található információk a Dynamics 365 for Operations rendszeren alapulnak, de a legtöbb a Dynamics AX 2012 rendszerhez is működik (lásd alább).

Nemrég azt a feladatot kaptam, hogy hozzak létre egy új mezőt, amelyben egyetlen pénzügyi dimenziót, jelen esetben Terméket kell megadni. Természetesen az új mezőnek képesnek kell lennie a dimenzió érvényes értékeinek megkeresésére is.

Ez egy kicsit bonyolultabb, mint egy táblázatban való szokásos keresés, de ha tudod, hogyan, akkor valójában nem is olyan rossz.

Szerencsére a szabványos alkalmazás egy kényelmes keresési űrlapot (DimensionLookup) biztosít, amely használható erre a célra, ha csak megadja, hogy melyik dimenzió attribútumot keresse.

Először is létre kell hoznia magát az űrlapmezőt. Ez alapulhat táblázatmezőn vagy szerkesztési metóduson, nem számít magának a keresésnek, de valamilyen módon a DimensionValue kiterjesztett adattípust kell használnia.

Ezután létre kell hoznia egy OnLookup eseménykezelőt a mezőhöz. Eseménykezelő létrehozásához kattintson a jobb gombbal a mező OnLookup eseményére, majd válassza az „Eseménykezelő metódusának másolása” lehetőséget. Ezután beilleszthet egy üres eseménykezelő metódust egy osztályba, és onnan szerkesztheti.

Megjegyzés: Ennek nagy része a Dynamics AX 2012 esetében is működik, 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);
}
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 Bang Christensen

A szerzőről

Mikkel Bang 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.