Kreiranje polja za pretragu za finansijsku dimenziju u Dinamics KSNUMKS
Objavio: 19. mart 2025. 21:35:40 UTC
Ovaj članak objašnjava kako kreirati polje za pretragu za finansijsku dimenziju u Dinamics KSNUMKS for Operations, uključujući primer Ks ++ koda.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
Informacije u ovom postu zasnovane su na Dynamics 365 za Operacije, ali većina toga će takođe raditi za Dynamics AX 2012 (pogledajte ispod).
Skoro sam bio zadat da napravim novo polje u kojem bi trebalo da bude moguće odabrati jednu finansijsku dimenziju, u ovom slučaju Proizvod. Naravno, novo polje treba da bude sposobno da prikaže važeće vrednosti ove dimenzije.
Ovo je malo komplikovanije od običnog pretraživanja u tabeli, ali ako znate kako, zapravo nije previše teško.
Na sreću, standardna aplikacija pruža zgodan obrazac za pretragu (DimensionLookup) koji se može koristiti za ovu svrhu, ako samo kažete koji atribut dimenzije treba da se pretražuje.
Prvo, morate kreirati samo polje obrasca. Ovo može biti zasnovano na polju tabele ili metodi za uređivanje, nije važno za samu pretragu, ali na jedan ili drugi način mora koristiti prošireni podatkovni tip DimensionValue.
Zatim morate kreirati OnLookup upravljač događajem za to polje. Da biste kreirali upravljač događajem, desnim klikom kliknite na OnLookup događaj za polje, a zatim odaberite "Kopiraj metodu upravljača događajem". Zatim možete nalepiti praznu metodu upravljača događajem u klasu i uređivati je odatle.
Napomena: Većina ovoga će takođe raditi za Dynamics AX 2012, ali umesto kreiranja upravljača događajem, možete zameniti metodu pretrage polja obrasca.
Upravljač događajem mora izgledati ovako (zamenite ime obrasca i ime polja prema potrebi):
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);
}