Оновлення значення фінансового параметра з коду X++ у Dynamics 365
Опубліковано: 16 лютого 2025 р. о 12:01:41 UTC
Останнє оновлення: 13 листопада 2025 р. о 13:37:55 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
- Створення поля підстановки для фінансового виміру в Dynamics 365
