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

Šajā rakstā es paskaidroju, kā izmantot klases paplašinājumu, lai pievienotu parādīšanas metodi tabulai un veidlapai programmā Dynamics 365 for Operations, tostarp X++ kodu piemēri.


Šī 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ānojat izmantot attēlošanas vai rediģēšanas metodes programmā Dynamics, parasti vajadzētu apsvērt, vai risinājumu varētu izstrādāt citādi, dažkārt tās ir labākais veids, kā rīkoties.

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

Acīmredzot ir vairākas derīgas pieejas, bet man šķiet vislabākā (gan intuitivitātes, gan koda skaistuma ziņā) ir izmantot klases paplašinājumu. Jā, jūs varat izmantot klases paplašinājumus, lai pievienotu metodes citiem elementu veidiem, 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, bet nez kāpēc tam ir jābūt piedēklim "_Extension". Pieņemsim, ka jums ir jāpievieno displeja metode CustTable, piemēram, varat nosaukt to MyCustTable_Extension.

Klasei jābūt izrotātai ar paplašinājumu ExtensionOf, lai sistēma zinātu, ko pagarinat, piemēram:

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

Tagad šajā klasē varat vienkārši ieviest displeja metodi, kā jūs to darītu tieši uz tabulas iepriekšējās Dynamics versijās — "šī" 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 tikai atgriež 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 pievienotu veidlapai attēlošanas metodi (vai veidlapas paplašinājumu, ja veidlapu nevar rediģēt tieši), veidlapai ir manuāli jāpievieno lauks un noteikti jāizmanto pareizais veids (virkne šajā piemērā).

Pēc tam vadīklā iestatiet DataSource uz CustTable (vai neatkarīgi no jūsu CustTable datu avota nosaukuma) un DataMethod uz MyCustTable_Extension.displayAccountNum (noteikti iekļaujiet klases nosaukumu, pretējā gadījumā kompilators nevar atrast metodi).

Un esat pabeidzis :-)

Atjauninājums: pievienojot veidlapai parādīšanas metodi, vairs nav jāiekļauj paplašinājuma klases nosaukums, taču sākotnējā publicēšanas laikā tas bija. Atstāju šeit informāciju, ja daži lasītāji joprojām izmanto vecākas versijas.

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

Mikkel Bang Christensen

Par autoru

Mikkel Bang 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ā.