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.
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:
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:
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.