Atjauniniet finanšu dimensijas vērtību no X++ koda programmā Dynamics 365
Publicēts: 2025. gada 16. februāris 12:01:21 UTC
Šajā rakstā ir paskaidrots, kā atjaunināt finanšu dimensijas vērtību no X++ koda programmā Dynamics 365, tostarp koda piemēru.
Update Financial Dimension Value from X++ Code in Dynamics 365
Šajā ziņā sniegtā informācija ir balstīta uz Dynamics 365. Tai vajadzētu darboties arī programmā Dynamics AX 2012, taču es to neesmu īpaši pārbaudījis.
Man nesen tika uzdots atjaunināt vienas finanšu dimensijas vērtību, pamatojoties uz kādu formas loģiku.
Kā jūs droši vien zināt, kopš Dynamics AX 2012 finanšu dimensijas tiek glabātas atsevišķās tabulās un uz tām ir atsauces, izmantojot RecId, parasti laukā DefaultDimension.
Visa dimensiju apstrādes sistēma ir diezgan sarežģīta, un man bieži ir jāpārlasa dokumentācija par to, iespējams, tāpēc, ka es ar to nestrādāju tik bieži.
Jebkurā gadījumā lauka atjaunināšana esošajā dimensiju komplektā ir kaut kas, kas parādās bieži, tāpēc es domāju, ka es uzrakstīšu savu iecienītāko recepti ;-)
Statiskā utilīta metode varētu izskatīties šādi:
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;
}
Metode atgriež jaunu (vai to pašu) DimensionDefault RecId, tādēļ, ja atjaunina ieraksta dimensijas vērtību — tas, iespējams, ir visizplatītākais scenārijs, noteikti atjauniniet šī ieraksta dimensijas lauku ar jauno vērtību.