Показать сообщение отдельно
Старый 03.09.2023, 04:10   #1  
Blog bot is offline
Blog bot
Участник
 
25,492 / 847 (79) +++++++
Регистрация: 28.10.2006
Ledger dimension vs Default dimension
Источник: http://alexvoy.blogspot.com/2023/09/...dimension.html
==============

In short Ledger dimension it is Main account + default dimension.



So, if you need to replace any attribute value in a given Ledger dimension, do not forget to get a Default dimension first.



LedgerDimensionFacade::getDefaultDimensionFromLedgerDimension(ledgerjournalTrans.LedgerDimension);


Then you can use this old good way.



DimensionDefault newDim = DimensionHelper::setValueToDefaultDimension(hcmEmployment.DefaultDimension, DimensionAttribute::findByName(_dimensionName).RecId, _dimensionValue);
BTW, the opposite thing works like that:



LedgerDimensionFacade::serviceCreateLedgerDimension(mainAccountRecId, inventTrans.defaultDimension);
Supporting method
public static DimensionDefault setValueToDefaultDimension(DimensionDefault _dimensionDefault, RefRecId _dimensionAttributeRecId, DimensionValue _newDimensionValue) { DimensionAttributeValueSetStorage dimStorage; DimensionDefault newDimensionDefault = _dimensionDefault; DimensionAttributeValue dimensionAttributeValue; if (_dimensionAttributeRecId) { dimStorage = DimensionAttributeValueSetStorage::find(_dimensionDefault); if (_newDimensionValue) { dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(DimensionAttribute::find(_dimensionAttributeRecId), _newDimensionValue, false, true); dimStorage.addItem(dimensionAttributeValue); } else { dimStorage.removeDimensionAttribute(_dimensionAttributeRecId); } newDimensionDefault = dimStorage.save(); } return newDimensionDefault; }
https://alexvoy.blogspot.com/2015/10...value-for.html



Источник: http://alexvoy.blogspot.com/2023/09/...dimension.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.