Miklix

დაამატეთ ჩვენების ან რედაქტირების მეთოდი გაფართოების საშუალებით 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-ით, რათა სისტემამ იცოდეს, რას აფართოებთ, შემდეგნაირად:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

ახლა თქვენ შეგიძლიათ უბრალოდ განახორციელოთ თქვენი ჩვენების მეთოდი ამ კლასში, როგორც ამას Dynamics-ის ადრინდელ ვერსიებში პირდაპირ ცხრილზე გააკეთებდით - „ეს“ ცხრილზეც კი მიუთითებს, ამიტომ შეგიძლიათ წვდომა გქონდეთ ველებსა და სხვა მეთოდებზე.

მაგალითად, კლასი მარტივი (და სრულიად უსარგებლო) ჩვენების მეთოდით, რომელიც უბრალოდ აბრუნებს მომხმარებლის ანგარიშის ნომერს, შეიძლება ასე გამოიყურებოდეს:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

ახლა, ფორმაში (ან ფორმის გაფართოებაში, თუ ფორმის პირდაპირ რედაქტირება შეუძლებელია) ჩვენების მეთოდის დასამატებლად, საჭიროა ფორმას ხელით დაამატოთ ველი და დარწმუნდეთ, რომ იყენებთ სწორ ტიპს (ამ მაგალითში სტრიქონი).

შემდეგ, კონტროლზე თქვენ დააყენებთ DataSource-ს CustTable-ზე (ან ნებისმიერ სხვა სახელის მქონე CustTable მონაცემთა წყაროს) და DataMethod-ს MyCustTable_Extension.displayAccountNum-ზე (დარწმუნდით, რომ კლასის სახელი შეიტანეთ, წინააღმდეგ შემთხვევაში კომპილატორი ვერ იპოვის მეთოდს).

და დაასრულე :-)

განახლება: ფორმაში display მეთოდის დამატებისას გაფართოების კლასის სახელის ჩართვა აღარ არის საჭირო, თუმცა გამოქვეყნების თავდაპირველი მომენტისთვის ასე იყო. ინფორმაციას აქ ვტოვებ იმ შემთხვევაში, თუ ზოგიერთი მკითხველი ჯერ კიდევ ძველ ვერსიებს იყენებს.

დამატებითი საკითხავი

თუ ეს პოსტი მოგეწონათ, შეიძლება ეს რჩევებიც მოგეწონოთ:


გააზიარე Bluesky-ზეგააზიარეთ Facebook-ზეგააზიარეთ LinkedIn-ზეგააზიარეთ Tumblr-ზეგააზიარეთ X-ზეგააზიარეთ LinkedIn-ზეPinterest-ზე დამაგრება

მიკელ კრისტენსენი

ავტორის შესახებ

მიკელ კრისტენსენი
მაიკლ არის miklix.com-ის შემქმნელი და მფლობელი. მას აქვს 20 წელზე მეტი გამოცდილება, როგორც პროფესიონალი კომპიუტერული პროგრამისტი/პროგრამული უზრუნველყოფის შემქმნელი და ამჟამად მუშაობს სრულ განაკვეთზე დიდ ევროპულ IT კორპორაციაში. როდესაც ბლოგს არ წერს, თავისუფალ დროს ატარებს ინტერესების, ჰობიებისა და აქტივობების უზარმაზარ სპექტრზე, რაც შეიძლება გარკვეულწილად აისახოს ამ ვებსაიტზე გაშუქებულ თემებზე.