დაამატეთ ჩვენების ან რედაქტირების მეთოდი გაფართოების საშუალებით Dynamics 365-ში
გამოქვეყნებულია: 16 თებერვალი, 2025, 11:58:45 UTC
ბოლო განახლება: 12 იანვარი, 2026, 08:57:49 UTC
ამ სტატიაში მე ავხსნი, თუ როგორ გამოვიყენოთ კლასის გაფართოება Dynamics 365 for Operations-ში ცხრილსა და ფორმაში ჩვენების მეთოდის დასამატებლად, X++ კოდის მაგალითების ჩათვლით.
Add Display or Edit Method via Extension in Dynamics 365
მიუხედავად იმისა, რომ Dynamics-ში ჩვენების ან რედაქტირების მეთოდების გამოყენების დაგეგმვა ისეთი რამ არის, რაზეც ზოგადად უნდა იფიქროთ, შეგიძლიათ თუ არა თქვენი გადაწყვეტის სხვაგვარად შექმნათ, ზოგჯერ ეს საუკეთესო გზაა.
Dynamics-ისა და Axapta-ს წინა ვერსიებში ცხრილებსა და ფორმებზე ჩვენების ან რედაქტირების მეთოდების შექმნა ძალიან მარტივი იყო, მაგრამ როდესაც ახლახანს Dynamics 365-ში ჩემი პირველი რედაქტირების მეთოდის შექმნა მომიწია, აღმოვაჩინე, რომ ამის გაკეთების პროცედურა გარკვეულწილად განსხვავებულია.
ცხადია, არსებობს რამდენიმე ვალიდური მიდგომა, მაგრამ ერთ-ერთი, რომელიც მე საუკეთესოდ მიმაჩნია (როგორც ინტუიციის, ასევე კოდის სილამაზით) არის კლასის გაფართოების გამოყენება. დიახ, თქვენ შეგიძლიათ გამოიყენოთ კლასის გაფართოებები მეთოდების დასამატებლად კლასების გარდა სხვა ელემენტების ტიპებისთვის - ამ შემთხვევაში ცხრილისთვის, მაგრამ ის ასევე მუშაობს ფორმებისთვისაც.
პირველ რიგში, შექმენით ახალი კლასი. შეგიძლიათ მას ნებისმიერი სახელი დაარქვათ, მაგრამ რატომღაც მას სუფიქსი „_Extension“ უნდა ჰქონდეს. დავუშვათ, რომ CustTable-ს უნდა დაამატოთ ჩვენების მეთოდი, მაგალითად, შეგიძლიათ მას MyCustTable_Extension დაარქვათ.
კლასი უნდა იყოს გაფორმებული ExtensionOf-ით, რათა სისტემამ იცოდეს, რას აფართოებთ, შემდეგნაირად:
public final class MyCustTable_Extension
{
}
ახლა თქვენ შეგიძლიათ უბრალოდ განახორციელოთ თქვენი ჩვენების მეთოდი ამ კლასში, როგორც ამას Dynamics-ის ადრინდელ ვერსიებში პირდაპირ ცხრილზე გააკეთებდით - „ეს“ ცხრილზეც კი მიუთითებს, ამიტომ შეგიძლიათ წვდომა გქონდეთ ველებსა და სხვა მეთოდებზე.
მაგალითად, კლასი მარტივი (და სრულიად უსარგებლო) ჩვენების მეთოდით, რომელიც უბრალოდ აბრუნებს მომხმარებლის ანგარიშის ნომერს, შეიძლება ასე გამოიყურებოდეს:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
ახლა, ფორმაში (ან ფორმის გაფართოებაში, თუ ფორმის პირდაპირ რედაქტირება შეუძლებელია) ჩვენების მეთოდის დასამატებლად, საჭიროა ფორმას ხელით დაამატოთ ველი და დარწმუნდეთ, რომ იყენებთ სწორ ტიპს (ამ მაგალითში სტრიქონი).
შემდეგ, კონტროლზე თქვენ დააყენებთ DataSource-ს CustTable-ზე (ან ნებისმიერ სხვა სახელის მქონე CustTable მონაცემთა წყაროს) და DataMethod-ს MyCustTable_Extension.displayAccountNum-ზე (დარწმუნდით, რომ კლასის სახელი შეიტანეთ, წინააღმდეგ შემთხვევაში კომპილატორი ვერ იპოვის მეთოდს).
და დაასრულე :-)
განახლება: ფორმაში display მეთოდის დამატებისას გაფართოების კლასის სახელის ჩართვა აღარ არის საჭირო, თუმცა გამოქვეყნების თავდაპირველი მომენტისთვის ასე იყო. ინფორმაციას აქ ვტოვებ იმ შემთხვევაში, თუ ზოგიერთი მკითხველი ჯერ კიდევ ძველ ვერსიებს იყენებს.
დამატებითი საკითხავი
თუ ეს პოსტი მოგეწონათ, შეიძლება ეს რჩევებიც მოგეწონოთ:
- განაახლეთ ფინანსური განზომილების ღირებულება X++ კოდიდან Dynamics 365-ში
- განათავსეთ Dynamics 365 FO Virtual Machine Dev ან ტესტი მოვლის რეჟიმში
- Visual Studio ბოლო პროექტების ჩატვირთვისას გაშვებისას იჭედება
