Adăugați o metodă de afișare sau de editare prin extensie în Dynamics 365
Publicat: 16 februarie 2025 la 11:56:02 UTC
Ultima actualizare: 12 ianuarie 2026 la 08:57:27 UTC
În acest articol, explic cum se utilizează o extensie de clasă pentru a adăuga o metodă de afișare la un tabel și un formular în Dynamics 365 for Operations, inclusiv exemple de cod X++.
Add Display or Edit Method via Extension in Dynamics 365
Deși planificarea utilizării metodelor de afișare sau editare în Dynamics este un aspect care ar trebui să vă facă, în general, să vă gândiți dacă ați putea proiecta soluția într-un mod diferit, uneori acestea sunt cea mai bună soluție.
În versiunile anterioare de Dynamics și Axapta, era foarte ușor să creezi metode de afișare sau editare în tabele și formulare, dar când recent a trebuit să creez prima mea metodă de editare în Dynamics 365, am descoperit că procedura pentru a face acest lucru este oarecum diferită.
Evident, există mai multe abordări valide, dar cea pe care o consider cea mai bună (atât din punct de vedere al intuitivității, cât și al aspectului frumos al codului) este utilizarea unei extensii de clasă. Da, poți folosi extensii de clasă pentru a adăuga metode și la alte tipuri de elemente decât clasele - în acest caz, un tabel, dar funcționează și pentru formulare.
Mai întâi, creați o clasă nouă. O puteți numi cum doriți, dar dintr-un anumit motiv trebuie să aibă sufixul „_Extension”. Să presupunem că trebuie să adăugați o metodă de afișare la CustTable, ați putea, de exemplu, să o numiți MyCustTable_Extension.
Clasa trebuie decorată cu ExtensionOf pentru a anunța sistemul ce extindeți, astfel:
public final class MyCustTable_Extension
{
}
Acum poți implementa metoda de afișare în această clasă, așa cum ai fi făcut direct în tabel în versiunile anterioare de Dynamics - „this” face referire chiar și la tabel, astfel încât să poți accesa câmpuri și alte metode.
De exemplu, o clasă cu o metodă de afișare simplă (și complet inutilă) care returnează doar numărul de cont al clientului ar putea arăta astfel:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Acum, pentru a adăuga metoda de afișare la un formular (sau la o extensie de formular, dacă nu puteți edita formularul direct), trebuie să adăugați manual un câmp la formular și să vă asigurați că utilizați tipul corect (șir de caractere în acest exemplu).
Apoi, pe control, ați seta DataSource la CustTable (sau oricare ar fi numele sursei de date CustTable) și DataMethod la MyCustTable_Extension.displayAccountNum (asigurați-vă că includeți numele clasei, altfel compilatorul nu poate găsi metoda).
Și ai terminat :-)
Actualizare: Nu mai este necesar să includeți numele clasei de extensie atunci când adăugați metoda de afișare la un formular, dar la momentul publicării inițiale, era necesar. Las informațiile aici în cazul în care unii cititori încă folosesc versiuni mai vechi.
Lectură suplimentară
Dacă ți-a plăcut această postare, s-ar putea să-ți placă și aceste sugestii:
- Crearea unui câmp de căutare pentru o dimensiune financiară în Dynamics 365
- Visual Studio se blochează la pornire în timpul încărcării proiectelor recente
- Actualizați valoarea dimensiunii financiare din codul X++ în Dynamics 365
