10.08.2019, 12:50 | #2 |
Участник
|
прежде всего, огромное спасибо.
Цитата:
я думаю, что в статье обязательно требуется рассмотреть случай, когда в одной позиции могут находится несколько разных аналитик, в списке которых есть одинаковые значения. я навскидку уже не помню, но в демопримере был случай, когда во вторую позицию с одними счетами прибылей и убытков могли записываться либо CostCenter, а в другие счета прибылей и убытков во вторую позицию могли записываться Purpose. Или нечто подобное. Причем в обоих списках были значения 010. возвращаясь к статье: разбирать аналитики на примере банковских проводок - не очень. либо надо обосновать каким образом на банковских проводках могут возникнуть разные комбинации аналитик. для каждой view стоит привести пример данных. Особенно для таких "By that we will get a Carthesian product of all possible combinations between them". очень хотелось бы статью, в которой раскрывались бы решения для следующих обыденных задач: задача 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С:Бухгалтерии. Цитата:
в том числе, в некоторых случаях сначала может идти Business unit, а затем Department. а в некоторых - сперва Department, а затем Business unit. Причем между этими аналитиками могут быть расположены другие аналитики. статья о фильтрации по чудо-финансовым-аналитикам без рассмотрения таких случаев не может трактоваться как полезная. му-ха-ха-ха!!! ни в коем случае не хочу принижать достоинства статьи и изложенного подхода. Хочу сказать лишь одно - архитекторы, которые это чудо задолжили в Аксапту... они как собирались выполнять фильтрацию? какой способ по их мнению должны были использовать пользователи? приходит такой пользователь и спрашивает "как отфильтровать по CostCenter" а архитектор отвечает - "нет-нет, ты еще не готов к этому" https://coub.com/view/1avfh5 а для продвинутых програмеров-в-закрытой-системе он начинает ответ с фразы "Let's solve this problem step by step..." е-е-е-е-е!!!! we - это пользователи? или программисты? сколько таких вью должны создать программисты в закрытой системе, чтобы пользователи хотя бы перестали ругаться? серьезно? и сколько значений сможет обслуживать этот подход к фильтрации? можно ли вводить значения как критерий через запятую? со звездочкой? а с другими мета символами? фиг с ними, с пользователями. если использовать этот подход программно, то из кода сколько значений для фильтрации предполагается? Цитата:
Сообщение от Blog bot
X++: private static server str displayValueWithNA() // X++ { str sRet; tableName viewName = viewstr(CDPDimensionAttributeValuesUnionView); str cDisplayValue = SysComputedColumn::comparisonField(viewName, viewstr(CDPDimensionAttributeValuesSelectedView), fieldStr(CDPDimensionAttributeValuesSelectedView, DisplayValue)); sRet = SysComputedColumn::if(SysComputedColumn::isNotNullExpression(cDisplayValue), cDisplayValue, SysComputedColumn::returnLiteral('n/a') ); return sRet; } опять же со всем восхищением к изворотливости ума. но задача тривиальной фильтрации действительно требует вот такого кода? Цитата:
Сообщение от Blog bot
X++: private static server str finDimValues() // X++ { return @"STUFF((SELECT '-' + t3.DisplayValue from CDPDimensionAttributeValuesUnionView as t3 where t1.DimensionAttributeValueSet = t3.DimensionAttributeValueSet order by t3.DIMENSIONATTRIBUTE for xml path('')), 1, 1, '')"; } Последний раз редактировалось mazzy; 10.08.2019 в 13:37. |
|
|
|