ડાયનેમિક્સ AX 2012 માં ડેટા () અને buf2Buf() વચ્ચેનો તફાવત
પ્રકાશિત: 15 ફેબ્રુઆરી, 2025 એ 10:55:37 PM UTC વાગ્યે
આ લેખ ડાયનેમિક્સ AX 2012માં buf2Buf() અને ડેટા () પદ્ધતિઓ વચ્ચેના તફાવતને સમજાવે છે, જેમાં દરેક અને X++ કોડ ઉદાહરણનો ઉપયોગ કરવો યોગ્ય હોય ત્યારે તેનો પણ સમાવેશ થાય છે.
The Difference Between data() and buf2Buf() in Dynamics AX 2012
આ પોસ્ટમાંની માહિતી ડાયનેમિક્સ એએક્સ ૨૦૧૨ આર ૩ પર આધારિત છે. તે અન્ય સંસ્કરણો માટે માન્ય હોઈ શકે છે અથવા ન પણ હોઈ શકે.
જ્યારે તમારે Dynamics AX માં એક કોષ્ટક બફરથી બીજામાં બધા ક્ષેત્રોની કિંમતની નકલ કરવાની જરૂર હોય, ત્યારે તમે પરંપરાગત રીતે આના જેવું કંઈક કરશો:
આ સારી રીતે કાર્ય કરે છે અને મોટાભાગના કિસ્સાઓમાં તે જવાનો માર્ગ છે.
જો કે, તમારી પાસે તેના બદલે buf2Buf ફંક્શનનો ઉપયોગ કરવાનો વિકલ્પ પણ છે:
આ પણ સારી રીતે કામ કરે છે. તો ફરક શું છે?
તફાવત એ છે કે buf2Buf સિસ્ટમ ક્ષેત્રોની નકલ કરતું નથી. સિસ્ટમ ફિલ્ડ્સમાં રેકિડ, ટેબલઆઇડી, અને કદાચ સૌથી મહત્વપૂર્ણ રીતે આ સંદર્ભમાં ડેટાએરિયાઇડ જેવા ક્ષેત્રોનો સમાવેશ થાય છે. બાદમાં સૌથી અગત્યનું કારણ એ છે કે સૌથી લાક્ષણિક કેસ જ્યાં તમે ડેટા () ને બદલે buf2Buf () નો ઉપયોગ કરો છો તે છે જ્યારે તમે કંપનીના એકાઉન્ટ્સ વચ્ચે રેકોર્ડ્સની નકલ કરો છો, ખાસ કરીને ચેન્જકોમ્પની કીવર્ડનો ઉપયોગ કરીને.
દાખલા તરીકે, જો તમે "dat" કંપનીમાં હોવ અને તમારી પાસે "com" નામની અન્ય કોઈ કંપની હોય, જેને તમે કસ્ટટેબલમાં આમાંથી કોપી કરવા માંગો છો:
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
આ કિસ્સામાં, તે કામ કરશે કારણ કે buf2Buf તમામ ક્ષેત્ર કિંમતોની નકલ કરે છે, સિવાય કે સિસ્ટમ ફીલ્ડ્સ નવા બફરમાં. જો તમે તેના બદલે ડેટા () નો ઉપયોગ કર્યો હોત, તો નવો રેકોર્ડ "કોમ" કંપનીના ખાતાઓમાં દાખલ કરવામાં આવ્યો હોત કારણ કે તે મૂલ્ય નવા બફરમાં પણ કોપી કરવામાં આવ્યું હોત.
(હકીકતમાં, તે ડુપ્લિકેટ કી ભૂલમાં પરિણમ્યું હોત, પરંતુ તમે પણ તે ઇચ્છતા નથી).