Цитата:
Сообщение от
sukhanchik
В D365 PU10 нет класса DimensionHelper. Если Вы чего-то другое имели в виду - приведите пример кода.
Имел ввиду класс DimensionStorage. Ниже пример кода (разумеется для реального применения следует поменять константы на параметры и добавить проверок.
X++:
ttsbegin;
LedgerJournalTrans ledgerJournalTrans = LedgerJournalTrans::findRecId(5555555555, true);
DimensionAttribute dimensionAttribute = DimensionAttribute::findByName("BusinessUnit");
DimensionAttributeValue dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, "001");
DimensionStorage dimensionStorage = DimensionStorage::findById(ledgerJournalTrans.LedgerDimension);
for (int i = 1; i <= dimensionStorage.segmentCount(); i++)
{
if (dimensionStorage.getAttributeIdForSegment(i) == dimensionAttribute.RecId)
{
dimensionStorage.setSegment(i, DimensionStorageSegment::constructFromValue(dimensionAttributeValue.getValue(), dimensionAttributeValue));
ledgerJournalTrans.LedgerDimension = dimensionStorage.save();
ledgerJournalTrans.update();
break;
}
}
ttscommit;