Tofauti kati ya data() na buf2Buf() katika Dynamics AX 2012
Iliyochapishwa: 15 Februari 2025, 22:54:20 UTC
Mara ya mwisho kusasishwa: 12 Januari 2026, 08:41:17 UTC
Makala haya yanaelezea tofauti kati ya mbinu za buf2Buf() na data() katika Dynamics AX 2012, ikiwa ni pamoja na wakati unaofaa kutumia kila moja na mfano wa msimbo wa X++.
The Difference Between data() and buf2Buf() in Dynamics AX 2012
Taarifa katika chapisho hili inategemea Dynamics AX 2012 R3. Huenda ikawa halali au isiwe halali kwa matoleo mengine.
Unapohitaji kunakili thamani ya sehemu zote kutoka kwa bafa moja ya jedwali hadi nyingine katika Dynamics AX, kwa kawaida ungefanya kitu kama:
Hii inafanya kazi vizuri na katika hali nyingi ndiyo njia ya kufuata.
Hata hivyo, pia una chaguo la kutumia kitendakazi cha buf2Buf badala yake:
Hii pia inafanya kazi vizuri. Kwa hivyo tofauti ni nini?
Tofauti ni kwamba buf2Buf hainakili sehemu za mfumo. Sehemu za mfumo zinajumuisha sehemu kama vile RecId, TableId, na labda muhimu zaidi katika muktadha huu, DataAreaId. Sababu ya mwisho ni muhimu zaidi ni kwamba hali ya kawaida ambapo ungetumia buf2Buf() badala ya data() ni wakati wa kunakili rekodi kati ya akaunti za kampuni, kwa kawaida kwa kutumia neno muhimu la changeCompany.
Kwa mfano, ikiwa uko katika kampuni ya "dat" na una kampuni nyingine inayoitwa "com" ambayo ungependa kunakili rekodi zote katika CustTable kutoka:
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
Katika hali hii, itafanya kazi kwa sababu buf2Buf hunakili thamani zote za sehemu, isipokuwa sehemu za mfumo kwenye bafa mpya. Kama ungetumia data() badala yake, rekodi mpya ingekuwa imeingizwa kwenye akaunti za kampuni ya "com" kwa sababu thamani hiyo ingekuwa imenakiliwa kwenye bafa mpya pia.
(Kwa kweli, ingesababisha hitilafu ya ufunguo unaorudiwa, lakini hiyo sio unayotaka pia).
Kusoma Zaidi
Ikiwa ulifurahia chapisho hili, unaweza pia kupenda mapendekezo haya:
- Uumbizaji wa Kamba na Macro na strFmt katika Dynamics AX 2012
- Kutumia Hoja katika Darasa la Mkataba wa Data ya SysOperation katika Dynamics AX 2012
- Kutumia Mfumo wa SysExtension ili kujua ni darasa gani ndogo la instantiate katika Dynamics AX 2012
