Нужно получить значение счета из профиля разноски ОС. На таблице AssetLedgerAccounts есть методы assetLedgerDimension() и assetOffsetLedgerDimension() которые определяют нужную запись по комбинации assetId, assetBookId, assetTransType и assetPostingProfile, но эти методы возвращают не запись, а сразу значение типа LedgerDimensionDefaultAccount – по сути RecId в таблице DimensionAttributeValueCombination.
И приходится присоединять эту таблицу и писать выражение
FIRSTORNULL(FILTER(DimensionAttributeValueCombination, DimensionAttributeValueCombination.RecId=AssetLedgerAccounts.'assetLedgerDimension()'(@.AssetId, @.BookId, AssetTransType.Acquisition, @.'$PostingProfile'))).MainAccountValue
Есть смутное подозрение, что это из пушки по воробьям.
Если есть запись с полем типа Default / LedgerDimension, то в дереве источников данных сразу есть ветка Финансовые аналитики, из которой можно получить значение MainAccountValue без этого геморроя.
Но беда, что методы возвращают не саму запись AssetLedgerAccounts.
Может есть какое-то более правильное решение, как имея по сути DimensionAttributeValueCombination.RecId (int64) получить значение счета ГК?
Думал «натравить» на это значение Функции – Сведения о финансовых аналитиках, но не смог разобраться в назначении и параметрах этой функции.
|