Показать сообщение отдельно
Старый 24.01.2020, 17:27   #304  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Нужно получить значение счета из профиля разноски ОС. На таблице 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) получить значение счета ГК?
Думал «натравить» на это значение Функции – Сведения о финансовых аналитиках, но не смог разобраться в назначении и параметрах этой функции.