Get dimension
value from defaultDimension:
DimensionAttributeValueSet
dimAttrValueSet;
DimensionAttributeValueSetItem
dimAttrValueSetItem;
DimensionAttributeValue
dimAttrValue;
DimensionAttribute
dimAttribute;
select dimAttrValueSetItem
where dimAttrValueSetItem.DimensionAttributeValueSet
== this.defaultDimension
join dimAttrValue
where dimAttrValue.RecId ==
dimAttrValueSetItem.DimensionAttributeValue
join dimAttribute
where dimAttribute.RecId ==
dimAttrValue.DimensionAttribute
&& dimAttribute.BackingEntityType == tableNum(DimAttributeOMBusinessUnit);
Return dimAttrValueSetItem.DisplayValue;
Another way:
public static DimensionValue
getDimensionValue(RecId defaultDimension, Name dimName)
{
DimensionAttributeValueSetStorage
dimStorage;
;
dimStorage =
DimensionAttributeValueSetStorage::find(defaultDimension);
return
dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName(dimName).RecId);
}
Get
dimension value from a ledger dimension:
select
dimensionAttributeLevelValueView
where
dimensionAttributeLevelValueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
join dimensionAttribute
where dimensionAttribute.RecId
== dimensionAttributeLevelValueView.DimensionAttribute
&& dimensionAttribute.BackingEntityType == tableNum(DimAttributeOMBusinessUnit);
custBalanceTmp.BusinessUnit =
dimensionAttributeLevelValueView.DisplayValue;
Get main
account from ledger dimension:
mainAccount
=
MainAccount::findByLedgerDimension(generalJournalAccountEntry.LedgerDimension);
Create ledger
dimension using main account and default dimension:
ledgerDimension
=
LedgerDimensionFacade::serviceCreateLedgerDimension(salesForFreeInvoiceAccount,
salesPurchLine.defaultDimension);