Pridėkite rodymo arba redagavimo metodą naudodami plėtinį sistemoje „Dynamics 365“.
Paskelbta: 2025 m. vasario 16 d. 11:55:43 UTC
Šiame straipsnyje paaiškinu, kaip naudoti klasės plėtinį, norint pridėti rodymo metodą prie lentelės ir formos sistemoje „Dynamics 365 for Operations“, įskaitant X++ kodo pavyzdžius.
Add Display or Edit Method via Extension in Dynamics 365
Nors planuojate naudoti rodymo ar redagavimo metodus sistemoje „Dynamics“, paprastai turėtumėte apsvarstyti, ar galbūt galėtumėte sukurti savo sprendimą kitaip, kartais jie yra geriausias būdas.
Ankstesnėse „Dynamics“ ir „Axapta“ versijose buvo labai lengva sukurti rodymo ar redagavimo metodus lentelėse ir formose, tačiau kai neseniai teko atlikti pirmąjį redagavimo metodą „Dynamics 365“, pastebėjau, kad to atlikimo procedūra yra šiek tiek kitokia.
Akivaizdu, kad yra keletas pagrįstų metodų, bet man geriausias (tiek intuityvumo, tiek kodo gražumo požiūriu) yra naudoti klasės plėtinį. Taip, galite naudoti klasių plėtinius, kad pridėtumėte metodus prie kitų elementų tipų, o ne į klases – šiuo atveju lentelę, bet tai tinka ir formoms.
Pirmiausia sukurkite naują klasę. Galite pavadinti jį kaip tik norite, bet dėl kokių nors priežasčių jis turi būti su prierašu "_Plėtinys". Tarkime, kad prie CustTable reikia pridėti rodymo metodą, pavyzdžiui, galite pavadinti jį MyCustTable_Extension.
Klasė turi būti papuošta ExtensionOf, kad sistema žinotų, ką pratęsiate, pavyzdžiui:
public final class MyCustTable_Extension
{
}
Dabar galite tiesiog įdiegti savo rodymo metodą šioje klasėje, kaip tai darytumėte tiesiai ant lentelės ankstesnėse Dynamics versijose – „tai“ netgi nurodo lentelę, todėl galite pasiekti laukus ir kitus metodus.
Pavyzdžiui, klasė su paprastu (ir visiškai nenaudingu) rodymo metodu, kuris tiesiog grąžina kliento sąskaitos numerį, gali atrodyti taip:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Dabar, norėdami pridėti rodymo metodą prie formos (arba formos plėtinio, jei negalite tiesiogiai redaguoti formos), turite rankiniu būdu pridėti lauką prie formos ir įsitikinti, kad naudojate tinkamą tipą (eilutė šiame pavyzdyje).
Tada valdiklyje nustatykite „DataSource“ į „CustTable“ (arba bet kokį „CustTable“ duomenų šaltinio pavadinimą), o „DataMethod“ – į MyCustTable_Extension.displayAccountNum (įsitikinkite, kad įtraukite klasės pavadinimą, kitaip kompiliatorius negalės rasti metodo).
Ir baigei :-)
Atnaujinimas: Nebereikia įtraukti plėtinio klasės pavadinimo į formą įtraukiant rodymo metodą, tačiau pradiniu paskelbimo metu jis buvo. Palieku informaciją čia, jei kai kurie skaitytojai vis dar naudoja senesnes versijas.