Показать сообщение отдельно
Старый 30.01.2018, 16:16   #1  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
AX 2012 - custom financial dimension value
Имеем на входе: AX 2012 R2, accounting structure с 12 аналитиками, из которых 5 - custom (те что не entity backed). Распределение неравномерное - большинство аналитик имеют от 10-20 до пары сотен значений, одна - 18000 (зачем - тема отдельного разговора, клиент сделал "потому что мог"). Также имеем advanced rules по большинству custom аналитик

На выходе имеем: при лукапе по аналитике в строке журнала ГК запрос с join-ом из 26 таблиц (DIMENSIONFINANCIALTAG -> DIMENSIONCONSTRAINTTREE -> FINANCIALTAGCATEGORY -> DIMENSIONCONSTRAINTNODE -> DIMENSIONCONSTRAINTNODECRITERIA -> DIMENSIONCONSTRAINTNODE -> DIMENSIONCONSTRAINTNODECRITERIA и т.д. и как вишенка на торте, join с DIMENSIONATTRIBUTEDIRCATEGORY с фильтром выбираемому атрибуту (DIMENSIONATTRIBUTEDIRCATEGORY.DIMENSIONATTRIBUTE) и, соответственно, тормоза при лукапе по "большой" аналитике в \Classes\LedgerDimensionController\getAutoCompleteDataFromDatabase()

В процессе разбора задался вопросом - а зачем спрашивается такая диковинная связь между значениями custom аналитики и собственно атрибутом ( DIMENSIONFINANCIALTAG -> FINANCIALTAGCATEGORY <- DIMENSIONATTRIBUTEDIRCATEGORY <- DIMENSIONATTRIBUTE ) ? Почему DIMENSIONFINANCIALTAG не связали с DIMENSIONATTRIBUTE напрямую (DIMENSIONFINANCIALTAG.DIMENSIONATTRIBUTE) ? Какой сценарий моделируется с помощью DIMENSIONATTRIBUTEDIRCATEGORY ? Что это дало ?
__________________
-ТСЯ или -ТЬСЯ ?

Последний раз редактировалось Vadik; 31.01.2018 в 09:25.
За это сообщение автора поблагодарили: mazzy (5), S.Kuskov (2).