Miklix

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

Iliyochapishwa: 16 Februari 2025, 12:01:57 UTC

Makala hii inaelezea jinsi ya kusasisha thamani ya mwelekeo wa kifedha kutoka kwa nambari ya X++ katika Dynamics 365, pamoja na mfano wa nambari.


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

Taarifa katika makala hii ni kwa mujibu wa Dynamics 365. Inapaswa pia kufanya kazi katika Dynamics AX 2012, lakini sijaijaribu wazi.

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

Kama unavyojua, kwa kuwa vipimo vya kifedha vya Dynamics AX 2012 huhifadhiwa katika meza tofauti na kurejelewa kupitia RecId, kawaida katika uwanja wa Chaguo-msingi.

Mfumo mzima wa kushughulikia vipimo ni ngumu na mara nyingi hujikuta nikilazimika kusoma tena nyaraka juu yake, labda kwa sababu sio kitu ambacho ninafanya kazi na yote hayo mara nyingi.

Kwa hivyo, kusasisha uwanja katika seti ya mwelekeo uliopo ni kitu ambacho huja mara kwa mara, kwa hivyo nilidhani ningefanya kuandika mapishi ninayopenda ;-)


Njia ya matumizi ya 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 inarudi mpya (au sawa) DimensionDefault RecId, kwa hivyo ikiwa kusasisha thamani ya mwelekeo kwa rekodi - ambayo labda ni hali ya kawaida - unapaswa kuhakikisha kusasisha uwanja wa mwelekeo kwenye rekodi hiyo na thamani mpya.

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

Mikkel Bang Christensen

Kuhusu Mwandishi

Mikkel Bang 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.