21.01.2019, 07:53 | #1 |
Участник
|
Заполнение аналитики в разнесенных проводках.
Добрый день товарищи!
MS DAX 2012 R3 6.3.4000.127. Добавил новый сегмент в существующую структуру счета. Далее необходимо установить значение новой аналитики в проводки по ГК . Написал простенький код, который генерит новый LedgerDimension: X++: private LedgerDimensionAccount getLedgerDimVal( LedgerDimensionAccount _ledgerDimension, DimensionValue _val, RefRecId _attrRecid) { RefRecId ret; DimensionStorageSegment dimensionStorageSegment; DimensionStorage dimensionStorage = DimensionStorage::findById(_ledgerDimension); MainAccount mainacc = MainAccount::findByLedgerDimension(_ledgerDimension); RefRecId dimHierId = DimensionHierarchy::getAccountStructure(mainacc.RecId); DimensionHierarchyLevel dimHierLevel = DimensionHierarchyLevel::findByDimensionHierarchyAndDimAttribute( dimHierId, _attrRecid); DimensionAttributeValue dimAttraValue; dimAttraValue = DimensionAttributeValue::findByDimensionAttributeAndValue( DimensionAttribute::find(_attrRecid), _val, false, true); dimensionStorageSegment = DimensionStorageSegment::construct( dimAttraValue.getValue(), dimAttraValue.RecId, dimAttraValue.HashKey); dimensionStorage.setSegment(dimHierLevel.Level, dimensionStorageSegment); ret = dimensionStorage.save(); return ret; } X++: packedDimensionStorage = DimensionCache::getValue(DimensionCacheScope::DimensionStorageInstance, [_dimensionCombinationId, _validateStructureChanges]); X++: DimensionCache::clearAllScopes(); |
|
|
|