Bedane antarane data() lan buf2Buf() ing Dynamics AX 2012
Diterbitake: 15 Februari 2025 ing 22:54:31 UTC
Artikel iki nerangake beda antarane buf2Buf () lan data () cara ing Dynamics AX 2012, kalebu nalika iku cocok kanggo nggunakake saben lan X ++ conto kode.
The Difference Between data() and buf2Buf() in Dynamics AX 2012
Informasi ing kirim iki adhedhasar Dynamics AX 2012 R3. Bisa uga ora bener kanggo versi liyane.
Yen sampeyan kudu nyalin nilai kabeh kolom saka siji buffer tabel menyang liyane ing Dynamics AX, sampeyan bakal nindakake kaya:
Iki bisa dianggo kanthi apik lan ing pirang-pirang kasus yaiku cara sing kudu ditindakake.
Nanging, sampeyan uga duwe pilihan kanggo nggunakake fungsi buf2Buf tinimbang:
Iki uga dianggo uga. Dadi apa bedane?
Bedane yaiku buf2Buf ora nyalin kolom sistem. Kolom sistem kalebu kolom kayata RecId, TableId, lan sing paling penting ing konteks iki, DataAreaId. Alesan sing paling penting yaiku kasus sing paling umum ing ngendi sampeyan nggunakake buf2Buf () tinimbang data () yaiku nalika duplikat cathetan antarane akun perusahaan, biasane nggunakake tembung kunci changeCompany.
Contone, yen sampeyan ana ing perusahaan "dat" lan duwe perusahaan liyane sing diarani "com" sing pengin disalin kabeh cathetan ing CustTable saka:
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
Ing kasus iki, bakal bisa amarga buf2Buf nyalin kabeh nilai lapangan, kajaba kolom sistem menyang buffer anyar. Yen sampeyan nggunakake data () tinimbang, rekaman anyar bakal dilebokake ing akun perusahaan "com" amarga nilai kasebut uga bakal disalin menyang buffer anyar.
(Sejatine, iki bakal nyebabake kesalahan kunci duplikat, nanging dudu sing dikarepake).