Miklix

Uzmeklēšanas lauka izveide finanšu dimensijai programmā Dynamics 365

Publicēts: 2025. gada 16. februāris 11:33:53 UTC

Šajā rakstā ir paskaidrots, kā programmā Dynamics 365 for Operations izveidot finanšu dimensijas uzmeklēšanas lauku, tostarp X++ koda piemēru.


Šī lapa tika mašīntulkota no angļu valodas, lai padarītu to pieejamu pēc iespējas vairāk cilvēkiem. Diemžēl mašīntulkošana vēl nav pilnīga tehnoloģija, tāpēc tajā var rasties kļūdas. Ja vēlaties, oriģinālo versiju angļu valodā varat apskatīt šeit:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

Šajā ziņā sniegtā informācija ir balstīta uz Dynamics 365 for Operations, taču lielākā daļa tās darbosies arī Dynamics AX 2012 (skatiet tālāk).

Nesen man tika uzdots izveidot jaunu lauku, kurā vajadzētu būt iespējai norādīt vienu finanšu dimensiju, šajā gadījumā Produktu. Protams, jaunajam laukam vajadzētu būt iespējai arī meklēt šīs dimensijas derīgās vērtības.

Tas ir nedaudz sarežģītāk nekā parasta meklēšana tabulā, taču, ja zināt, kā to izdarīt, tas patiesībā nav pārāk slikti.

Par laimi, standarta lietojumprogramma nodrošina ērtu uzmeklēšanas veidlapu (DimensionLookup), ko var izmantot šim nolūkam, ja vienkārši pasakāt, kurš dimensijas atribūts ir jāmeklē.

Pirmkārt, jums ir jāizveido pats veidlapas lauks. Tas var būt balstīts uz tabulas lauku vai rediģēšanas metodi, tas nav svarīgi pašai uzmeklēšanai, taču vienā vai otrā veidā tam ir jāizmanto paplašinātais datu tips DimensionValue.

Pēc tam laukam ir jāizveido OnLookup notikumu apdarinātājs. Lai izveidotu notikumu apdarinātāju, ar peles labo pogu noklikšķiniet uz lauka OnLookup notikuma un pēc tam izvēlieties "Kopēt notikumu apdarinātāja metodi". Pēc tam varat ielīmēt tukšu notikumu apstrādātāja metodi klasē un rediģēt to no turienes.

Piezīme. Lielākā daļa no tiem darbosies arī Dynamics AX 2012, taču tā vietā, lai izveidotu notikumu apdarinātāju, varat ignorēt veidlapas lauka uzmeklēšanas metodi.

Notikuma apstrādātājam ir jāizskatās apmēram šādi (ja nepieciešams, nomainiet formas nosaukumu un lauka nosaukumu):

[
    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);
}
Kopīgojiet pakalpojumā BlueskyKopīgot FacebookKopīgojiet vietnē LinkedInKopīgojiet vietnē TumblrKopīgot vietnē XKopīgojiet vietnē LinkedInPiespraust vietnē Pinterest

Mikkel Bang Christensen

Par autoru

Mikkel Bang Christensen
Mikels ir miklix.com radītājs un īpašnieks. Viņam ir vairāk nekā 20 gadu pieredze kā profesionālam programmētājam/programmatūras izstrādātājam, un pašlaik viņš strādā pilna laika darbu lielā Eiropas IT korporācijā. Kad viņš neraksta blogus, viņš pavada brīvo laiku, pievēršoties dažādām interesēm, hobijiem un aktivitātēm, kas zināmā mērā var atspoguļoties šajā tīmekļa vietnē aplūkoto tēmu daudzveidībā.