Miklix

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.


Ova stranica je mašinski prevedena sa engleskog jezika kako bi bila dostupna što većem broju ljudi. Nažalost, mašinsko prevođenje još uvek nije usavršena tehnologija, tako da može doći do grešaka. Ako želite, možete pogledati originalnu englesku verziju ovde:

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);
}
Podeli na BlueskiPodeli na FejsbukuPodeli na LinkedInPodeli na TumblrPodeli na XPodeli na LinkedInPin na Pinterest

Mikkel Christensen

O autoru

Mikkel Christensen
Mikel je tvorac i vlasnik miklix.com. Ima preko 20 godina iskustva kao profesionalni kompjuterski programer / programer i trenutno je zaposlen sa punim radnim vremenom za veliku evropsku IT korporaciju. Kada ne bloguje, on provodi svoje slobodno vreme na širokom spektru interesovanja, hobija i aktivnosti, što se u određenoj meri može odraziti na različite teme koje se obrađuju na ovoj veb stranici.