Miklix

Munurinn á gögnum() og buf2Buf() í Dynamics AX 2012

Birt: 19. mars 2025 kl. 21:32:32 UTC

Þessi grein útskýrir muninn á buf2Buf() og data() aðferðunum í Dynamics AX 2012, þar á meðal hvenær það er viðeigandi að nota hverja og X++ kóðadæmi.


Þessi síða var vélþýdd úr ensku til að gera hana aðgengilega sem flestum. Því miður er vélþýðing ekki enn fullkomin tækni, svo villur geta komið upp. Ef þú vilt geturðu skoðað upprunalegu ensku útgáfuna hér:

The Difference Between data() and buf2Buf() in Dynamics AX 2012

Upplýsingarnar í þessari færslu byggja á Dynamics AX 2012 R3. Þær gætu verið gildar fyrir aðrar útgáfur eða ekki.

Þegar þú þarft að afrita gildið af öllum reitum frá einni töflu puffer í annan í Dynamics AX, myndir þú hefðbundið gera eitthvað eins og:

toTable.data(fromTable);

Þetta virkar vel og er í flestum tilfellum leiðin til að fara.

Hins vegar hefur þú líka valkost á að nota buf2Buf aðgerðina í staðinn:

buf2Buf(fromTable, toTable);

Þetta virkar líka vel. Hvað er þá munurinn?

Munurinn er sá að buf2Buf afritar ekki kerfisreiti. Kerfisreitir fela í sér reiti eins og RecId, TableId og kannski mikilvægust, DataAreaId. Ástæðan fyrir því að síðastnefndi reiturinn er sá mikilvægasti er að það er algengast að nota buf2Buf() í stað data() þegar þú ert að tvöfalda færslur milli fyrirtækjakontóa, venjulega með því að nota changeCompany lykilorðið.

Til dæmis, ef þú ert í fyrirtækinu "dat" og hefur annað fyrirtæki sem heitir "com" og þú vilt afrita allar færslur úr CustTable frá:

while select crossCompany : ['com'] custTableFrom
{
    buf2Buf(custTableFrom, custTableTo);
    custTableTo.insert();
}

Í þessu tilfelli mun það virka því buf2Buf afritar öll reitargildi, nema kerfisreiti, í nýja pufferinn. Hefðir þú notað data() í staðinn, hefði nýja færslan verið sett inn í "com" fyrirtækjakontóin vegna þess að það gildi hefði einnig verið afritað í nýja pufferinn.

(Reyndar hefði það leitt til villu með tvöfaldan lykil, en það er ekki það sem þú vilt heldur).

Deildu á BlueskyDeildu á FacebookDeildu á LinkedInDeildu á TumblrDeildu á XDeildu á LinkedInFestu á Pinterest

Mikkel Christensen

Um höfundinn

Mikkel Christensen
Mikkel er skapari og eigandi miklix.com. Hann hefur yfir 20 ára reynslu sem faglegur tölvuforritari/hugbúnaðarhönnuður og er nú í fullu starfi hjá stóru evrópsku upplýsingatæknifyrirtæki. Þegar hann er ekki að blogga eyðir hann frítíma sínum í margs konar áhugamál, áhugamál og athafnir, sem geta að einhverju leyti endurspeglast í margs konar efni sem fjallað er um á þessari vefsíðu.