Разликата помеѓу податоците () и buf2Buf () во Dynamics AX 2012
Објавено: 5 март 2025, во 19:54:54 UTC
Последно ажурирано: 12 јануари 2026, во 08:41:30 UTC
Оваа статија ги објаснува разликите помеѓу методите buf2Buf() и data() во Dynamics AX 2012, вклучително и кога е соодветно да се користи секој од нив и пример за X++ код.
The Difference Between data() and buf2Buf() in Dynamics AX 2012
Информациите во овој пост се базираат на Dynamics AX 2012 R3. Можеби ќе важат, но и нема да важат за други верзии.
Кога треба да ја копирате вредноста на сите полиња од еден табелски бафер во друг во Dynamics AX, традиционално би направиле нешто како:
Ова функционира добро и во повеќето случаи е вистинскиот пат.
Сепак, исто така имате можност да ја користите функцијата buf2Buf наместо тоа:
И ова функционира добро. Па, која е разликата?
Разликата е во тоа што buf2Buf не ги копира системските полиња. Системските полиња вклучуваат полиња како што се RecId, TableId и можеби најважно во овој контекст, DataAreaId. Причината зошто второто е најважно е тоа што најтипичниот случај каде што би користеле buf2Buf() наместо data() е кога се дуплираат записи помеѓу сметки на компанијата, обично со употреба на клучниот збор changeCompany.
На пример, ако сте во компанијата „dat“ и имате друга компанија наречена „com“ од која сакате да ги копирате сите записи во CustTable:
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
Во овој случај, ќе функционира бидејќи buf2Buf ги копира сите вредности на полињата, освен системските полиња, во новиот бафер. Доколку наместо тоа сте користеле data(), новиот запис ќе бил вметнат во сметките на компанијата „com“ бидејќи таа вредност ќе била копирана и во новиот бафер.
(Всушност, тоа ќе резултираше со грешка во дупликатниот клуч, но ни тоа не е она што го сакате).
Дополнително читање
Ако ви се допадна овој пост, можеби ќе ви се допаднат и овие предлози:
- Идентификување класа на документи и барање за услуга AIF во Dynamics AX 2012
- Претворете реално во стринг со сите децимали во Dynamics AX 2012
- Брз преглед на Dynamics AX 2012 SysOperation Framework
