Актуализирайте стойността на финансовото измерение от X++ Code в Dynamics 365
Публикувано: 16 февруари 2025 г. в 12:00:55 ч. UTC
Последна актуализация: 13 ноември 2025 г. в 13:35:49 ч. UTC
Тази статия обяснява как да актуализирате стойност на финансово измерение от X++ код в Dynamics 365, включително примерен код.
Update Financial Dimension Value from X++ Code in Dynamics 365
Информацията в тази публикация е базирана на Dynamics 365. Би трябвало да работи и в Dynamics AX 2012, но не съм я тествал изрично.
Наскоро ми беше възложена задачата да актуализирам стойността на едно финансово измерение въз основа на някаква логика на формата.
Както вероятно знаете, тъй като в Dynamics AX 2012 финансовите измерения се съхраняват в отделни таблици и се препращат към тях чрез RecId, обикновено в поле 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;
}
Методът връща нов (или същия) DimensionDefault RecId, така че ако актуализирате стойност на измерение за запис - което вероятно е най-често срещаният сценарий - трябва да се уверите, че сте актуализирали полето за измерение в този запис с новата стойност.
Допълнително четене
Ако ви е харесала тази публикация, може да ви харесат и тези предложения:
- Добавяне на метод за показване или редактиране чрез разширение в Dynamics 365
- Поставете Dynamics 365 FO Virtual Machine Dev или Test в режим на поддръжка
- Visual Studio увисва при стартиране, докато зарежда последните проекти
