Perbedaan Antara data() dan buf2Buf() di Dynamics AX 2012
Diterbitkan: 15 Februari 2025 pukul 22.53.46 UTC
Terakhir diperbarui: 12 Januari 2026 pukul 08.41.02 UTC
Artikel ini menjelaskan perbedaan antara metode buf2Buf() dan data() di Dynamics AX 2012, termasuk kapan waktu yang tepat untuk menggunakan masing-masing metode dan contoh kode X++.
The Difference Between data() and buf2Buf() in Dynamics AX 2012
Informasi dalam posting ini didasarkan pada Dynamics AX 2012 R3. Informasi ini mungkin berlaku atau mungkin tidak berlaku untuk versi lain.
Saat Anda perlu menyalin nilai semua kolom dari satu buffer tabel ke buffer tabel lain di Dynamics AX, Anda biasanya akan melakukan hal berikut:
Ini berfungsi dengan baik dan dalam kebanyakan kasus merupakan cara yang tepat.
Namun, Anda juga memiliki opsi untuk menggunakan fungsi buf2Buf sebagai gantinya:
Ini juga berfungsi dengan baik. Jadi apa bedanya?
Perbedaannya adalah buf2Buf tidak menyalin field sistem. Field sistem meliputi field seperti RecId, TableId, dan mungkin yang paling penting dalam konteks ini, DataAreaId. Alasan mengapa yang terakhir adalah yang paling penting adalah karena kasus paling umum di mana Anda akan menggunakan buf2Buf() alih-alih data() adalah ketika menduplikasi record antar akun perusahaan, biasanya dengan menggunakan kata kunci changeCompany.
Sebagai contoh, jika Anda berada di perusahaan "dat" dan memiliki perusahaan lain bernama "com" yang ingin Anda salin semua catatannya di CustTable:
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
Dalam hal ini, akan berhasil karena buf2Buf menyalin semua nilai field, kecuali field sistem, ke buffer baru. Seandainya Anda menggunakan data() sebagai gantinya, record baru akan dimasukkan ke dalam akun perusahaan "com" karena nilai tersebut juga akan disalin ke buffer baru.
(Sebenarnya, ini akan mengakibatkan kesalahan kunci duplikat, tetapi bukan itu yang Anda inginkan juga).
Bacaan Lebih Lanjut
Jika Anda menikmati postingan ini, Anda mungkin juga menyukai saran berikut:
- Menggunakan Kerangka Kerja SysExtension untuk Menemukan Subkelas Mana yang Akan Dibuat Instansi di Dynamics AX 2012
- Ringkasan Cepat Kerangka Kerja SysOperation Dynamics AX 2012
- Mengonversi Bilangan Riil ke String dengan Semua Desimal di Dynamics AX 2012
