|
12.08.2019, 14:17 | #1 |
Moderator
|
Возможно, я невнимательно читал дискуссию, но ведь в D365FO значения аналитик продублированы в динамические (то есть - не видимые в AOD и создаваемые во время настроек ГК) поля в таблицах DimensionAttributeValueSet (для default dimensions) и DimensionAttributeValueCombination (для LedgerDimension) ). FieldId этих полей можно получить через вызовы функций, а потом добавить в query или в calculated field во view.
Например: X++: FieldId costcenterFieldId = DimensionAttributeValueSet::getDimensionValueFieldId('COSTCENTER'); //fieldId аналитики costCenter для default Dimension FieldId costCenterFieldId = DimensionAttributeCombination::getDimensionValueFieldId('COSTCENTER'); //fieldId аналитики costCenter для Ledger dimension DimensionAttributeCombination::getDimensionKeyFieldId('COSTCENTER'); //fieldId поля со ссылкой по recId на значение аналитики costCenter для LedgerDimension. Второй вариант я не пробовал, но dimensionAttributeValueSet с custTable и vendTable я джойнил и значение аналитики через calculated field во view вытаскивал. Работает без проблем, фильтрует, сортирует, группирует и тп (поскольку это обычное поле, сделанное почти как в DAX2009). Последний раз редактировалось fed; 12.08.2019 в 15:05. |
|
|
За это сообщение автора поблагодарили: trud (5). |
12.08.2019, 15:59 | #2 |
Участник
|
почему fieldid один?
насколько я помню, их может быть насколько в зависимости от того какой dimSet используется. насколько я помню, в том то и проблема, что эта финансовая аналитика была устроена как субконто в 1С:Бухаглтерии, а не как InventDim в Аксапте. Другими словами, не было таблицы в которой в одной колонке были бы значения одной финансовой аналитики. конечно могу сильно ошибаться, поскольку уже давно в новые аксапты не заглядывал. очень хочется увидеть статьи на тему - как легко делать выборку финансовой аналитики в интерфейсе пользователя, в программном коде X++, а также из внешних систем (SQL запрос, MDX-запрос, C# и прочее). Ну, или хоть как-нибудь. Цитата:
Сообщение от mazzy
задача 1: отфильтровать проводки по счетам прибылей и убытков с CostCenter = 010. В какой бы позиции не находился CostCenter. При условии, что эти же позиции могут занимать другие аналитики И в этих других аналитиках также может существовать значение 010.
задача 1': то же самое, что в задаче 1, только CostCenter = 01*. задача 1'': то же самое, что в задаче 1, только CostCenter = 01*..02*,!021. задача 2: отфильтровать проводки по счетам прибылей и убытков с CostCenter = 010 и Department = 010. В какой бы позиции не находились CostCenter и Department. При условии, что эти же позиции могут занимать другие аналитики И в этих других аналитиках также может существовать значение 010. задача ***: отфильтровать с условием "или". в запросах по остальным значениям (не финансовая аналитика) в поисковом выражении можно использовать скобки. https://axapta.mazzy.ru/lib/search/ Примечание: можно посмотреть в 1С:Бухгалтерию, в которой задача выборки по субконто давно решена. можно также рассказать какой ценой решили эту задачу в 1С:Бухгалтерии. Последний раз редактировалось mazzy; 12.08.2019 в 16:01. |
|
12.08.2019, 16:20 | #3 |
Moderator
|
Цитата:
Поэтому, для настройки аналитик, система требует входа в Maintanance Mode (просто чтобы не добавлять новые поля, когда другие пользователи работают) |
|
12.08.2019, 16:42 | #4 |
Участник
|
и как это помогает решит поставленную задачу?
__________________
Felix nihil admirari |
|
|
|