Finantsdimensiooni väärtuse värskendamine Dynamics 365 koodist X++
Avaldatud: 16. veebruar 2025, kell 12:01:03 UTC
Selles artiklis selgitatakse, kuidas värskendada finantsdimensiooni väärtust Dynamics 365-s X++ koodist, sealhulgas koodinäidet.
Update Financial Dimension Value from X++ Code in Dynamics 365
Selles postituses olev teave põhineb Dynamics 365-l. See peaks töötama ka Dynamics AX-i 2012-s, kuid ma pole seda otseselt testinud.
Hiljuti tehti mulle ülesandeks värskendada ühe finantsdimensiooni väärtust mingi vormiloogika alusel.
Nagu te ilmselt teate, on Dynamics AX-i 2012 finantsdimensioonid salvestatud eraldi tabelitesse ja neile viidatakse RecID-i kaudu, tavaliselt väljal DefaultDimension.
Kogu mõõtmete käsitlemise raamistik on mõnevõrra keeruline ja ma pean sageli selle kohta dokumente uuesti läbi lugema, võib-olla seetõttu, et ma ei tööta sellega nii sageli.
Igatahes tuleb välja värskendamine olemasolevas dimensioonikomplektis sageli ette, nii et mõtlesin, et panen oma lemmikretsepti kirja ;-)
Staatilise utiliidi meetod võib välja näha järgmine:
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;
}
Meetod tagastab uue (või sama) DimensionDefault RecId, nii et kui värskendate kirje dimensiooniväärtust (mis on ilmselt kõige levinum stsenaarium), peaksite kindlasti värskendama selle kirje dimensioonivälja uue väärtusega.