ڈائنامکس اے ایکس 2012 میں ڈیٹا () اور بی یو ایف 2 بی یو ایف () کے درمیان فرق
شائع شدہ: 15 فروری، 2025 کو 10:54:14 PM UTC
آخری بار اپ ڈیٹ کیا گیا: 12 جنوری، 2026 کو 8:41:14 AM UTC
یہ مضمون Dynamics AX 2012 میں buf2Buf() اور ڈیٹا() طریقوں کے درمیان فرق کی وضاحت کرتا ہے، بشمول ہر ایک اور X++ کوڈ کی مثال کو استعمال کرنا کب مناسب ہے۔
The Difference Between data() and buf2Buf() in Dynamics AX 2012
اس پوسٹ میں معلومات Dynamics AX 2012 R3 پر مبنی ہے۔ یہ دوسرے ورژن کے لیے درست ہو سکتا ہے یا نہیں۔
جب آپ کو Dynamics AX میں تمام فیلڈز کی قدر کو ایک ٹیبل بفر سے دوسرے میں کاپی کرنے کی ضرورت ہوتی ہے، تو آپ روایتی طور پر کچھ ایسا کریں گے:
یہ اچھی طرح سے کام کرتا ہے اور زیادہ تر معاملات میں جانے کا راستہ ہے۔
تاہم، آپ کے پاس اس کے بجائے buf2Buf فنکشن استعمال کرنے کا اختیار بھی ہے:
یہ بھی اچھا کام کرتا ہے۔ تو کیا فرق ہے؟
فرق یہ ہے کہ buf2Buf سسٹم فیلڈز کو کاپی نہیں کرتا ہے۔ سسٹم فیلڈز میں فیلڈز جیسے RecId، TableId، اور شاید اس تناظر میں سب سے اہم DataAreaId شامل ہیں۔ مؤخر الذکر سب سے اہم ہونے کی وجہ یہ ہے کہ سب سے عام معاملہ جہاں آپ ڈیٹا() کے بجائے buf2Buf() استعمال کریں گے وہ ہے جب کمپنی اکاؤنٹس کے درمیان ریکارڈ کی نقل تیار کرتے ہوئے، عام طور پر changeCompany کلیدی لفظ کے استعمال سے۔
مثال کے طور پر، اگر آپ "dat" کمپنی میں ہیں اور آپ کی "com" نامی ایک اور کمپنی ہے جس سے آپ CustTable میں تمام ریکارڈ کاپی کرنا چاہتے ہیں:
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
اس صورت میں، یہ کام کرے گا کیونکہ buf2Buf تمام فیلڈ ویلیوز کو کاپی کرتا ہے، سوائے سسٹم فیلڈز کے نئے بفر میں۔ اگر آپ اس کے بجائے ڈیٹا() استعمال کرتے تو نیا ریکارڈ "com" کمپنی کے کھاتوں میں ڈالا جاتا کیونکہ اس قدر کو نئے بفر میں بھی کاپی کیا جاتا۔
(دراصل، اس کے نتیجے میں ایک ڈپلیکیٹ کلید کی خرابی ہوتی، لیکن یہ وہ نہیں ہے جو آپ چاہتے ہیں)۔
مزید پڑھنا
اگر آپ اس پوسٹ سے لطف اندوز ہوتے ہیں، تو آپ ان تجاویز کو بھی پسند کر سکتے ہیں:
- Dynamics AX 2012 میں SysOperation ڈیٹا کنٹریکٹ کلاس میں سوال کا استعمال
- Dynamics AX 2012 میں خرابی "ڈیٹا کنٹریکٹ آبجیکٹ کے لیے میٹا ڈیٹا کلاس کی وضاحت نہیں کی گئی"
- Dynamics AX 2012 میں قانونی ہستی (کمپنی اکاؤنٹس) کو حذف کریں
