Miklix

Shtoni metodën e ekranit ose modifikoni përmes Extension në Dynamics 365

Publikuar: 16 shkurt 2025 në 11:56:40 e paradites, UTC
Përditësimi i fundit: 12 janar 2026 në 8:57:43 e paradites, UTC

Në këtë artikull, unë shpjegoj se si të përdorni një zgjerim klase për të shtuar një metodë shfaqjeje në një tabelë dhe një formular në Dynamics 365 for Operations, përfshirë shembuj kodi X++.


Kjo faqe u përkthye me makinë nga anglishtja për ta bërë të aksesueshme për sa më shumë njerëz. Fatkeqësisht, përkthimi me makinë nuk është ende një teknologji e përsosur, kështu që mund të ndodhin gabime. Nëse preferoni, mund ta shikoni versionin origjinal në anglisht këtu:

Add Display or Edit Method via Extension in Dynamics 365

Ndërkohë që planifikimi i përdorimit të metodave të shfaqjes ose redaktimit në Dynamics është diçka që në përgjithësi duhet t'ju bëjë të merrni në konsideratë nëse mund ta dizajnoni zgjidhjen tuaj në një mënyrë tjetër, ndonjëherë ato janë mënyra më e mirë për të vepruar.

Në versionet e mëparshme të Dynamics dhe Axapta, ishte shumë e lehtë të krijoje metoda shfaqjeje ose modifikimi në tabela dhe formularë, por kur kohët e fundit më është dashur të krijoj metodën time të parë të modifikimit në Dynamics 365, zbulova se procedura për ta bërë këtë është disi e ndryshme.

Me sa duket, ka disa qasje të vlefshme, por ajo që unë e gjej më të mirën (si në aspektin e intuitivitetit ashtu edhe të bukurisë së kodit) është përdorimi i një zgjerimi të klasës. Po, ju mund të përdorni zgjerimet e klasës për të shtuar metoda në lloje të tjera elementësh përveç klasave - në këtë rast një tabelë, por funksionon edhe për format.

Së pari, krijoni një klasë të re. Mund ta emërtoni si të dëshironi, por për ndonjë arsye duhet të ketë prapashtesën "_Extension". Le të themi se duhet të shtoni një metodë shfaqjeje në CustTable, për shembull mund ta emërtoni MyCustTable_Extension.

Klasa duhet të dekorohet me ExtensionOf për ta njoftuar sistemin se çfarë po zgjeroni, si më poshtë:

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

Tani mund ta implementoni metodën tuaj të shfaqjes në këtë klasë, siç do ta kishit bërë direkt në tabelë në versionet e mëparshme të Dynamics - "kjo" madje i referohet tabelës, kështu që mund të qaseni në fusha dhe metoda të tjera.

Për shembull, një klasë me një metodë të thjeshtë (dhe krejtësisht të padobishme) shfaqjeje që thjesht kthen numrin e llogarisë së klientit mund të duket kështu:

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

        return this.AccountNum;
    }
}

Tani, për të shtuar metodën e shfaqjes në një formular (ose zgjerimin e formularit, nëse nuk mund ta modifikoni formularin direkt), duhet të shtoni një fushë në formular manualisht dhe të siguroheni që të përdorni llojin e saktë (vargun në këtë shembull).

Pastaj, në kontroll do të vendosnit DataSource në CustTable (ose çfarëdo emri që të jetë burimi juaj i të dhënave CustTable) dhe DataMethod në MyCustTable_Extension.displayAccountNum (sigurohuni që të përfshini emrin e klasës, përndryshe përpiluesi nuk mund ta gjejë metodën).

Dhe mbarove :-)

Përditësim: Nuk është më e nevojshme të përfshihet emri i klasës së zgjerimit kur shtohet metoda e shfaqjes në një formular, por në kohën fillestare të publikimit, ishte. Po e lë informacionin këtu në rast se disa lexues ende përdorin versione më të vjetra.

Lexime të mëtejshme

Nëse ju pëlqeu ky postim, mund t'ju pëlqejnë edhe këto sugjerime:


Shpërndaje në BlueskyShpërndaje në FacebookNdani në LinkedInShpërndaje në TumblrShpërndaje në XNdani në LinkedInPin në Pinterest

Mikkel Christensen

Rreth Autorit

Mikkel Christensen
Mikkel është krijuesi dhe pronari i miklix.com. Ai ka mbi 20 vjet përvojë si programues profesional kompjuteri/zhvillues softuerësh dhe aktualisht është i punësuar me kohë të plotë për një korporatë të madhe evropiane IT. Kur nuk bën blog, ai e kalon kohën e lirë në një gamë të gjerë interesash, hobish dhe aktivitetesh, të cilat mund të reflektohen në një farë mase në shumëllojshmërinë e temave të mbuluara në këtë faqe interneti.