Miklix

Dynamics 365-də Artırma vasitəsilə Ekran və ya Redaktə Metodunu əlavə edin

Nəşr olundu: 16 fevral 2025 at 11:59:57 UTC

Bu yazıda mən Dynamics 365 for Operations-da cədvələ və formaya ekran metodu əlavə etmək üçün sinif genişləndirilməsindən necə istifadə olunacağını izah edirəm, X++ kod nümunələri daxildir.


Bu səhifə mümkün qədər çox insan üçün əlçatan olması üçün ingilis dilindən maşın tərcümə edilib. Təəssüf ki, maşın tərcüməsi hələ mükəmməl texnologiya deyil, ona görə də səhvlər baş verə bilər. İstəyirsinizsə, orijinal ingilis versiyasına buradan baxa bilərsiniz:

Add Display or Edit Method via Extension in Dynamics 365

Dynamics-də göstərmə və ya redaktə üsullarından istifadə etməyi planlaşdırarkən, ümumiyyətlə, həllinizi fərqli şəkildə dizayn edə bildiyinizi düşünməyə vadar edən bir şey olsa da, bəzən onlar getmək üçün ən yaxşı yoldur.

Dynamics və Axapta-nın əvvəlki versiyalarında cədvəllər və formalarda göstərmək və ya redaktə üsullarını yaratmaq çox asan idi, lakin bu yaxınlarda təsadüfən Dynamics 365-də ilk redaktə metodumu etməli olanda bunun prosedurunun bir qədər fərqli olduğunu kəşf etdim.

Aydındır ki, bir neçə etibarlı yanaşma var, lakin mənim ən yaxşı hesab etdiyim (həm intuitivlik, həm də kodun gözəlliyi baxımından) sinif genişləndirməsindən istifadə etməkdir. Bəli, siz siniflərdən başqa element növlərinə metodlar əlavə etmək üçün sinif genişləndirmələrindən istifadə edə bilərsiniz - bu halda cədvəldir, lakin o, formalar üçün də işləyir.

Əvvəlcə yeni bir sinif yaradın. İstədiyiniz hər hansı bir ad verə bilərsiniz, lakin nədənsə "_Extension" şəkilçisi olmalıdır . Deyək ki, siz CustTable-a göstərmə metodu əlavə etməlisiniz, məsələn, onu MyCustTable_Extension adlandıra bilərsiniz.

Sistemə nə uzatdığınızı bildirmək üçün sinif ExtensionOf ilə bəzədilməlidir, məsələn:

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

İndi siz sadəcə olaraq bu sinifdə göstərmə metodunuzu tətbiq edə bilərsiniz, məsələn, Dynamics-in əvvəlki versiyalarında birbaşa cədvəldə etdiyiniz kimi - "bu" hətta cədvələ istinad edir, beləliklə siz sahələrə və digər üsullara daxil ola bilərsiniz.

Məsələn, sadəcə müştərinin hesab nömrəsini qaytaran sadə (və tamamilə yararsız) ekran metodu olan bir sinif belə görünə bilər:

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

        return this.AccountNum;
    }
}

İndi formaya göstərmə metodunu əlavə etmək üçün (və ya formanı birbaşa redaktə edə bilmirsinizsə, forma uzantısı) formaya əl ilə sahə əlavə etməli və düzgün tipdən istifadə etdiyinizə əmin olmalısınız (bu nümunədə sətir).

Sonra nəzarətdə DataSource-u CustTable-a (və ya CustTable məlumat mənbəyinizin adı nə olursa olsun) və DataMethod-u MyCustTable_Extension.displayAccountNum-a təyin edərdiniz (sinif adını daxil etməyinizə əmin olun, əks halda tərtibçi metodu tapa bilməz).

Və bitdin :-)

Yeniləmə: Formaya göstərmə metodunu əlavə edərkən genişləndirmə sinfinin adını daxil etmək artıq lazım deyil, lakin ilkin nəşr zamanı belə idi. Bəzi oxucular hələ də köhnə versiyalardan istifadə edərsə, məlumatı bura buraxıram.

Bluesky-də paylaşınFacebookda paylaşLinkedIn-də paylaşınTumblr-da paylaşınX-də paylaşınLinkedIn-də paylaşınPinterest-də Pin

Mikkel Bang Christensen

Müəllif haqqında

Mikkel Bang Christensen
Mikkel miklix.com saytının yaradıcısı və sahibidir. O, peşəkar kompüter proqramçısı/proqram təminatı tərtibatçısı kimi 20 ildən artıq təcrübəyə malikdir və hazırda böyük Avropa İT korporasiyasında tam iş günü işləyir. Bloq yazmayanda o, boş vaxtını geniş çeşidli maraqlara, hobbilərə və fəaliyyətlərə sərf edir ki, bu da müəyyən dərəcədə bu veb-saytda əhatə olunan müxtəlif mövzularda əks oluna bilər.