Miklix

Թարմացնել ֆինանսական dimension Value-ը X++ Կոդից Դինամիկայում 365

Հրապարակվել է՝ 16 փետրվարի, 2025 թ., 12:02:42 UTC

Այս հոդվածում բացատրվում է, թե ինչպես կարելի է դինամիկայում 365-ի X++ կոդից թարմացնել ֆինանսական չափաբյուջետային արժեքը, այդ թվում կոդի օրինակը:


Այս էջը ավտոմատ կերպով թարգմանվել է անգլերենից՝ հնարավորինս շատ մարդկանց համար հասանելի դարձնելու համար: Ցավոք, մեքենայական թարգմանությունը դեռ կատարելագործված տեխնոլոգիա չէ, ուստի կարող են սխալներ առաջանալ: Եթե ​​նախընտրում եք, կարող եք դիտել բնօրինակ անգլերեն տարբերակը այստեղ.

Update Financial Dimension Value from X++ Code in Dynamics 365

Այս պոստում տեղադրված տեղեկատվությունը հիմնված է Dynamics 365-ի վրա: Այն նաեւ պետք է աշխատի Dynamics AX 2012-ում, բայց ես հստակ չեմ փորձարկել այն:

Վերջերս ինձ հանձնարարվել էր ինչ-որ ձեւի տրամաբանության հիման վրա թարմել մեկ ֆինանսական dimension-ի արժեքը:

Ինչպես հավանաբար գիտեք, քանի որ Dynamics AX 2012 ֆինանսական չափերը պահվում են առանձին սեղաններում եւ հղվում RecId-ի միջոցով, սովորաբար DefaultDimension դաշտում:

Չափերը լուծելու ողջ շրջանակը ինչ-որ չափով բարդ է, եւ ես հաճախ ստիպված եմ լինում նորից կարդալ դրա վերաբերյալ փաստաթղթերը, միգուցե այն պատճառով, որ դա մի բան չէ, որի հետ ես աշխատում եմ այդքան հաճախ:

Ամեն դեպքում, գոյություն ունեցող չափսերի հավաքածուում դաշտը թարմացնելը մի բան է, որը հաճախ է հայտնվում, ուստի մտածում էի, որ կգրեի իմ սիրած բաղադրատոմսը ;-)


Ստատիկ օգտակարության մեթոդը կարող է նման տեսք ունենալ.

public static DimensionDefault updateDimension( DimensionDefault    _defaultDimension,
                                                Name                _dimensionName,
                                                DimensionValue      _dimensionValue)
{
    DimensionAttribute                  dimAttribute;
    DimensionAttributeValue             dimAttributeValue;
    DimensionAttributeValueSetStorage   dimStorage;
    DimensionDefault                    ret;
    ;

    ret             = _defaultDimension;

    ttsbegin;

    dimStorage      = DimensionAttributeValueSetStorage::find(_defaultDimension);
    dimAttribute    = DimensionAttribute::findByName(_dimensionName);

    if (_dimensionValue)
    {
        dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(  dimAttribute,
                                                                                        _dimensionValue,
                                                                                        true,
                                                                                        true);
        dimStorage.addItem(dimAttributeValue);
    }
    else
    {
        dimStorage.removeDimensionAttribute(dimAttribute.RecId);
    }

    ret = dimStorage.save();

    ttscommit;

    return ret;
}

Մեթոդը վերադարձնում է նոր (կամ նույն) DimensionDefault RecId, այնպես որ, եթե թարմացնել չափման արժեքը գրառման համար, որը հավանաբար ամենատարածված սցենարն է, դուք պետք է համոզվեք, որ թարմացնել այդ գրառման չափման դաշտը նոր արժեքով:

Կիսվեք Bluesky-ումԿիսվել Facebook-ումԿիսվեք LinkedIn-ումԿիսվեք Tumblr-ումԿիսվեք X-ումԿիսվեք LinkedIn-ումԿպցնել Պինթրեսթում

Միկել Բանգ Քրիստենսեն

Հեղինակի մասին

Միկել Բանգ Քրիստենսեն
Mikkel-ը miklix.com-ի ստեղծողն ու սեփականատերն է: Նա ունի ավելի քան 20 տարվա աշխատանքային փորձ՝ որպես պրոֆեսիոնալ համակարգչային ծրագրավորող/ծրագրային ապահովման մշակող և ներկայումս լրիվ դրույքով աշխատում է եվրոպական խոշոր ՏՏ կորպորացիայի մեջ: Երբ նա բլոգ չի գրում, նա իր ազատ ժամանակն անցկացնում է հետաքրքրությունների, հոբբիների և գործունեության լայն շրջանակի վրա, որոնք որոշ չափով կարող են արտացոլվել այս կայքում ընդգրկված թեմաների բազմազանության մեջ: