Miklix

Krijimi i një fushe kërkimi për një dimension financiar në Dynamics 365

Publikuar: 16 shkurt 2025 në 11:36:16 e paradites, UTC

Ky artikull shpjegon se si të krijoni një fushë kërkimi për një dimension financiar në Dynamics 365 for Operations, duke përfshirë një shembull të kodit X++.


Kjo faqe u përkthye me makinë nga anglishtja për ta bërë të aksesueshme për sa më shumë njerëz. Fatkeqësisht, përkthimi me makinë nuk është ende një teknologji e përsosur, kështu që mund të ndodhin gabime. Nëse preferoni, mund ta shikoni versionin origjinal në anglisht këtu:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

Informacioni në këtë postim bazohet në Dynamics 365 for Operations, por shumica e tij do të funksionojë edhe për Dynamics AX 2012 (shih më poshtë).

Kohët e fundit jam ngarkuar me krijimin e një fushe të re në të cilën duhet të jetë e mundur të specifikohet një dimension i vetëm financiar, në këtë rast Produkt. Sigurisht, fusha e re duhet gjithashtu të jetë në gjendje të kërkojë vlerat e vlefshme të këtij dimensioni.

Kjo është pak më e komplikuar se një kërkim i rregullt në një tabelë, por nëse e dini se si, në fakt nuk është shumë keq.

Për fat të mirë, aplikacioni standard ofron një formular të përshtatshëm kërkimi (DimensionLookup) që mund të përdoret për këtë qëllim, nëse thjesht i tregoni se cilin atribut dimensioni duhet kërkuar.

Së pari, duhet të krijoni vetë fushën e formularit. Kjo mund të bazohet në një fushë tabele ose një metodë redaktimi, nuk ka rëndësi për vetë kërkimin, por në një mënyrë ose në një tjetër duhet të përdorë llojin e të dhënave të zgjeruara DimensionValue.

Më pas duhet të krijoni një mbajtës të ngjarjeve OnLookup për këtë fushë. Për të krijuar një mbajtës të ngjarjeve, kliko me të djathtën në ngjarjen OnLookup për fushën, më pas zgjidhni "Copy even event handler method". Më pas mund të ngjisni një metodë të zbrazët të mbajtësit të ngjarjeve në një klasë dhe ta modifikoni prej andej.

Shënim: Shumica e kësaj do të funksionojë edhe për Dynamics AX 2012, por në vend që të krijoni një mbajtës ngjarjesh, mund të anashkaloni metodën e kërkimit të fushës së formularit.

Trajtuesi i ngjarjes duhet të duket diçka si kjo (zëvendësoni emrin e formularit dhe emrin e fushës sipas nevojës):

[
    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);
}
Shpërndaje në BlueskyShpërndaje në FacebookNdani në LinkedInShpërndaje në TumblrShpërndaje në XNdani në LinkedInPin në Pinterest

Mikkel Bang Christensen

Rreth Autorit

Mikkel Bang Christensen
Mikkel është krijuesi dhe pronari i miklix.com. Ai ka mbi 20 vjet përvojë si programues profesional kompjuteri/zhvillues softuerësh dhe aktualisht është i punësuar me kohë të plotë për një korporatë të madhe evropiane IT. Kur nuk bën blog, ai e kalon kohën e lirë në një gamë të gjerë interesash, hobish dhe aktivitetesh, të cilat mund të reflektohen në një farë mase në shumëllojshmërinë e temave të mbuluara në këtë faqe interneti.