Տվյալների () և buf2Buf () միջև տարբերությունը Dynamics AX 2012-ում
Հրապարակվել է՝ 15 փետրվարի, 2025 թ., 22:55:34 UTC
Վերջին թարմացումը՝ 12 հունվարի, 2026 թ., 08:41:23 UTC
Այս հոդվածը բացատրում է Dynamics AX 2012-ում buf2Buf() և data() մեթոդների միջև եղած տարբերությունները, այդ թվում՝ թե երբ է նպատակահարմար օգտագործել յուրաքանչյուրը և X++ կոդի օրինակը։
The Difference Between data() and buf2Buf() in Dynamics AX 2012
Այս գրառման մեջ տեղեկատվությունը հիմնված է Dynamics AX 2012 R3-ի վրա: Այն կարող է վավեր լինել կամ չլինել այլ տարբերակների համար:
Երբ Dynamics AX-ում անհրաժեշտ է պատճենել բոլոր դաշտերի արժեքները մեկ աղյուսակի բուֆերից մյուսը, սովորաբար կանեք հետևյալը.
Սա լավ է աշխատում և շատ դեպքերում դա ճիշտ ճանապարհն է։
Այնուամենայնիվ, դուք նաև ունեք buf2Buf ֆունկցիան օգտագործելու տարբերակը՝
Սա նույնպես լավ է աշխատում։ Ուրեմն ո՞րն է տարբերությունը։
Տարբերությունն այն է, որ buf2Buf-ը չի պատճենում համակարգային դաշտերը: Համակարգային դաշտերը ներառում են այնպիսի դաշտեր, ինչպիսիք են RecId-ը, TableId-ը և, թերևս, ամենակարևորը՝ DataAreaId-ը: Վերջինիս ամենակարևոր պատճառն այն է, որ buf2Buf()-ը data()-ի փոխարեն օգտագործելու ամենատարածված դեպքը ընկերության հաշիվների միջև գրառումների կրկնօրինակումն է, սովորաբար changeCompany բանալի բառի օգտագործմամբ:
Օրինակ, եթե դուք աշխատում եք «dat» ընկերությունում և ունեք մեկ այլ «com» անունով ընկերություն, որտեղից ցանկանում եք պատճենել CustTable-ի բոլոր գրառումները՝
{
buf2Buf(custTableFrom, custTableTo);
custTableTo.insert();
}
Այս դեպքում այն կաշխատի, քանի որ buf2Buf-ը բոլոր դաշտերի արժեքները, բացառությամբ համակարգային դաշտերի, պատճենում է նոր բուֆերում։ Եթե դուք օգտագործեիք data() ֆունկցիան, նոր գրառումը կտեղադրվեր «com» ընկերության հաշիվներում, քանի որ այդ արժեքը նույնպես կպատճենվեր նոր բուֆերում։
(Իրականում, դա կհանգեցներ կրկնօրինակ բանալու սխալի, բայց դա էլ այն չէ, ինչ դուք ուզում եք):
Լրացուցիչ ընթերցանություն
Եթե ձեզ դուր եկավ այս գրառումը, ձեզ կարող են նաև դուր գալ այս առաջարկները.
- Ինչպե՞ս իտերացնել Էնումի տարրերը X++ կոդից Դինամիկայում AX 2012
- Օգտվելով SysExtension Framework-ի միջոցով պարզել, թե որ ենթադասի միջոցով է միանգամից դինամիկայում AX 2012
- Փոխարկել իրականը լարում բոլոր decimals հետ Դինամիկայում AX 2012
