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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.06.2015, 13:34   #21  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
Сотрудники Microsoft Dynamics
 
1,829 / 691 (27) +++++++
Регистрация: 03.04.2002
Адрес: Australia
Цитата:
Сообщение от 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
 
3,197 / 1208 (47) ++++++++
Регистрация: 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
Сотрудники Microsoft Dynamics
 
1,829 / 691 (27) +++++++
Регистрация: 03.04.2002
Адрес: Australia
Цитата:
Сообщение от 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
Сотрудники Microsoft Dynamics
 
1,829 / 691 (27) +++++++
Регистрация: 03.04.2002
Адрес: Australia
Цитата:
Сообщение от 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 / 44 (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
Соотечественники
 
493 / 246 (9) ++++++
Регистрация: 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).
Старый 24.06.2015, 16:44   #27  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
 
3,197 / 1208 (47) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Пару дополнительных граблей на которые успел натолкнуться
Спасибо
Цитата:
CT существует с 2008 года, почему не встроили его в AX раньше непонятно...
Как вариант - потому что для AX 2009 была заявлена совместимость с SQL Server 2005
__________________
-ТСЯ или -ТЬСЯ ?
Старый 24.06.2015, 16:45   #28  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
 
3,197 / 1208 (47) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Перенес ветку в Базу знаний
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: mazzy (2).
Старый 25.06.2015, 09:53   #29  
makbeth is offline
makbeth
Участник
Аватар для makbeth
КОРУС Консалтинг
 
43 / 44 (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
Сотрудники Microsoft Dynamics
 
1,829 / 691 (27) +++++++
Регистрация: 03.04.2002
Адрес: Australia
Цитата:
Сообщение от makbeth Посмотреть сообщение
Здесь классическое "правая рука не знает что делает левая"
Хм... Так для чего же тупые датчане в AX всю логику перенесли в AOT и использовали богопротивные табличные методы вместо таких привычных триггеров?
__________________
Isn't it nice when things just work?
Старый 25.06.2015, 10:30   #31  
online
fed
Участник
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Ex AND Project
Соотечественники
 
1,998 / 3672 (126) ++++++++++
Регистрация: 13.03.2002
Адрес: İstanbul
Вообще интересно наблюдать эволюцию 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
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,237 / 3050 (142) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
угу.
Цитата:
Сообщение от fed Посмотреть сообщение
лучше бы они Biztalk популяризовали и продавали бы за менее сумасшедшие деньги.
Biztalk закрыт и больше не развивается майкрософтом.
Старый 25.06.2015, 11:40   #33  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,237 / 3050 (142) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от macklakov Посмотреть сообщение
ради того чтобы иммитировать changedDate.
да, идея та же. реализация намного мощнее и лучше

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


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

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

и да... это работает ОООООЧЕНЬ быстро по сравнению с аксаптовскими штатными вещами.
плюс масштабирование от SQL хорошее.
Старый 25.06.2015, 11:44   #34  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,237 / 3050 (142) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
CT существует с 2008 года, почему не встроили его в AX раньше непонятно....
решения, которые сейчас используют Change Tracking изначально появились раньше 2008 года. как партнерские решения.

пока их купили, пока встроили в аксапту, пока ужаснулись и пока таки решили что надо что-то делать... наоборот, очень быстро
Старый 25.06.2015, 11:46   #35  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,237 / 3050 (142) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от makbeth Посмотреть сообщение
для POS реализован отдельный механизм включения CT, поэтому AIF про таблицы для POS ничего не знает и в итоге происходит такой вот сюрприз.

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

разные команды... не то слово! блин...
Старый 25.06.2015, 11:52   #36  
online
fed
Участник
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Ex AND Project
Соотечественники
 
1,998 / 3672 (126) ++++++++++
Регистрация: 13.03.2002
Адрес: İstanbul
Цитата:
Сообщение от mazzy Посмотреть сообщение
угу.


Biztalk закрыт и больше не развивается майкрософтом.
Вот тут пишут что не закрыт, а даже пытается возродиться (хотя - как всегда после изрядной потери в умных головах...) Источник достаточно авторитетный в бизтолковских кругах.
Старый 25.06.2015, 11:53   #37  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
 
3,197 / 1208 (47) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от fed Посмотреть сообщение
Даже если Biztalk не использовался - парадигма была такая - по некоторым событиям Аксапта пинает стороннее приложение и стороннее приложение через AIF читает/пишет документы, как-то связанные с событием
Скорее - маааленький шажок в облегчении продвижения продвижении AX как MDM системы "в центре", в которой ведутся все мастер-данные, с готовыми унифицированными интерфейсами для их "вытягивания", а вспомогательные системы к ней подстраиваются и синхронизуются, забирая изменения. Не царское это дело - из учетной системы одни и те же мастер-данные push-ить в десять приложений в пяти форматах по трем протоколам - от подсчета денег отвлекает
__________________
-ТСЯ или -ТЬСЯ ?
Старый 25.06.2015, 11:54   #38  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,237 / 3050 (142) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от 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
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,237 / 3050 (142) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от fed Посмотреть сообщение
Вот тут пишут что не закрыт, а даже пытается возродиться (хотя - как всегда после изрядной потери в умных головах...) Источник достаточно авторитетный в бизтолковских кругах.
я не знаю кто и что пишет.
я говорю свой опыт. еще когда я был партнером, один клиент хотел купить. МС не продал. и настоятельно отговаривал по причине закрытия.

конечно, может это я не умел его продавать.
Старый 26.06.2015, 03:30   #40  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
Сотрудники Microsoft Dynamics
 
1,829 / 691 (27) +++++++
Регистрация: 03.04.2002
Адрес: Australia
Цитата:
Сообщение от 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, время: 15:18.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.