დაამატეთ ჩვენების ან რედაქტირების მეთოდი გაფართოების საშუალებით Dynamics 365-ში
გამოქვეყნებულია: 16 თებერვალი, 2025, 11:58:45 UTC
ამ სტატიაში მე განვმარტავ, თუ როგორ გამოვიყენოთ კლასის გაფართოება, რათა დაამატოთ ჩვენების მეთოდი მაგიდაზე და ფორმა Dynamics 365-ში ოპერაციებისთვის, 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-ის ადრინდელ ვერსიებში - "this" მიუთითებს ცხრილზე, ასე რომ თქვენ შეგიძლიათ წვდომა ველებსა და სხვა მეთოდებზე.
მაგალითად, კლასი მარტივი (და სრულიად უსარგებლო) ჩვენების მეთოდით, რომელიც უბრალოდ აბრუნებს მომხმარებლის ანგარიშის ნომერს, შეიძლება ასე გამოიყურებოდეს:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
ახლა, ფორმაში ჩვენების მეთოდის დასამატებლად (ან ფორმის გაფართოება, თუ არ შეგიძლიათ ფორმის პირდაპირ რედაქტირება), თქვენ უნდა დაამატოთ ველი ფორმას ხელით და დარწმუნდით, რომ გამოიყენოთ სწორი ტიპი (სტრიქონი ამ მაგალითში).
შემდეგ საკონტროლოზე დააყენებდით DataSource-ს CustTable-ზე (ან როგორიც არ უნდა იყოს თქვენი CustTable მონაცემთა წყაროს სახელი) და DataMethod-ზე MyCustTable_Extension.displayAccountNum-ზე (დარწმუნდით, რომ შეიტანეთ კლასის სახელი, წინააღმდეგ შემთხვევაში შემდგენელი ვერ პოულობს მეთოდს).
და დაასრულე :-)
განახლება: აღარ არის საჭირო გაფართოების კლასის სახელის დამატება ფორმაში ჩვენების მეთოდის დამატებისას, მაგრამ გამოქვეყნების თავდაპირველ დროს ასე იყო. მე ვტოვებ ინფორმაციას აქ იმ შემთხვევაში, თუ ზოგიერთი მკითხველი კვლავ იყენებს ძველ ვერსიებს.