Miklix

Dynamics 365-də Maliyyə Ölçüsü üçün Axtarış Sahəsinin yaradılması

Nəşr olundu: 16 fevral 2025 at 11:39:18 UTC

Bu məqalə X++ kodu nümunəsi də daxil olmaqla Dynamics 365 for Operations-da maliyyə ölçüsü üçün axtarış sahəsinin necə yaradılmasını izah edir.


Bu səhifə mümkün qədər çox insan üçün əlçatan olması üçün ingilis dilindən maşın tərcümə edilib. Təəssüf ki, maşın tərcüməsi hələ mükəmməl texnologiya deyil, ona görə də səhvlər baş verə bilər. İstəyirsinizsə, orijinal ingilis versiyasına buradan baxa bilərsiniz:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

Bu yazıdakı məlumat Dynamics 365 for Operations-a əsaslanır, lakin onların əksəriyyəti Dynamics AX 2012 üçün də işləyəcək (aşağıya bax).

Bu yaxınlarda mənə yeni bir sahə yaratmaq tapşırıldı ki, burada vahid maliyyə ölçüsünü, bu halda Məhsulu müəyyən etmək mümkün olmalıdır. Əlbəttə ki, yeni sahə də bu ölçüsün etibarlı dəyərlərini axtara bilməlidir.

Bu, cədvəldə adi axtarışdan bir az daha mürəkkəbdir, lakin necə edəcəyinizi bilirsinizsə, əslində çox da pis deyil.

Xoşbəxtlikdən, standart proqram rahat axtarış formasını (DimensionLookup) təmin edir, hansı ölçü atributunu axtarmaq lazım olduğunu söyləsəniz, bu məqsəd üçün istifadə edilə bilər.

Əvvəlcə forma sahəsinin özünü yaratmalısınız. Bu, cədvəl sahəsinə və ya redaktə metoduna əsaslana bilər, axtarışın özü üçün fərq etməz, lakin bu və ya digər şəkildə DimensionValue genişləndirilmiş məlumat növündən istifadə etməlidir.

Daha sonra sahə üçün OnLookup hadisə idarəçisi yaratmalısınız. Hadisə idarəedicisi yaratmaq üçün sahə üçün OnLookup hadisəsinə sağ klikləyin, sonra "Hadisə idarəedici üsulunu kopyalayın" seçin. Daha sonra boş bir hadisə idarəedici metodunu sinfə yapışdırıb oradan redaktə edə bilərsiniz.

Qeyd: Bunların əksəriyyəti Dynamics AX 2012 üçün də işləyəcək, lakin siz hadisə idarəedicisi yaratmaq əvəzinə, forma sahəsinin axtarış metodunu ləğv edə bilərsiniz.

Hadisə idarəedicisi bu kimi görünməlidir (lazım olduqda forma adını və sahə adını dəyişdirin):

[
    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);
}
Bluesky-də paylaşınFacebookda paylaşLinkedIn-də paylaşınTumblr-da paylaşınX-də paylaşınLinkedIn-də paylaşınPinterest-də Pin

Mikkel Bang Christensen

Müəllif haqqında

Mikkel Bang Christensen
Mikkel miklix.com saytının yaradıcısı və sahibidir. O, peşəkar kompüter proqramçısı/proqram təminatı tərtibatçısı kimi 20 ildən artıq təcrübəyə malikdir və hazırda böyük Avropa İT korporasiyasında tam iş günü işləyir. Bloq yazmayanda o, boş vaxtını geniş çeşidli maraqlara, hobbilərə və fəaliyyətlərə sərf edir ki, bu da müəyyən dərəcədə bu veb-saytda əhatə olunan müxtəlif mövzularda əks oluna bilər.