Miklix

डायनॅमिक्स AX २०१२ मध्ये डेटा() आणि buf2Buf() मधील फरक

प्रकाशित: १५ फेब्रुवारी, २०२५ रोजी १०:५४:२४ PM UTC

हा लेख डायनॅमिक्स AX २०१२ मधील buf2Buf() आणि data() पद्धतींमधील फरक स्पष्ट करतो, ज्यामध्ये प्रत्येक पद्धतीचा वापर करणे कधी योग्य आहे आणि X++ कोड उदाहरण देखील समाविष्ट आहे.


हे पान जास्तीत जास्त लोकांना उपलब्ध व्हावे म्हणून इंग्रजीतून मशीन भाषांतरित करण्यात आले आहे. दुर्दैवाने, मशीन भाषांतर अद्याप परिपूर्ण तंत्रज्ञान नाही, त्यामुळे चुका होऊ शकतात. तुम्हाला हवे असल्यास, तुम्ही मूळ इंग्रजी आवृत्ती येथे पाहू शकता:

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

या पोस्टमधील माहिती डायनॅमिक्स AX २०१२ R3 वर आधारित आहे. ती इतर आवृत्त्यांसाठी वैध असू शकते किंवा नसू शकते.

जेव्हा तुम्हाला डायनॅमिक्स AX मध्ये एका टेबल बफरमधून दुसऱ्या टेबल बफरमध्ये सर्व फील्डची व्हॅल्यू कॉपी करायची असते, तेव्हा तुम्ही पारंपारिकपणे असे काहीतरी कराल:

toTable.data(fromTable);

हे चांगले काम करते आणि बहुतेक प्रकरणांमध्ये हाच योग्य मार्ग आहे.

तथापि, तुमच्याकडे buf2Buf फंक्शन वापरण्याचा पर्याय देखील आहे:

buf2Buf(fromTable, toTable);

हे देखील चांगले काम करते. मग काय फरक आहे?

फरक असा आहे की buf2Buf सिस्टम फील्ड कॉपी करत नाही. सिस्टम फील्डमध्ये RecId, TableId आणि कदाचित सर्वात महत्त्वाचे म्हणजे या संदर्भात DataAreaId सारखे फील्ड समाविष्ट आहेत. नंतरचे सर्वात महत्वाचे असण्याचे कारण म्हणजे data() ऐवजी buf2Buf() वापरण्याची सर्वात सामान्य पद्धत म्हणजे कंपनी खात्यांमधील रेकॉर्ड डुप्लिकेट करणे, सामान्यतः changeCompany कीवर्ड वापरून.

उदाहरणार्थ, जर तुम्ही "dat" कंपनीत असाल आणि "com" नावाची दुसरी कंपनी असेल जिथून तुम्हाला CustTable मधील सर्व रेकॉर्ड कॉपी करायचे असतील तर:

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

या प्रकरणात, ते कार्य करेल कारण buf2Buf सिस्टम फील्ड वगळता सर्व फील्ड व्हॅल्यूज नवीन बफरमध्ये कॉपी करते. जर तुम्ही त्याऐवजी data() वापरले असते, तर नवीन रेकॉर्ड "com" कंपनीच्या खात्यांमध्ये समाविष्ट केला असता कारण तो व्हॅल्यू नवीन बफरमध्ये देखील कॉपी केला असता.

(खरं तर, त्यामुळे डुप्लिकेट की एरर आली असती, पण तुम्हाला तेही नको आहे).

ब्लूस्की वर शेअर कराफेसबुक वर शेअर करालिंक्डइन वर शेअर कराटंबलर वर शेअर कराX वर शेअर करालिंक्डइन वर शेअर कराPinterest वर पिन करा

मिकेल बँग क्रिस्टेनसेन

लेखकाबद्दल

मिकेल बँग क्रिस्टेनसेन
मिकेल हे miklix.com चे निर्माता आणि मालक आहेत. त्यांना व्यावसायिक संगणक प्रोग्रामर/सॉफ्टवेअर डेव्हलपर म्हणून २० वर्षांहून अधिक अनुभव आहे आणि सध्या ते एका मोठ्या युरोपियन आयटी कॉर्पोरेशनमध्ये पूर्णवेळ नोकरी करतात. ब्लॉगिंग करत नसताना, ते आपला मोकळा वेळ विविध आवडी, छंद आणि क्रियाकलापांमध्ये घालवतात, जे काही प्रमाणात या वेबसाइटवर समाविष्ट असलेल्या विविध विषयांमध्ये प्रतिबिंबित होऊ शकतात.