Miklix

Bæta við skjá eða breytingaaðferð með viðbót í Dynamics 365

Birt: 19. mars 2025 kl. 21:35:49 UTC

Í þessari grein útskýri ég hvernig á að nota bekkjaviðbót til að bæta skjáaðferð við töflu og eyðublað í Dynamics 365 for Operations, X++ kóðadæmi innifalin.


Þessi síða var vélþýdd úr ensku til að gera hana aðgengilega sem flestum. Því miður er vélþýðing ekki enn fullkomin tækni, svo villur geta komið upp. Ef þú vilt geturðu skoðað upprunalegu ensku útgáfuna hér:

Add Display or Edit Method via Extension in Dynamics 365

Þó að það að áætlun um að nota display eða edit aðferðir í Dynamics sé eitthvað sem almennt ætti að gera þig til að íhuga hvort þú gætir hannað lausnina þína á annan hátt, þá eru þær stundum besti kosturinn.

Í fyrri útgáfum af Dynamics og Axapta var mjög auðvelt að búa til display eða edit aðferðir á töflum og formum, en þegar ég nýlega þurfti að búa til mína fyrstu edit aðferð í Dynamics 365, uppgötvaði ég að ferlið við það er nokkuð öðruvísi.

Það eru augljóslega nokkrar gilt nálganir, en sú sem ég finnst best (bæði hvað varðar skiljanleika og kóða snyrtileika) er að nota class extension. Já, þú getur notað class extension til að bæta aðferðum við aðra tegundir af frumefnum en klassa - í þessu tilfelli töflu, en það virkar líka fyrir form.

Fyrst, búa til nýjan klasa. Þú getur kallað hann hvað sem þú vilt, en af einhverjum ástæðum verður hann að enda á "_Extension". Segjum að þú þurfir að bæta display aðferð við CustTable, þú gætir til dæmis kallað hann MyCustTable_Extension.

Klasi verður að vera skreyttur með ExtensionOf til að láta kerfið vita hvað þú ert að útvíkka, eins og svo:

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

Nú geturðu bara útfært display aðferðina í þessum klasa, eins og þú hefðir gert beint á töflunni í fyrri útgáfum af Dynamics - "this" vísar jafnvel á töfluna, svo þú getur aðgang að reitum og öðrum aðferðum.

Til dæmis, klasi með einfaldri (og alveg gagnslausri) display aðferð sem bara skilar reikningsnúmeri viðskiptavinarins getur litið svona út:

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

        return this.AccountNum;
    }
}

Nú, til að bæta display aðferðinni við form (eða form extension, ef þú getur ekki breytt formi beint), þarftu að bæta reit við formið handvirkt og tryggja að þú notir rétta tegund (strengur í þessu dæmi).

Síðan, á stjórntækinu þarftu að stilla DataSource á CustTable (eða hvað sem nafn CustTable gagnaheimildarinnar þinnar er) og DataMethod á MyCustTable_Extension.displayAccountNum (gakktu úr skugga um að bæta við klassanöfninu, annars getur samsetjarinn ekki fundið aðferðina).

Og þú ert búin :-)

Uppfærsla: Það er ekki lengur nauðsynlegt að bæta við extension klasanafninu þegar þú bætir display aðferð við form, en á upphaflegum tíma útgáfu var það nauðsynlegt. Ég skil eftir upplýsingarnar hér ef einhverjir lesendur eru enn að nota eldri útgáfur.

Deildu á BlueskyDeildu á FacebookDeildu á LinkedInDeildu á TumblrDeildu á XDeildu á LinkedInFestu á Pinterest

Mikkel Christensen

Um höfundinn

Mikkel Christensen
Mikkel er skapari og eigandi miklix.com. Hann hefur yfir 20 ára reynslu sem faglegur tölvuforritari/hugbúnaðarhönnuður og er nú í fullu starfi hjá stóru evrópsku upplýsingatæknifyrirtæki. Þegar hann er ekki að blogga eyðir hann frítíma sínum í margs konar áhugamál, áhugamál og athafnir, sem geta að einhverju leyti endurspeglast í margs konar efni sem fjallað er um á þessari vefsíðu.