Ажурирајте ја вредноста на финансиската димензија од кодот X++ во Dynamics 365
Објавено: 5 март 2025, во 19:52:50 UTC
Последно ажурирано: 13 ноември 2025, во 13:39:27 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
- Visual Studio се запира при стартување додека се вчитуваат неодамнешни проекти
- Ставете го Dynamics 365 FO Virtual Machine Dev или тестирајте во режим на одржување
