|
23.06.2015, 12:03 | #1 |
Участник
|
Цитата:
В чем проблема написать специально обученный скрипт(ы) один раз и использовать его для любой таблицы (что собственно в 2012 и сделано)? |
|
23.06.2015, 12:38 | #2 |
NavAx
|
Цитата:
Сообщение от makbeth
Дает. Фиксируются все изменения, причем каждое изменение порождает новую версию в CT. Т.е. ровно те же возможности, что дает DatabaseLog. Особенность в том, что версии на SQL хранятся только ограниченное время (2 дня по умолчанию) и нужно периодически эти изменения считывать, чтобы они не потерялись.
Управление модификациями. Как мне перенести то, что этот скрипт нагенерил? Как откатить? Как контролировать версии?
__________________
Isn't it nice when things just work? |
|
23.06.2015, 12:50 | #3 |
Участник
|
Это как раз умеет Change Data Capture. В как я уже писал, в Aif реализованы зачатки его поддержки. Видимо еще нигде не пригодился.
Цитата:
Откат делается парным скриптом. По моему, это очевидно, когда функционал позволяет включать/отключать свои возможности для определенных объектов системы. |
|
23.06.2015, 14:36 | #4 |
NavAx
|
Цитата:
Цитата:
Т.е. нужен список нужных скриптов и один скрипт, который стирает вообще все.
__________________
Isn't it nice when things just work? |
|
23.06.2015, 15:42 | #5 |
Участник
|
Эта проблема в Aif решается введением параметра scope, который для разных query разный. Что в итоге приведет к созданию для одной и той же таблицы двух записей в списке таблиц с включенным CT с разным scope. При отключении query от CT одного из query будет удалена только одна запись из списка, и это не приведет к вытиранию триггеров и отключению CT для таблицы в БД при обработке списка таблиц скриптом. Соответственно, при отключении другого query запись из списка будет удалена, и скрипт, не обнаружив таблицу в списке, отключит для нее CT и удалит все изменения, которые были добавлены при включении.
|
|
|
За это сообщение автора поблагодарили: macklakov (3). |
23.06.2015, 13:11 | #6 |
Модератор
|
Ну зачем в сценариях интеграции передавать "старое значение поля" ? А что внешняя система будет делать с моим "старым" значением из AX если ее (системы) "старое" (текущее) отличается ? А какое именно "старое" значение поля передавать (и откуда его брать) в случае если у меня внешних систем несколько - отслеживать еще и версию для каждой внешней системы отдельно в AX ? Нет, я понимаю, это круто, но - ЗАЧЕМ ?
Цитата:
Управление модификациями. Как мне перенести то, что этот скрипт нагенерил? Как откатить?
Цитата:
Как контролировать версии?
Из того, что реально не хватает - это хоть какой-то инструментарий в виде пары-тройки форм для управления \ просмотра того что уже настроено (хотя репозитарий со списком таблиц со всключенным Change tracking и созданных триггеров присутствует)
__________________
-ТСЯ или -ТЬСЯ ? |
|
23.06.2015, 13:23 | #7 |
Участник
|
Так там, собственно, кроме указанных табличек создается только одна хп, которая при вызове включает CT для указанных в репозитарии табличек, и отключает для тех, которых в списке нет. И... все. Остальное делается прямыми запросами, формируемыми в коде классов AifChangeTracking*.
|
|
23.06.2015, 13:34 | #8 |
NavAx
|
Цитата:
Сообщение от Vadik
Ну зачем в сценариях интеграции передавать "старое значение поля" ? А что внешняя система будет делать с моим "старым" значением из AX если его "старое" (текущее) отличается ? А какое именно "старое" значение поля передавать (и откуда его брать) в случае если у меня внешних систем несколько - отслеживать еще и версию для каждой внешней системы отдельно в AX ? Нет, я понимаю, это круто, но - ЗАЧЕМ ?
Эти настройки обратимы? Мы сперва накатили, а потом поняли что вот конкретно этот сервис мы больше не будем пользовать. Есть более-менее простой сопособ откатить результаты работы этого скрипта?
__________________
Isn't it nice when things just work? |
|
Теги |
aif, ax2012, change tracking, mdm |
|
|