Miklix

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

Հրապարակվել է՝ 16 փետրվարի, 2025 թ., 12:02:42 UTC
Վերջին թարմացումը՝ 13 նոյեմբերի, 2025 թ., 13:38:51 UTC

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


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

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

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

Վերջերս ինձ հանձնարարվեց թարմացնել մեկ ֆինանսական չափանիշի արժեքը՝ հիմնվելով որոշակի ձևական տրամաբանության վրա։

Ինչպես հավանաբար գիտեք, 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 տարվա աշխատանքային փորձ՝ որպես պրոֆեսիոնալ համակարգչային ծրագրավորող/ծրագրային ապահովման մշակող և ներկայումս լրիվ դրույքով աշխատում է եվրոպական խոշոր ՏՏ կորպորացիայի մեջ: Երբ նա բլոգ չի գրում, նա իր ազատ ժամանակն անցկացնում է հետաքրքրությունների, հոբբիների և գործունեության լայն շրջանակի վրա, որոնք որոշ չափով կարող են արտացոլվել այս կայքում ընդգրկված թեմաների բազմազանության մեջ: