Die verskil tussen data () en buf2Buf () in Dynamics AX 2012
Gepubliseer: 15 Februarie 2025 om 22:54:36 UTC
Laas opgedateer: 12 Januarie 2026 om 08:41:22 UTC
Hierdie artikel verduidelik die verskille tussen die buf2Buf() en data() metodes in Dynamics AX 2012, insluitend wanneer dit gepas is om elkeen en 'n X++ kodevoorbeeld te gebruik.
The Difference Between data() and buf2Buf() in Dynamics AX 2012
Die inligting in hierdie plasing is gebaseer op Dynamics AX 2012 R3. Dit mag dalk geldig wees vir ander weergawes, maar ook nie.
Wanneer jy die waarde van alle velde van een tabelbuffer na 'n ander in Dynamics AX moet kopieer, sou jy tradisioneel iets soos die volgende doen:
Dit werk goed en in die meeste gevalle is dit die pad om te volg.
Jy het egter ook die opsie om die buf2Buf-funksie te gebruik:
Dit werk ook goed. So wat is die verskil?
Die verskil is dat buf2Buf nie stelselvelde kopieer nie. Stelselvelde sluit velde soos RecId, TableId, en miskien die belangrikste in hierdie konteks, DataAreaId in. Die rede waarom laasgenoemde die belangrikste is, is dat die mees tipiese geval waar jy buf2Buf() in plaas van data() sou gebruik, is wanneer rekords tussen maatskappyrekeninge gedupliseer word, tipies deur die changeCompany-sleutelwoord te gebruik.
Byvoorbeeld, as jy in die "dat"-maatskappy is en 'n ander maatskappy genaamd "com" het waarvandaan jy alle rekords in CustTable wil kopieer:
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
In hierdie geval sal dit werk omdat buf2Buf alle veldwaardes, behalwe stelselvelde, na die nuwe buffer kopieer. As jy data() eerder gebruik het, sou die nuwe rekord in die "com" maatskappyrekeninge ingevoeg gewees het, want daardie waarde sou ook na die nuwe buffer gekopieer gewees het.
(Eintlik sou dit 'n duplikaatsleutelfout tot gevolg gehad het, maar dis ook nie wat jy wil hê nie).
Verdere Leeswerk
As jy hierdie plasing geniet het, sal jy dalk ook van hierdie voorstelle hou:
- Bel AIF-dokumentdienste direk vanaf X ++ in Dynamics AX 2012
- Identifisering van dokumentklas en navraag vir AIF-diens in Dynamics AX 2012
- Skakel 'n reële na string met alle desimale in Dynamics AX 2012
