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.
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);
}