19.01.2011, 10:52 | #1 |
Участник
|
Оповещение внешней системы при изменении заказа
Нужно оповещать внешнюю систему при изменении заказов/изменении количества в наличии номенклатуры. Как такой интерфейс лучше реализовать?
Желательно, чтобы информация передавалась с помощью XML файлов, но другие варианты тоже к рассмотрению принимаются. Самое простое - триггеры на sql базе/аксаптовских таблицах. Можно ли как-то для решения задачи использовать событие записи в AX Database log? Можно ли решить задачу с помощью AIF? |
|
19.01.2011, 11:00 | #2 |
Administrator
|
Один из вариантов - это создание периодической операции и собственного журнала экспорта. Периодическая операция раз в ххх минут (часов) сравнивает информацию из журнала экспорта (т.е. из того что ушло внешней системе) с информацией, хранящейся в заказе. При наличии расхождений - шлет информацию во внешнюю систему и обновляет журнал экспорта.
По собственному опыту - так можно делать экспорт данных в интернет-магазин (к примеру).
__________________
Возможно сделать все. Вопрос времени |
|
19.01.2011, 11:06 | #3 |
MCTS
|
Как вариант - при изменении заказа помечать его флагом для выгрузки. Написать пакетный обработчик в Аксапте, который будет выгружать в xml отмеченные заказы, снимать у них флаг для выгрузки + для надежности можно проставлять в заказе дату / время последней выгрузки.
__________________
I could tell you, but then I would have to bill you. |
|
19.01.2011, 11:10 | #4 |
Administrator
|
И так тоже можно. Так удобнее фильтровать заказы для выгрузки. Зато в случае журнала экспорта - нет необходимости модифицировать как таблицу заказов, так и логику разноски заказа
__________________
Возможно сделать все. Вопрос времени |
|
19.01.2011, 12:03 | #5 |
северный Будда
|
Думаю, что оперативные изменения (изменение состояния резервов и т.д.) лучше всё-таки отражать по факту события, а не периодически. Чтобы не было чреватых расхождений (например, в доступном наличии) между системами. У автора топика, как я понимаю, именно такая ситуация.
__________________
С уважением, Вячеслав |
|
19.01.2011, 12:19 | #6 |
Administrator
|
Цитата:
Если резервы меняются часто (условно - каждые 5 минут) - то сам факт передачи информации во внешнюю систему уже может затормозить онлайновость работы (т.е. необходимо постоянное подключение внешней системы к АХ). А вот дополнительное телодвижение по изменению состояния в момент разноски/выделения резерва - как раз явно не ускорит данный процесс. При этом, при необходимости нескольких выгрузок (это помимо плюсов легкой модификации) - не нужно на каждую выгрузку заниматься взведением каких-то флагов/признаков.
__________________
Возможно сделать все. Вопрос времени |
|