Miklix

Uppfærðu gildi fjárhagsvíddar úr X++ kóða í Dynamics 365

Birt: 19. mars 2025 kl. 21:36:03 UTC

Þessi grein útskýrir hvernig á að uppfæra fjárhagsvíddargildi úr X++ kóða í Dynamics 365, þar á meðal kóðadæmi.


Þessi síða var vélþýdd úr ensku til að gera hana aðgengilega sem flestum. Því miður er vélþýðing ekki enn fullkomin tækni, svo villur geta komið upp. Ef þú vilt geturðu skoðað upprunalegu ensku útgáfuna hér:

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

Upplýsingarnar í þessari færslu eru byggðar á Dynamics 365. Það ætti líka að virka í Dynamics AX 2012, en ég hef ekki prófað það beinlínis.

Mér var nýlega falið að uppfæra gildi einnar fjárhagslegrar víddar út frá einhverri formrökfræði.

Eins og þú veist líklega, þar sem Dynamics AX 2012 fjárhagsvíddir eru geymdar í aðskildum töflum og vísað í gegnum RecId, venjulega í reitnum DefaultDimension.

Allur ramminn til að meðhöndla víddir er nokkuð flókinn og ég lendi oft í því að þurfa að lesa skjöl um það aftur, kannski vegna þess að það er ekki eitthvað sem ég vinn með svo oft.

Allavega, að uppfæra reit í núverandi víddasett er eitthvað sem kemur oft upp, svo mér datt í hug að skrifa upp uppáhalds uppskriftina mína ;-)


Kyrrstæð nytjaaðferð gæti litið svona út:

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

Aðferðin skilar nýju (eða sama) DimensionDefault RecId, þannig að ef þú uppfærir víddargildi fyrir færslu - sem er líklega algengasta atburðarásin - ættir þú að gæta þess að uppfæra víddareitinn í þeirri færslu með nýja gildinu.

Deildu á BlueskyDeildu á FacebookDeildu á LinkedInDeildu á TumblrDeildu á XDeildu á LinkedInFestu á Pinterest

Mikkel Christensen

Um höfundinn

Mikkel Christensen
Mikkel er skapari og eigandi miklix.com. Hann hefur yfir 20 ára reynslu sem faglegur tölvuforritari/hugbúnaðarhönnuður og er nú í fullu starfi hjá stóru evrópsku upplýsingatæknifyrirtæki. Þegar hann er ekki að blogga eyðir hann frítíma sínum í margs konar áhugamál, áhugamál og athafnir, sem geta að einhverju leyti endurspeglast í margs konar efni sem fjallað er um á þessari vefsíðu.