Miklix

Pievienojiet parādīšanas vai rediģēšanas metodi, izmantojot paplašinājumu programmā Dynamics 365

Publicēts: 2025. gada 16. februāris 11:55:45 UTC
Pēdējo reizi atjaunināts: 2026. gada 12. janvāris 08:57:23 UTC

Šajā rakstā es paskaidroju, kā izmantot klases paplašinājumu, lai pievienotu attēlošanas metodi tabulai un veidlapai pakalpojumā Dynamics 365 for Operations, iekļaujot X++ koda piemērus.


Šī lapa tika mašīntulkota no angļu valodas, lai padarītu to pieejamu pēc iespējas vairāk cilvēkiem. Diemžēl mašīntulkošana vēl nav pilnīga tehnoloģija, tāpēc tajā var rasties kļūdas. Ja vēlaties, oriģinālo versiju angļu valodā varat apskatīt šeit:

Add Display or Edit Method via Extension in Dynamics 365

Lai gan plānošana izmantot attēlošanas vai rediģēšanas metodes pakalpojumā Dynamics parasti liek apsvērt iespēju izstrādāt risinājumu citādi, dažkārt tās ir labākais risinājums.

Iepriekšējās Dynamics un Axapta versijās bija ļoti viegli izveidot attēlošanas vai rediģēšanas metodes tabulās un formās, taču, kad nesen man gadījās izveidot savu pirmo rediģēšanas metodi Dynamics 365, es atklāju, ka procedūra tam ir nedaudz atšķirīga.

Acīmredzot pastāv vairākas derīgas pieejas, taču manuprāt, vislabākā (gan intuitīvitātes, gan koda skaistuma ziņā) ir klases paplašinājuma izmantošana. Jā, klases paplašinājumus var izmantot, lai pievienotu metodes citiem elementu tipiem, nevis klasēm — šajā gadījumā tabulai, taču tas darbojas arī formām.

Vispirms izveidojiet jaunu klasi. Varat to nosaukt, kā vien vēlaties, taču kaut kādu iemeslu dēļ tai jāpievieno sufikss "_Extension". Pieņemsim, ka jums ir jāpievieno attēlošanas metode CustTable, piemēram, varat to nosaukt par MyCustTable_Extension.

Klasei jābūt papildinātai ar ExtensionOf, lai sistēma zinātu, ko jūs paplašināt, šādi:

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

Tagad jūs varat vienkārši ieviest savu attēlošanas metodi šajā klasē, tāpat kā jūs to būtu darījis tieši tabulā iepriekšējās Dynamics versijās — "tas" pat atsaucas uz tabulu, lai jūs varētu piekļūt laukiem un citām metodēm.

Piemēram, klase ar vienkāršu (un pilnīgi bezjēdzīgu) attēlošanas metodi, kas atgriež tikai klienta konta numuru, varētu izskatīties šādi:

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

        return this.AccountNum;
    }
}

Tagad, lai veidlapai (vai veidlapas paplašinājumam, ja veidlapu nevar rediģēt tieši) pievienotu attēlošanas metodi, jums manuāli jāpievieno lauks veidlapai un jāpārliecinās, ka izmantojat pareizo tipu (šajā piemērā — virkni).

Pēc tam vadīklā iestatiet DataSource vērtību CustTable (vai jebkuru citu jūsu CustTable datu avota nosaukumu) un DataMethod vērtību MyCustTable_Extension.displayAccountNum (noteikti norādiet klases nosaukumu, pretējā gadījumā kompilators nevarēs atrast metodi).

Un esat pabeidzis :-)

Atjauninājums: Pievienojot veidlapai attēlošanas metodi, vairs nav nepieciešams iekļaut paplašinājuma klases nosaukumu, bet sākotnējās publicēšanas laikā tas bija nepieciešams. Es atstāju informāciju šeit, ja daži lasītāji joprojām izmanto vecākas versijas.

Papildu lasāmviela

Ja jums patika šī ziņa, jums varētu patikt arī šie ieteikumi:


Kopīgojiet pakalpojumā BlueskyKopīgot FacebookKopīgojiet vietnē LinkedInKopīgojiet vietnē TumblrKopīgot vietnē XKopīgojiet vietnē LinkedInPiespraust vietnē Pinterest

Mikkel Christensen

Par autoru

Mikkel Christensen
Mikels ir miklix.com radītājs un īpašnieks. Viņam ir vairāk nekā 20 gadu pieredze kā profesionālam programmētājam/programmatūras izstrādātājam, un pašlaik viņš strādā pilna laika darbu lielā Eiropas IT korporācijā. Kad viņš neraksta blogus, viņš pavada brīvo laiku, pievēršoties dažādām interesēm, hobijiem un aktivitātēm, kas zināmā mērā var atspoguļoties šajā tīmekļa vietnē aplūkoto tēmu daudzveidībā.