AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.06.2015, 16:29   #1  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от Vadik Посмотреть сообщение
Если кто-то решит использовать change tracking на инстансе с несколькими ...
Пару дополнительных граблей на которые успел натолкнуться:
  • Если используется R3 Retail, то стандартные AIFCT классы могу отключить CT на всех таблицах, которые синхронизируются с POS.
  • АХ не умеет синхронизировать таблицу в случае изменения индекса PK (SQL требует отключения CT вручную).
  • AX не умеет включать CT в случае если при синхронизации таблицу надо пересоздать по каким либо причинам в SQL (DROP Table + Create Table в SQL теряет CT). Наверное тригеры при этом тоже летят нафиг ...

Из позитива - быстро, надежно, не надо думать кто и где поменял, добавил или удалил данные, т.к. CT отслаживает все.
То что МС двигается (меееедленно) в сторону использования существующих технологий это очень даже хорошо. SQL должен такие дела отслеживать, а не AX. CT существует с 2008 года, почему не встроили его в AX раньше непонятно....

Насколька я знаю, на данный момент CT используется в -
  • POS R3
  • MDM
  • AIF
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
За это сообщение автора поблагодарили: mazzy (2), macklakov (3), Vadik (1), Logger (1).
Старый 24.06.2015, 16:44   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Пару дополнительных граблей на которые успел натолкнуться
Спасибо
Цитата:
CT существует с 2008 года, почему не встроили его в AX раньше непонятно...
Как вариант - потому что для AX 2009 была заявлена совместимость с SQL Server 2005
__________________
-ТСЯ или -ТЬСЯ ?
Старый 25.06.2015, 09:53   #3  
makbeth is offline
makbeth
Участник
Аватар для makbeth
КОРУС Консалтинг
 
43 / 52 (2) ++++
Регистрация: 15.05.2007
Адрес: Санкт-Петербург
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
ПЕсли используется R3 Retail, то стандартные AIFCT классы могу отключить CT на всех таблицах, которые синхронизируются с POS.
Здесь классическое "правая рука не знает что делает левая". Дело в том, что AIFCT не включает/выключает CT для какой-то отдельной нужной таблицы, а фактически перебирает все таблицы базы на предмет включен ли CT для каждой из них. И если эта таблица отсутствует в его, AIF, списке разрешенных таблиц CT, но CT для нее включен, то он его отключает. И наоборот.
Очевидно, для POS реализован отдельный механизм включения CT, поэтому AIF про таблицы для POS ничего не знает и в итоге происходит такой вот сюрприз.
Видимо, над AIF и POS работали разные команды, в итоге имеем то что имеем
А вообще, это повод запостить багу в MS, ибо на продакшене может вылезти неприятный такой "ой"...
Старый 25.06.2015, 10:03   #4  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от makbeth Посмотреть сообщение
Здесь классическое "правая рука не знает что делает левая"
Хм... Так для чего же тупые датчане в AX всю логику перенесли в AOT и использовали богопротивные табличные методы вместо таких привычных триггеров?
__________________
Isn't it nice when things just work?
Старый 25.06.2015, 11:54   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от macklakov Посмотреть сообщение
Хм... Так для чего же тупые датчане в AX всю логику перенесли в AOT и использовали богопротивные табличные методы вместо таких привычных триггеров?
Бггг!!!! блин, но ты то вроде давно...
представляешь какая каша в голове у молодежи?

Аксапта появилась ОЧЕНЬ давно.
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.
Старый 26.06.2015, 03:30   #6  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от mazzy Посмотреть сообщение
Бггг!!!! блин, но ты то вроде давно...
Не настолько давно. Как раз когда начинал вершился легендарный проект, где логику на триггеры переписывали.
__________________
Isn't it nice when things just work?
Старый 25.06.2015, 11:46   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от makbeth Посмотреть сообщение
для POS реализован отдельный механизм включения CT, поэтому AIF про таблицы для POS ничего не знает и в итоге происходит такой вот сюрприз.

Видимо, над AIF и POS работали разные команды, в итоге имеем то что имеем
А вообще, это повод запостить багу в MS, ибо на продакшене может вылезти неприятный такой "ой"...
угу. они знают. но запосить все равно стоит.

разные команды... не то слово! блин...
Старый 25.06.2015, 11:44   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
CT существует с 2008 года, почему не встроили его в AX раньше непонятно....
решения, которые сейчас используют Change Tracking изначально появились раньше 2008 года. как партнерские решения.

пока их купили, пока встроили в аксапту, пока ужаснулись и пока таки решили что надо что-то делать... наоборот, очень быстро
Теги
aif, ax2012, change tracking, mdm

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: How to perform a data center change (change of the physical location) where a SQL server 2008 R 2 cluster installation and MS Dynamics AX 4.0 is involved? Blog bot DAX Blogs 0 21.06.2014 19:19
emeadaxsupport: Purchase order inventory transactions and active change management Blog bot DAX Blogs 0 15.04.2014 20:12
doens.be: Change the language at runtime Blog bot DAX Blogs 0 30.11.2011 10:11
Khue Trinh: AX 2009 Quality Management - Quality Control Blog bot DAX Blogs 1 04.07.2008 16:01

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:37.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.