Dynamics 365-ում ֆինանսական չափման որոնման դաշտի ստեղծում
Հրապարակվել է՝ 16 փետրվարի, 2025 թ., 11:36:31 UTC
Այս հոդվածը բացատրում է, թե ինչպես ստեղծել որոնման դաշտ ֆինանսական հարթության համար Dynamics 365 for Operations-ում, ներառյալ X++ կոդի օրինակ:
Creating a Lookup Field for a Financial Dimension in Dynamics 365
Այս գրառման տեղեկատվությունը հիմնված է Dynamics 365 for Operations-ի վրա, սակայն դրա մեծ մասը կաշխատի նաև Dynamics AX 2012-ի համար (տես ստորև):
Վերջերս ինձ հանձնարարվեց ստեղծել նոր դաշտ, որտեղ հնարավոր կլինի նշել մեկ ֆինանսական հարթություն, այս դեպքում՝ Ապրանք: Իհարկե, նոր դաշտը պետք է նաև կարողանա փնտրել այս չափման վավեր արժեքները:
Սա մի փոքր ավելի բարդ է, քան սովորական որոնումը աղյուսակում, բայց եթե գիտեք, թե ինչպես, դա իրականում այնքան էլ վատ չէ:
Բարեբախտաբար, ստանդարտ հավելվածը տրամադրում է հարմար որոնման ձև (DimensionLookup), որը կարող է օգտագործվել այդ նպատակով, եթե պարզապես ասեք, թե որ չափման հատկանիշը փնտրել:
Նախ, դուք պետք է ստեղծեք ձևի դաշտը: Սա կարող է հիմնված լինել աղյուսակի դաշտի կամ խմբագրման մեթոդի վրա, նշանակություն չունի փնտրման համար, բայց այս կամ այն կերպ այն պետք է օգտագործի DimensionValue ընդլայնված տվյալների տեսակը:
Այնուհետև դուք պետք է ստեղծեք OnLookup իրադարձությունների մշակող դաշտի համար: Իրադարձությունների մշակիչ ստեղծելու համար դաշտի համար սեղմեք OnLookup իրադարձությունը, այնուհետև ընտրեք «Պատճենել իրադարձությունների մշակման մեթոդը»: Այնուհետև կարող եք տեղադրել իրադարձությունների մշակման դատարկ մեթոդ դասի մեջ և խմբագրել այն այնտեղից:
Ծանուցում. Դրա մեծ մասը կաշխատի նաև Dynamics AX 2012-ի համար, սակայն իրադարձությունների մշակիչ ստեղծելու փոխարեն կարող եք անտեսել ձևի դաշտի որոնման մեթոդը:
Միջոցառումների մշակիչը պետք է այսպիսի տեսք ունենա (անհրաժեշտության դեպքում փոխարինեք ձևի անվանումը և դաշտի անվանումը).
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);
}