Dynamics AX 2012 ရှိ data() နှင့် buf2Buf() ကွာခြားချက်
ထုတ်ဝေသည်- ၂၀၂၅၊ ဖေဖော်ဝါရီ ၁၅ UTC ၂၂:၅၇:၃၀
နောက်ဆုံး မွမ်းမံပြင်ဆင်သည်- ၂၀၂၆၊ ဇန်နဝါရီ ၁၂ UTC ၀၈:၄၁:၂၈
ဤဆောင်းပါးသည် Dynamics AX 2012 ရှိ buf2Buf() နှင့် data() နည်းလမ်းများအကြား ကွာခြားချက်များကို ရှင်းပြထားပြီး၊ တစ်ခုချင်းစီနှင့် X++ ကုဒ်ဥပမာကို အသုံးပြုရန် သင့်လျော်သည့်အချိန်ကို ရှင်းပြထားသည်။
The Difference Between data() and buf2Buf() in Dynamics AX 2012
ဤပို့စ်ရှိ အချက်အလက်များသည် Dynamics AX 2012 R3 ကို အခြေခံထားသည်။ အခြားဗားရှင်းများအတွက် မှန်ကန်နိုင်သည် သို့မဟုတ် မမှန်ကန်နိုင်ပါ။
Dynamics AX မှာ table buffer တစ်ခုကနေ နောက်တစ်ခုဆီကို field အားလုံးရဲ့တန်ဖိုးကို ကူးယူဖို့ လိုအပ်တဲ့အခါ၊ ရိုးရာအားဖြင့် ဒီလိုလုပ်ရမှာက -
ဒါက ကောင်းကောင်းအလုပ်လုပ်ပြီး ကိစ္စအများစုမှာ သွားရမယ့်နည်းလမ်းပါ။
သို့သော်၊ buf2Buf function ကို အစားထိုးအသုံးပြုရန်လည်း ရွေးချယ်ခွင့်ရှိပါသည်။
ဒါကလည်း ကောင်းကောင်းအလုပ်လုပ်ပါတယ်။ ဒါဆို ဘာကွာခြားချက်ရှိလဲ။
ကွာခြားချက်ကတော့ buf2Buf ဟာ စနစ်အကွက်တွေကို ကူးယူခြင်းမပြုပါဘူး။ စနစ်အကွက်တွေမှာ RecId၊ TableId နဲ့ ဒီအခြေအနေမှာ အရေးအကြီးဆုံးကတော့ DataAreaId လိုမျိုး အကွက်တွေ ပါဝင်ပါတယ်။ နောက်ဆုံးတစ်ခုကတော့ အရေးကြီးဆုံးအကြောင်းရင်းကတော့ ကုမ္ပဏီအကောင့်တွေကြားမှာ မှတ်တမ်းတွေကို မိတ္တူကူးတဲ့အခါ data() အစား buf2Buf() ကို အသုံးပြုလေ့ရှိတာကြောင့်ပါ။
ဥပမာအားဖြင့်၊ သင်သည် "dat" ကုမ္ပဏီတွင်ရှိပြီး "com" ဟုခေါ်သော အခြားကုမ္ပဏီတစ်ခုရှိပြီး CustTable ရှိ မှတ်တမ်းအားလုံးကို ကူးယူလိုပါက-
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
ဤကိစ္စတွင်၊ buf2Buf သည် system field များမှလွဲ၍ field တန်ဖိုးအားလုံးကို buffer အသစ်သို့ ကူးယူသောကြောင့် ၎င်းသည် အလုပ်လုပ်ပါလိမ့်မည်။ data() ကို အသုံးပြုခဲ့ပါက၊ ထိုတန်ဖိုးကို buffer အသစ်သို့လည်း ကူးယူပြီးသားဖြစ်သောကြောင့် မှတ်တမ်းအသစ်ကို "com" ကုမ္ပဏီအကောင့်များတွင် ထည့်သွင်းပြီးသားဖြစ်လိမ့်မည်။
(တကယ်တော့၊ duplicate key error ဖြစ်သွားနိုင်ပါတယ်၊ ဒါပေမယ့် သင်လိုချင်တာလည်း အဲဒါမဟုတ်ပါဘူး)။
နောက်ထပ်စာဖတ်ခြင်း။
ဤပို့စ်ကို သင်နှစ်သက်ပါက၊ ဤအကြံပြုချက်များကို သင်လည်း နှစ်သက်နိုင်ပါသည်-
- Dynamics AX 2012 တွင် တရားဝင်အဖွဲ့အစည်း (ကုမ္ပဏီအကောင့်များ) ကို ဖျက်ပါ။
- Dynamics AX 2012 တွင် Macro နှင့် strFmt ဖြင့် စာကြောင်းဖော်မတ်ခြင်း။
- Dynamics AX 2012 တွင် ဒဿမများ အားလုံးဖြင့် Real တစ်ခုသို့ လိုင်းတစ်ခုသို့ ပြောင်းပါ။
