საძიებო ველის შექმნა ფინანსური განზომილებისთვის Dynamics 365-ში
გამოქვეყნებულია: 16 თებერვალი, 2025, 11:37:49 UTC
ეს სტატია განმარტავს, თუ როგორ უნდა შექმნათ საძიებო ველი ფინანსური განზომილებისთვის Dynamics 365 ოპერაციებისთვის, X++ კოდის მაგალითის ჩათვლით.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
ინფორმაცია ამ პოსტში დაფუძნებულია Dynamics 365 for Operations-ზე, მაგრამ მისი უმეტესობა ასევე იმუშავებს Dynamics AX 2012-ზე (იხილეთ ქვემოთ).
მე ახლახან დამევალა შემექმნა ახალი სფერო, რომელშიც შესაძლებელი იქნებოდა ერთი ფინანსური განზომილების, ამ შემთხვევაში პროდუქტის დაზუსტება. რა თქმა უნდა, ახალ ველს ასევე უნდა შეეძლოს ამ განზომილების სწორი მნიშვნელობების მოძიება.
ეს ცოტა უფრო რთულია, ვიდრე ჩვეულებრივი მოძიება ცხრილში, მაგრამ თუ იცით როგორ, სინამდვილეში არც ისე ცუდია.
საბედნიეროდ, სტანდარტული აპლიკაცია უზრუნველყოფს მოსახერხებელ საძიებო ფორმას (DimensionLookup), რომელიც შეიძლება გამოყენებულ იქნას ამ მიზნისთვის, თუ უბრალოდ გეტყვით, რომელი განზომილების ატრიბუტი მოიძიოს.
პირველ რიგში, თქვენ თავად უნდა შექმნათ ფორმის ველი. ეს შეიძლება ეფუძნებოდეს ცხრილის ველს ან რედაქტირების მეთოდს, არ აქვს მნიშვნელობა თავად ძიებას, მაგრამ ამა თუ იმ გზით უნდა გამოიყენოს DimensionValue გაფართოებული მონაცემთა ტიპი.
შემდეგ თქვენ უნდა შექმნათ OnLookup მოვლენის დამმუშავებელი ველისთვის. მოვლენის დამმუშავებლის შესაქმნელად, დააწკაპუნეთ ველზე OnLookup მოვლენაზე, შემდეგ აირჩიეთ „Copy event handler method“. შემდეგ შეგიძლიათ ჩასვათ მოვლენების შემმუშავებლის ცარიელი მეთოდი კლასში და დაარედაქტიროთ იგი იქიდან.
შენიშვნა: უმეტესობა იმუშავებს 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);
}