ડાયનેમિક્સ AX 2012 માં ડેટા () અને buf2Buf() વચ્ચેનો તફાવત
પ્રકાશિત: 15 ફેબ્રુઆરી, 2025 એ 10:55:37 PM UTC વાગ્યે
છેલ્લે અપડેટ કરેલ: 12 જાન્યુઆરી, 2026 એ 08:41:24 AM UTC વાગ્યે
આ લેખ ડાયનેમિક્સ AX 2012 માં buf2Buf() અને data() પદ્ધતિઓ વચ્ચેના તફાવતો સમજાવે છે, જેમાં દરેકનો ઉપયોગ ક્યારે કરવો અને X++ કોડ ઉદાહરણ ક્યારે વાપરવું તે પણ શામેલ છે.
The Difference Between data() and buf2Buf() in Dynamics AX 2012
આ પોસ્ટમાં આપેલી માહિતી ડાયનેમિક્સ AX 2012 R3 પર આધારિત છે. તે અન્ય સંસ્કરણો માટે માન્ય હોઈ શકે છે અથવા ન પણ હોઈ શકે.
જ્યારે તમારે ડાયનેમિક્સ AX માં એક ટેબલ બફરમાંથી બીજા ટેબલ બફરમાં બધા ફીલ્ડના મૂલ્યની નકલ કરવાની જરૂર હોય, ત્યારે તમે પરંપરાગત રીતે કંઈક આવું કરશો:
આ સારી રીતે કામ કરે છે અને મોટાભાગના કિસ્સાઓમાં આ જ યોગ્ય રસ્તો છે.
જોકે, તમારી પાસે તેના બદલે buf2Buf ફંક્શનનો ઉપયોગ કરવાનો વિકલ્પ પણ છે:
આ પણ સારી રીતે કામ કરે છે. તો શું ફરક છે?
તફાવત એ છે કે buf2Buf સિસ્ટમ ફીલ્ડ્સની નકલ કરતું નથી. સિસ્ટમ ફીલ્ડમાં RecId, TableId અને કદાચ આ સંદર્ભમાં સૌથી અગત્યનું, DataAreaId જેવા ફીલ્ડનો સમાવેશ થાય છે. બાદમાં સૌથી મહત્વપૂર્ણ હોવાનું કારણ એ છે કે સૌથી સામાન્ય કેસ જ્યાં તમે data() ને બદલે buf2Buf() નો ઉપયોગ કરશો ત્યારે કંપની એકાઉન્ટ્સ વચ્ચે રેકોર્ડની નકલ કરવામાં આવે છે, સામાન્ય રીતે changeCompany કીવર્ડનો ઉપયોગ કરીને.
ઉદાહરણ તરીકે, જો તમે "dat" કંપનીમાં છો અને "com" નામની બીજી કંપની છે જેની પાસેથી તમે CustTable માં બધા રેકોર્ડ્સ કોપી કરવા માંગો છો:
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
આ કિસ્સામાં, તે કામ કરશે કારણ કે buf2Buf સિસ્ટમ ફીલ્ડ્સ સિવાયના બધા ફીલ્ડ મૂલ્યોને નવા બફરમાં કોપી કરે છે. જો તમે તેના બદલે data() નો ઉપયોગ કર્યો હોત, તો નવો રેકોર્ડ "com" કંપની એકાઉન્ટ્સમાં દાખલ થયો હોત કારણ કે તે મૂલ્ય નવા બફરમાં પણ કોપી થયું હોત.
(ખરેખર, તે ડુપ્લિકેટ કી ભૂલમાં પરિણમ્યું હોત, પરંતુ તે પણ તમે ઇચ્છો છો તે નથી).
વધુ વાંચન
જો તમને આ પોસ્ટ ગમી હોય, તો તમને આ સૂચનો પણ ગમશે:
- ડાયનેમિક્સ એએક્સ 2012 માં કયા પેટા વર્ગને પ્રારંભ કરવો તે શોધવા માટે SysExtension ફ્રેમવર્કનો ઉપયોગ કરીને
- ડાયનેમિક્સ એએક્સ 2012 માં SysOperation Data કોન્ટ્રાક્ટ ક્લાસમાં ક્વેરીનો ઉપયોગ કરીને
- ડાયનેમિક્સ AX 2012 માં કાનૂની એન્ટિટી (કંપની એકાઉન્ટ્સ) કાઢી નાખો
