Miklix

Sasisha Thamani ya Dimension ya Fedha kutoka kwa X++ Code katika Dynamics 365

Iliyochapishwa: 16 Februari 2025, 12:01:57 UTC
Mara ya mwisho kusasishwa: 13 Novemba 2025, 13:38:20 UTC

Makala haya yanafafanua jinsi ya kusasisha thamani ya mwelekeo wa kifedha kutoka kwa msimbo wa X++ katika Dynamics 365, ikijumuisha mfano wa msimbo.


Ukurasa huu ulitafsiriwa kwa mashine kutoka kwa Kiingereza ili kuifanya iweze kupatikana kwa watu wengi iwezekanavyo. Kwa bahati mbaya, utafsiri wa mashine bado sio teknolojia iliyokamilishwa, kwa hivyo makosa yanaweza kutokea. Ukipenda, unaweza kutazama toleo asili la Kiingereza hapa:

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

Maelezo katika chapisho hili yanatokana na Dynamics 365. Inafaa pia kufanya kazi katika Dynamics AX 2012, lakini sijaijaribu kwa uwazi.

Hivi majuzi nilipewa jukumu la kusasisha thamani ya mwelekeo mmoja wa kifedha kulingana na aina fulani ya mantiki.

Kama unavyojua, kwa kuwa vipimo vya kifedha vya Dynamics AX 2012 huhifadhiwa katika jedwali tofauti na kurejelewa kupitia RecId, kwa kawaida katika sehemu ya DefaultDimension.

Mfumo mzima wa kushughulikia vipimo ni mgumu kiasi fulani na mara nyingi mimi hujikuta nikilazimika kusoma tena hati juu yake, labda kwa sababu sio kitu ninachofanya kazi nacho mara nyingi.

Hata hivyo, kusasisha uga katika seti iliyopo ya vipimo ni jambo linalojitokeza mara kwa mara, kwa hivyo nilidhani ningeandika mapishi ninayopenda ;-)


Njia ya matumizi tuli inaweza kuonekana kama hii:

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;
}

Njia hii inarejesha DimensionDefault RecId mpya (au ile ile), kwa hivyo ikiwa kusasisha thamani ya kipimo kwa rekodi - ambayo labda ndiyo hali ya kawaida - unapaswa kuhakikisha kusasisha sehemu ya vipimo kwenye rekodi hiyo kwa thamani mpya.

Kusoma Zaidi

Ikiwa ulifurahia chapisho hili, unaweza pia kupenda mapendekezo haya:


Shiriki kwenye BlueskyShiriki kwenye FacebookShiriki kwenye LinkedInShiriki kwenye TumblrShiriki kwenye XShiriki kwenye LinkedInBandika kwenye Pinterest

Mikkel Christensen

Kuhusu Mwandishi

Mikkel Christensen
Mikkel ndiye muundaji na mmiliki wa miklix.com. Ana uzoefu wa zaidi ya miaka 20 kama mtaalamu wa kupanga programu/programu za kompyuta na kwa sasa ameajiriwa muda wote kwa shirika kubwa la IT la Ulaya. Wakati si kublogi, yeye hutumia wakati wake wa ziada kwenye safu nyingi za mapendeleo, vitu vya kufurahisha, na shughuli, ambazo zinaweza kuonyeshwa kwa kadiri fulani katika mada anuwai zinazozungumziwa kwenye wavuti hii.