Показать сообщение отдельно
Старый 10.08.2019, 12:50   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
прежде всего, огромное спасибо.

Цитата:
Сообщение от Blog bot Посмотреть сообщение
For example, existing transactions presume to have values for the following dimension attributes.

это замечательно. но похоже, пример раскрывает как отфильтровать две ПОСЛЕДОВАТЕЛЬНЫЕ позиции. причем ничего не говорится, что в этих позициях могут находится и другие аналитики.

я думаю, что в статье обязательно требуется рассмотреть случай, когда в одной позиции могут находится несколько разных аналитик, в списке которых есть одинаковые значения. я навскидку уже не помню, но в демопримере был случай, когда во вторую позицию с одними счетами прибылей и убытков могли записываться либо 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С:Бухгалтерии.

Цитата:
Сообщение от Blog bot Посмотреть сообщение
However, our selection can be different. For this exercice sake I opted for Business unit and Department.
опять же - и Business unit, и Department может находится в разных позициях в разных проводках.
в том числе, в некоторых случаях сначала может идти Business unit, а затем Department. а в некоторых - сперва Department, а затем Business unit. Причем между этими аналитиками могут быть расположены другие аналитики.

статья о фильтрации по чудо-финансовым-аналитикам без рассмотрения таких случаев не может трактоваться как полезная.

Цитата:
Сообщение от Blog bot Посмотреть сообщение
Let's solve this problem step by step.
му-ха-ха-ха!!!
ни в коем случае не хочу принижать достоинства статьи и изложенного подхода.
Хочу сказать лишь одно - архитекторы, которые это чудо задолжили в Аксапту... они как собирались выполнять фильтрацию? какой способ по их мнению должны были использовать пользователи?

приходит такой пользователь и спрашивает "как отфильтровать по CostCenter"
а архитектор отвечает - "нет-нет, ты еще не готов к этому" https://coub.com/view/1avfh5

а для продвинутых програмеров-в-закрытой-системе он начинает ответ с фразы "Let's solve this problem step by step..."


Цитата:
Сообщение от Blog bot Посмотреть сообщение
Now we create a view based on...
е-е-е-е-е!!!!
we - это пользователи? или программисты?
сколько таких вью должны создать программисты в закрытой системе, чтобы пользователи хотя бы перестали ругаться?

Цитата:
Сообщение от Blog bot Посмотреть сообщение
...without relation in outer join
серьезно?
и сколько значений сможет обслуживать этот подход к фильтрации?
можно ли вводить значения как критерий через запятую? со звездочкой? а с другими мета символами?

фиг с ними, с пользователями.
если использовать этот подход программно, то из кода сколько значений для фильтрации предполагается?

Цитата:
Сообщение от 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, '')";
}
серьезно?!
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 10.08.2019 в 13:37.