AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2020, 16:12   #1  
Blog bot is offline
Blog bot
Участник
 
23,353 / 790 (73) +++++++
Регистрация: 28.10.2006
a33ik: How to change the value of a default dimension of a record
Источник: http://daxonline.org/1699-how-to-cha...-a-record.html
==============

Replace default financial dimension value
Check that financial dimension value exists:
public static DimensionAttributeValue VKValidateFinancialDimensionValue(DimensionAttribute _dimensionAttribute, str _dimensionValue, boolean _noError = false){ DimensionAttributeValue dimensionAttributeValue; dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(_dimensionAttribute, _dimensionValue, false, true); if (!dimensionAttributeValue && !_noError) { error(strFmt("@SYS342560", _dimensionValue)); } return dimensionAttributeValue;}Get financial dimension value:
public static DimensionValue VKGetFinancialDimensonValue(DimensionDefault _dimensionDefault, Name _dimensionName){ DefaultDimensionView defaultDimensionView; select firstonly DisplayValue from defaultDimensionView where defaultDimensionView.Name == _dimensionName && defaultDimensionView.DefaultDimension == _dimensionDefault; return defaultDimensionView.DisplayValue;}
Change/replace financial dimension value:
public static DimensionDefault changeFinancialDimensionValue(DimensionDefault _dimensionDefault, Name _dimensionName, DimensionValue _newDimensionValue){ DimensionAttributeValueSetStorage dimensionAttributeValueSetStorage; DimensionAttribute dimensionAttribute; DimensionValue oldDimensionValue; DimensionDefault newDimensionDefault; // Get current value oldDimensionValue = BHFFunctions::getFinancialDimensonValue(_dimensionDefault, _dimensionName); // Build DimensionAttributeValueSetStorage dimensionAttributeValueSetStorage = DimensionAttributeValueSetStorage::find(_dimensionDefault); // Remove old dimension value dimensionAttribute = DimensionAttribute::findByName(_dimensionName); dimensionAttributeValueSetStorage.removeDimensionAttributeValue( DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, oldDimensionValue).RecId); // Set new dimension value if(_newDimensionValue) { dimensionAttributeValueSetStorage.addItem( DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, _newDimensionValue, false, true)); } newDimensionDefault = dimensionAttributeValueSetStorage.save(); return newDimensionDefault;}
Other helper classes, which contain static methods to help with finantial dimensions:
DimensionDefaultingService
AxdDimensionUtil
DimensionDefaultingEngine



Источник: http://daxonline.org/1699-how-to-cha...-a-record.html
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
a33ik: D365 - How to add OR change new/exisitng dimension value to a DefaultDimension using X++? Blog bot DAX Blogs 0 25.11.2019 14:12
stoneridgesoftware: How to Change the Default Model in Visual Studio for Dynamics 365 Blog bot DAX Blogs 0 27.07.2019 00:16
Быстродействие метда TaxParameters::find Ace of Database DAX: Программирование 7 01.06.2017 11:46
stoneridgesoftware: Changes to Microsoft Dynamics NAV Change Log System: How to Revert its Behavior Blog bot NAV: Blogs 0 23.06.2016 20:13
wiki.dynamicsbook: Changes Made in Navision Attain 3.60 Blog bot Dynamics CRM: Blogs 0 02.09.2008 13:23
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:09.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.