23.06.2015, 13:34 | #21 |
NavAx
|
Цитата:
Сообщение от Vadik
Ну зачем в сценариях интеграции передавать "старое значение поля" ? А что внешняя система будет делать с моим "старым" значением из AX если его "старое" (текущее) отличается ? А какое именно "старое" значение поля передавать (и откуда его брать) в случае если у меня внешних систем несколько - отслеживать еще и версию для каждой внешней системы отдельно в AX ? Нет, я понимаю, это круто, но - ЗАЧЕМ ?
Эти настройки обратимы? Мы сперва накатили, а потом поняли что вот конкретно этот сервис мы больше не будем пользовать. Есть более-менее простой сопособ откатить результаты работы этого скрипта?
__________________
Isn't it nice when things just work? |
|
23.06.2015, 14:00 | #22 |
Модератор
|
Цитата:
Ну т.е. аксовские права, особенно RLS не работают?
Цитата:
Document filters можно не использовать, но любой новый работающий функционал это как минимум не плохо
Цитата:
Они ведь ресурсы жрут, если правильно понимаю?
Цитата:
Эти настройки обратимы? Мы сперва накатили, а потом поняли что вот конкретно этот сервис мы больше не будем пользовать
Цитата:
Так там, собственно, кроме указанных табличек создается только одна хп, которая при вызове включает CT для указанных в репозитарии табличек, и отключает для тех, которых в списке нет. И... все. Остальное делается прямыми запросами, формируемыми в коде классов AifChangeTracking*
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: mazzy (2), macklakov (3). |
23.06.2015, 14:27 | #23 |
NavAx
|
Цитата:
Цитата:
Так вот как эта хрень работает!? Спасибо. Не знал. Может теперь я смогу наконец-то заставить это красочное недоразумение синхронизировать итоговые счета.
__________________
Isn't it nice when things just work? Последний раз редактировалось macklakov; 23.06.2015 в 14:37. |
|
23.06.2015, 14:36 | #24 |
NavAx
|
Цитата:
Цитата:
Т.е. нужен список нужных скриптов и один скрипт, который стирает вообще все.
__________________
Isn't it nice when things just work? |
|
23.06.2015, 15:42 | #25 |
Участник
|
Эта проблема в Aif решается введением параметра scope, который для разных query разный. Что в итоге приведет к созданию для одной и той же таблицы двух записей в списке таблиц с включенным CT с разным scope. При отключении query от CT одного из query будет удалена только одна запись из списка, и это не приведет к вытиранию триггеров и отключению CT для таблицы в БД при обработке списка таблиц скриптом. Соответственно, при отключении другого query запись из списка будет удалена, и скрипт, не обнаружив таблицу в списке, отключит для нее CT и удалит все изменения, которые были добавлены при включении.
|
|
|
За это сообщение автора поблагодарили: macklakov (3). |
24.06.2015, 16:29 | #26 |
Участник
|
Цитата:
Из позитива - быстро, надежно, не надо думать кто и где поменял, добавил или удалил данные, т.к. 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). |
24.06.2015, 16:44 | #27 |
Модератор
|
Спасибо
Цитата:
CT существует с 2008 года, почему не встроили его в AX раньше непонятно...
__________________
-ТСЯ или -ТЬСЯ ? |
|
24.06.2015, 16:45 | #28 |
Модератор
|
Перенес ветку в Базу знаний
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
25.06.2015, 09:53 | #29 |
Участник
|
Цитата:
Очевидно, для POS реализован отдельный механизм включения CT, поэтому AIF про таблицы для POS ничего не знает и в итоге происходит такой вот сюрприз. Видимо, над AIF и POS работали разные команды, в итоге имеем то что имеем А вообще, это повод запостить багу в MS, ибо на продакшене может вылезти неприятный такой "ой"... |
|
25.06.2015, 10:03 | #30 |
NavAx
|
Хм... Так для чего же тупые датчане в AX всю логику перенесли в AOT и использовали богопротивные табличные методы вместо таких привычных триггеров?
__________________
Isn't it nice when things just work? |
|
25.06.2015, 10:30 | #31 |
Moderator
|
Вообще интересно наблюдать эволюцию AIF в DAX. На мой взгляд, классический подход к интеграции, под который AIF и писался - выглядит примерно так:
1. В ключевых местах системы (типа классов разносок), вставляются вызовы Biztalk (тамошних интеграционных транзакций, которые, кажется, оркестровками называются). При этом в вызов передается некоторый набор ключевых полей, которые позволяют эту операцию идентифицировать (например - ваучер). 2. Biztalkовская оркестровка чего-то там думает, и спустя какое-то небольшое время, вызывает (через Axaptовский адаптер для biztalk) AIF-класс, который по ключевым полям (возможно как-то творчески проработанным и улучшенным самим biztalk) возвращает в виде XML документ (или документы - например оркестровка может решить запросить не только накладную но и перечитать отборочную накладную и закупку). 3. Дальше оркестровка как-то трансформирует документ, передает в посторонние приложения, возможно потом получив от них ответ обновляет какие-то документы в Аксапте (возможно снова через AIF). Даже если Biztalk не использовался - парадигма была такая - по некоторым событиям Аксапта пинает стороннее приложение и стороннее приложение через AIF читает/пишет документы, как-то связанные с событием. На практике партнеры Biztalk не знали, а клиенты из за астрономической цены его не покупали. В результате, партнеры начитавшиеся Микрософтовской рекламы, писали чудовщиные имплементации, при которых какие-то кривые батчи как-то вызывали AIF и чего-то там импортировали. При этом никакие события не отслеживались и эти батчики просто пытались сканировать таблицы по датам обновления или по номеру обновившей транзакции. В итоге - Микрософт создал альтернативу существующему партнерскому подходу. С одной стороны - этот подход явно культурнее, чем то что я видел на реальных внедрениях. С другой - лучше бы они Biztalk популяризовали и продавали бы за менее сумасшедшие деньги. Все-таки идея событий и документов выглядит гораздо естественнее идеи просканировать изменения и дедуктивным методом понять что с данными происходило... |
|
|
За это сообщение автора поблагодарили: mazzy (2), macklakov (5). |
25.06.2015, 11:34 | #32 |
Участник
|
|
|
25.06.2015, 11:40 | #33 |
Участник
|
да, идея та же. реализация намного мощнее и лучше
угу. потому что... помимо того, что Vadik сказал: каждый подписчик получает свой набор изменений предположим один подключается в изменениям раз в час, а другой подключается раз неделю. второй получит больший набор изменений как только подключится. и да... это работает ОООООЧЕНЬ быстро по сравнению с аксаптовскими штатными вещами. плюс масштабирование от SQL хорошее. |
|
25.06.2015, 11:44 | #34 |
Участник
|
Цитата:
пока их купили, пока встроили в аксапту, пока ужаснулись и пока таки решили что надо что-то делать... наоборот, очень быстро |
|
25.06.2015, 11:46 | #35 |
Участник
|
Цитата:
Сообщение от makbeth
для POS реализован отдельный механизм включения CT, поэтому AIF про таблицы для POS ничего не знает и в итоге происходит такой вот сюрприз.
Видимо, над AIF и POS работали разные команды, в итоге имеем то что имеем А вообще, это повод запостить багу в MS, ибо на продакшене может вылезти неприятный такой "ой"... разные команды... не то слово! блин... |
|
25.06.2015, 11:52 | #36 |
Moderator
|
Вот тут пишут что не закрыт, а даже пытается возродиться (хотя - как всегда после изрядной потери в умных головах...) Источник достаточно авторитетный в бизтолковских кругах.
|
|
25.06.2015, 11:53 | #37 |
Модератор
|
Скорее - маааленький шажок в облегчении продвижения продвижении AX как MDM системы "в центре", в которой ведутся все мастер-данные, с готовыми унифицированными интерфейсами для их "вытягивания", а вспомогательные системы к ней подстраиваются и синхронизуются, забирая изменения. Не царское это дело - из учетной системы одни и те же мастер-данные push-ить в десять приложений в пяти форматах по трем протоколам - от подсчета денег отвлекает
__________________
-ТСЯ или -ТЬСЯ ? |
|
25.06.2015, 11:54 | #38 |
Участник
|
Цитата:
представляешь какая каша в голове у молодежи? Аксапта появилась ОЧЕНЬ давно. 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. |
|
25.06.2015, 11:56 | #39 |
Участник
|
Цитата:
Сообщение от fed
Вот тут пишут что не закрыт, а даже пытается возродиться (хотя - как всегда после изрядной потери в умных головах...) Источник достаточно авторитетный в бизтолковских кругах.
я говорю свой опыт. еще когда я был партнером, один клиент хотел купить. МС не продал. и настоятельно отговаривал по причине закрытия. конечно, может это я не умел его продавать. |
|
26.06.2015, 03:30 | #40 |
NavAx
|
Не настолько давно. Как раз когда начинал вершился легендарный проект, где логику на триггеры переписывали.
__________________
Isn't it nice when things just work? |
|
Теги |
aif, ax2012, change tracking, mdm |
|
|