|
![]() |
#1 |
Модератор
|
Если кто-то решит использовать change tracking на инстансе с несколькими partitions \ legal entities, сразу надо править
\Classes\AifChangeTracking\createJoinClausesAndPredicates \Classes\AifSqlCtChangeTracking\createRootTableJoin на предмет потерянных джойнов по Partition и DataAreaId полям. Иначе гарантированы тормоза и местами некорректные результаты выборки в getChangedKeys()
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: Logger (5). |
![]() |
#2 |
Участник
|
Цитата:
Из позитива - быстро, надежно, не надо думать кто и где поменял, добавил или удалил данные, т.к. CT отслаживает все. То что МС двигается (меееедленно) в сторону использования существующих технологий это очень даже хорошо. SQL должен такие дела отслеживать, а не AX. CT существует с 2008 года, почему не встроили его в AX раньше непонятно.... Насколька я знаю, на данный момент CT используется в -
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
За это сообщение автора поблагодарили: mazzy (2), macklakov (3), Vadik (1), Logger (1). |
![]() |
#3 |
Модератор
|
Спасибо
Цитата:
CT существует с 2008 года, почему не встроили его в AX раньше непонятно...
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#4 |
Участник
|
Цитата:
Очевидно, для POS реализован отдельный механизм включения CT, поэтому AIF про таблицы для POS ничего не знает и в итоге происходит такой вот сюрприз. Видимо, над AIF и POS работали разные команды, в итоге имеем то что имеем ![]() А вообще, это повод запостить багу в MS, ибо на продакшене может вылезти неприятный такой "ой"... |
|
![]() |
#5 |
NavAx
|
Хм... Так для чего же тупые датчане в AX всю логику перенесли в AOT и использовали богопротивные табличные методы вместо таких привычных триггеров?
![]()
__________________
Isn't it nice when things just work? |
|
![]() |
#6 |
Участник
|
Цитата:
представляешь какая каша в голове у молодежи? Аксапта появилась ОЧЕНЬ давно. http://axapta.mazzy.ru/lib/names/ (внизу историческая справка) (ударил по гулсям и закатил глаза... затянул глухим глоосом) в те времена: 1. SQL еще не был стандартом 2. не было одного-двух лидеров на рынке платформ баз данных 3. аксапта поддерживала несколько баз данных - я видел перечисление на 12 баз. в том числе DBF, mySQL, postgreSQL... был и собственный формат базы данных (он сейчас остался до 2009 в виде AOD файлов, c 2012 и его прибили) 4. "привычных" триггеров еще не было (если кто помнит времена MS SQL 6.5, oracle 7...) а в ранних mySQL триггеров вообще не было. не говоря уже о DBF (нормальным голосом) в связи с этим и были сделаны собственные унифицированные триггеры. а потом пошла эволюция и коэволюция вместе с платформами баз данных. например, skip-методы появились относительно недавно, уже при MS вроде. Upd: ну, а решение, что Аксапта не поддерживает Oracle, а работает только на одном MS SQL, вообще было принято очень кроваво и только начиная с ax2009 Последний раз редактировалось mazzy; 25.06.2015 в 12:03. |
|
![]() |
#7 |
NavAx
|
Не настолько давно. Как раз когда начинал вершился легендарный проект, где логику на триггеры переписывали.
__________________
Isn't it nice when things just work? |
|
![]() |
#8 |
Участник
|
Цитата:
Сообщение от makbeth
![]() для POS реализован отдельный механизм включения CT, поэтому AIF про таблицы для POS ничего не знает и в итоге происходит такой вот сюрприз.
Видимо, над AIF и POS работали разные команды, в итоге имеем то что имеем ![]() А вообще, это повод запостить багу в MS, ибо на продакшене может вылезти неприятный такой "ой"... разные команды... не то слово! блин... ![]() |
|
![]() |
#9 |
Участник
|
Цитата:
пока их купили, пока встроили в аксапту, пока ужаснулись и пока таки решили что надо что-то делать... наоборот, очень быстро ![]() |
|
Теги |
aif, ax2012, change tracking, mdm |
|
|