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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.06.2015, 13:34   #21  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,230 / 975 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Vadik Посмотреть сообщение
Ну зачем в сценариях интеграции передавать "старое значение поля" ? А что внешняя система будет делать с моим "старым" значением из AX если его "старое" (текущее) отличается ? А какое именно "старое" значение поля передавать (и откуда его брать) в случае если у меня внешних систем несколько - отслеживать еще и версию для каждой внешней системы отдельно в AX ? Нет, я понимаю, это круто, но - ЗАЧЕМ ?
Еще раз, я хочу понять применимость этой штуки. Если это лишь самые прямолинийные сценарии интеграции, ну что ж, с microsoft спорить сложно. Но может оно еще хоть на что-то годится?
Цитата:
Сообщение от Vadik Посмотреть сообщение
Эти модификации не нужно переносить потому что это не модификации как таковые а вспомогательные объекты \ настройки которые AIF сам создаст при разворачивании \ настройке сервиса в новой среде
Эти настройки обратимы? Мы сперва накатили, а потом поняли что вот конкретно этот сервис мы больше не будем пользовать. Есть более-менее простой сопособ откатить результаты работы этого скрипта?
__________________
Isn't it nice when things just work?
Старый 23.06.2015, 14:00   #22  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Ну т.е. аксовские права, особенно RLS не работают?
Не понимаю как "Нормально (штатно) - на уровне настроек безопасности порта и привилегий на сервисные операции" трансформировалось в "не работают". AIF вполне нормально вписан в родную систему безопасности в 2012, понимайте это как "аксовские права - работают". Применяются ли RLS (!?) и XDS - не проверял, но могу

Цитата:
Document filters можно не использовать, но любой новый работающий функционал это как минимум не плохо
Цитата:
Они ведь ресурсы жрут, если правильно понимаю?
Ну, как последний оставшийся аргумент "против" - зачтено. Хотя, если задуматься, вся аксапта "жрет ресурсы", а вся жизнь - бессмысленная суета и тлен

Цитата:
Эти настройки обратимы? Мы сперва накатили, а потом поняли что вот конкретно этот сервис мы больше не будем пользовать
Самое простое в данной ситуации - просто отключить ненужную сервисную операцию или порт целиком и оставить все остальное как есть. Если хочется отключить настроенный change tracking - это придется джобить. Хотя накладные расходы от включения change tracking - минимальные. Чтобы за примерами далеко не ходить, Management Reporter включает change tracking на транзакционных таблицах в GL (включая GeneralLedgerAccountingEntry) - и ничего, никто от этого пока не умер

Цитата:
Так там, собственно, кроме указанных табличек создается только одна хп, которая при вызове включает CT для указанных в репозитарии табличек, и отключает для тех, которых в списке нет. И... все. Остальное делается прямыми запросами, формируемыми в коде классов AifChangeTracking*
Я знаю. Но все равно хочу нормального (ок, согласен на хоть какой-то) инструментария для управления а не джобов \ классов запускаемых из AOT
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: mazzy (2), macklakov (3).
Старый 23.06.2015, 14:27   #23  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,230 / 975 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Vadik Посмотреть сообщение
Не понимаю как "Нормально (штатно) - на уровне настроек безопасности порта и привилегий на сервисные операции" трансформировалось в "не работают".
Неправильно понял, какой порт имеется в виду. Если AIF порт, то да, вопрос снят.
Цитата:
Сообщение от Vadik Посмотреть сообщение
Ну, как последний оставшийся аргумент "против" - зачтено. Хотя, если задуматься, вся аксапта "жрет ресурсы", а вся жизнь - бессмысленная суета и тлен
Забавен сам факт включения неиспользуемой фичи, которая требует усилий по сопровождению.

Цитата:
Сообщение от Vadik Посмотреть сообщение
Management Reporter включает change tracking на транзакционных таблицах в GL (включая GeneralLedgerAccountingEntry) - и ничего, никто от этого пока не умер
Так вот как эта хрень работает!? Спасибо. Не знал. Может теперь я смогу наконец-то заставить это красочное недоразумение синхронизировать итоговые счета.
__________________
Isn't it nice when things just work?

Последний раз редактировалось macklakov; 23.06.2015 в 14:37.
Старый 23.06.2015, 14:36   #24  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,230 / 975 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от makbeth Посмотреть сообщение
Это как раз умеет Change Data Capture. В как я уже писал, в Aif реализованы зачатки его поддержки. Видимо еще нигде не пригодился.
Интересно бы было эту штуку вместо DatabaseLog использовать. Т.к. DatabaseLog читать неудобно и медленно.
Цитата:
Сообщение от makbeth Посмотреть сообщение
Откат делается парным скриптом. По моему, это очевидно, когда функционал позволяет включать/отключать свои возможности для определенных объектов системы.
Я специально приводил сценарий двух query c одинаковой таблицей. Парный скрипт сброса параметров вытрет слишком много, т.к. не знает о существовании другого скрипта.
Т.е. нужен список нужных скриптов и один скрипт, который стирает вообще все.
__________________
Isn't it nice when things just work?
Старый 23.06.2015, 15:42   #25  
makbeth is offline
makbeth
Участник
Аватар для makbeth
КОРУС Консалтинг
 
43 / 52 (2) ++++
Регистрация: 15.05.2007
Адрес: Санкт-Петербург
Цитата:
Сообщение от macklakov Посмотреть сообщение
Я специально приводил сценарий двух query c одинаковой таблицей. Парный скрипт сброса параметров вытрет слишком много, т.к. не знает о существовании другого скрипта.
Эта проблема в Aif решается введением параметра scope, который для разных query разный. Что в итоге приведет к созданию для одной и той же таблицы двух записей в списке таблиц с включенным CT с разным scope. При отключении query от CT одного из query будет удалена только одна запись из списка, и это не приведет к вытиранию триггеров и отключению CT для таблицы в БД при обработке списка таблиц скриптом. Соответственно, при отключении другого query запись из списка будет удалена, и скрипт, не обнаружив таблицу в списке, отключит для нее CT и удалит все изменения, которые были добавлены при включении.
За это сообщение автора поблагодарили: macklakov (3).
Старый 24.06.2015, 16:29   #26  
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   #27  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Пару дополнительных граблей на которые успел натолкнуться
Спасибо
Цитата:
CT существует с 2008 года, почему не встроили его в AX раньше непонятно...
Как вариант - потому что для AX 2009 была заявлена совместимость с SQL Server 2005
__________________
-ТСЯ или -ТЬСЯ ?
Старый 24.06.2015, 16:45   #28  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Перенес ветку в Базу знаний
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: mazzy (2).
Старый 25.06.2015, 09:53   #29  
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   #30  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,230 / 975 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от makbeth Посмотреть сообщение
Здесь классическое "правая рука не знает что делает левая"
Хм... Так для чего же тупые датчане в AX всю логику перенесли в AOT и использовали богопротивные табличные методы вместо таких привычных триггеров?
__________________
Isn't it nice when things just work?
Старый 25.06.2015, 10:30   #31  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Вообще интересно наблюдать эволюцию 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  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
угу.
Цитата:
Сообщение от fed Посмотреть сообщение
лучше бы они Biztalk популяризовали и продавали бы за менее сумасшедшие деньги.
Biztalk закрыт и больше не развивается майкрософтом.
Старый 25.06.2015, 11:40   #33  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от macklakov Посмотреть сообщение
ради того чтобы иммитировать changedDate.
да, идея та же. реализация намного мощнее и лучше

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Еще интеграция с POS начиная с R3 переведена на SQL change tracking...
угу. потому что...


Цитата:
Сообщение от Vadik Посмотреть сообщение
очень удобно когда подписчиков на изменения много.
помимо того, что Vadik сказал:
каждый подписчик получает свой набор изменений

предположим один подключается в изменениям раз в час, а другой подключается раз неделю. второй получит больший набор изменений как только подключится.

и да... это работает ОООООЧЕНЬ быстро по сравнению с аксаптовскими штатными вещами.
плюс масштабирование от SQL хорошее.
Старый 25.06.2015, 11:44   #34  
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 года. как партнерские решения.

пока их купили, пока встроили в аксапту, пока ужаснулись и пока таки решили что надо что-то делать... наоборот, очень быстро
Старый 25.06.2015, 11:46   #35  
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:52   #36  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от mazzy Посмотреть сообщение
угу.


Biztalk закрыт и больше не развивается майкрософтом.
Вот тут пишут что не закрыт, а даже пытается возродиться (хотя - как всегда после изрядной потери в умных головах...) Источник достаточно авторитетный в бизтолковских кругах.
Старый 25.06.2015, 11:53   #37  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от fed Посмотреть сообщение
Даже если Biztalk не использовался - парадигма была такая - по некоторым событиям Аксапта пинает стороннее приложение и стороннее приложение через AIF читает/пишет документы, как-то связанные с событием
Скорее - маааленький шажок в облегчении продвижения продвижении AX как MDM системы "в центре", в которой ведутся все мастер-данные, с готовыми унифицированными интерфейсами для их "вытягивания", а вспомогательные системы к ней подстраиваются и синхронизуются, забирая изменения. Не царское это дело - из учетной системы одни и те же мастер-данные push-ить в десять приложений в пяти форматах по трем протоколам - от подсчета денег отвлекает
__________________
-ТСЯ или -ТЬСЯ ?
Старый 25.06.2015, 11:54   #38  
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.
Старый 25.06.2015, 11:56   #39  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от fed Посмотреть сообщение
Вот тут пишут что не закрыт, а даже пытается возродиться (хотя - как всегда после изрядной потери в умных головах...) Источник достаточно авторитетный в бизтолковских кругах.
я не знаю кто и что пишет.
я говорю свой опыт. еще когда я был партнером, один клиент хотел купить. МС не продал. и настоятельно отговаривал по причине закрытия.

конечно, может это я не умел его продавать.
Старый 26.06.2015, 03:30   #40  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,230 / 975 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от mazzy Посмотреть сообщение
Бггг!!!! блин, но ты то вроде давно...
Не настолько давно. Как раз когда начинал вершился легендарный проект, где логику на триггеры переписывали.
__________________
Isn't it nice when things just work?
Теги
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, время: 03:11.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.