Kreiranje polja za pretraživanje za finansijsku dimenziju u Dynamics 365
Objavljeno: 16. februar 2025. u 11:36:32 UTC
Posljednje ažurirano: 12. januar 2026. u 08:56:31 UTC
Ovaj članak objašnjava kako kreirati polje za pretraživanje za finansijsku dimenziju u Dynamics 365 for Operations, uključujući primjer X++ koda.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
Informacije u ovom postu zasnovane su na Dynamics 365 for Operations, ali većina njih će raditi i za Dynamics AX 2012 (pogledajte dolje).
Nedavno sam dobio zadatak da kreiram novo polje u kojem bi trebalo biti moguće navesti jednu finansijsku dimenziju, u ovom slučaju Proizvod. Naravno, novo polje bi također trebalo biti u mogućnosti pretraživati važeće vrijednosti ove dimenzije.
Ovo je malo komplikovanije od običnog pretraživanja u tabeli, ali ako znate kako, zapravo nije tako loše.
Srećom, standardna aplikacija pruža praktičan obrazac za pretraživanje (DimensionLookup) koji se može koristiti u tu svrhu, ako joj samo kažete koji atribut dimenzije treba pretražiti.
Prvo, potrebno je kreirati samo polje obrasca. Ovo može biti zasnovano na polju tabele ili metodi uređivanja, nije bitno za samu pretragu, ali na ovaj ili onaj način mora koristiti prošireni tip podataka DimensionValue.
Zatim trebate kreirati obrađivač događaja OnLookup za polje. Da biste kreirali obrađivač događaja, kliknite desnim tasterom miša na događaj OnLookup za polje, a zatim odaberite "Kopiraj metodu obrađivača događaja". Zatim možete zalijepiti praznu metodu obrađivača događaja u klasu i tamo je uređivati.
Napomena: Većina ovoga će raditi i za Dynamics AX 2012, ali umjesto kreiranja rukovaoca događajima, možete prepisati metodu pretraživanja polja obrasca.
Obrađivač događaja mora izgledati otprilike ovako (po potrebi zamijenite naziv obrasca i naziv polja):
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);
}
Dodatno čitanje
Ako vam se svidio ovaj post, možda će vam se svidjeti i ovi prijedlozi:
- Stavite Dynamics 365 FO Virtual Machine Dev ili Test u režim održavanja
- Dodajte metodu prikaza ili uređivanja putem proširenja u Dynamics 365
- Ažuriranje vrijednosti finansijske dimenzije iz X++ koda u Dynamics 365
