К вопросу о репликации Navision средствами MS SQL Server

Решение задачи репликации и обмена данными средствами SQL сервера

Будем использовать сиквельную репликацию merge по топологогии звезда.
Структуру таблиц расписывать не буду – описываю идею.
Итак репликация:
Необходимые условия – все серии номеров разделены по всем базам, все книги операций разделены по базам. В Навижне заводим табличку со списком таблиц, которые будем реплицировать, и список баз холдинга. Создаем скрипт по генерации паблишера в рабочих базах и подписчика в центральной базе. Это сделать достаточно просто, изучив BOL. Вуаля – репликация работает.

Обмен данными

Здесь все гораздо интереснее (отсылка документов и их прием). В качестве транспорта будем использовать также сиквельную репликацию описанным выше способом.

Механизм:
1. Добавляем во все таблицы которые участвуют в обмене поле – Идентификатор Обмена
2. Создаем простую табличку лога обмена:
Ид Обмена
Ид базы Отправителя
Ид базы Получателя

Другие Поля

3. Для обмена будем использовать специальную фирму-обменник.
При нажатии на «Отправить документ» в фирме-обменнике формируются автоматически (на основе заранее настроенных связей – как это сделать – отдельная тема) или кодом записи документа – заголовок, строки, возможно справочники.

4. Создаем скрипт по генерации паблишера и подписчика. Здесь тонкости – каждая база будет является паблишером и подписчиком, рабочие базы реплицируют в центральную базу обменник все записи, но подписаны только на то, что отправлено им (для этого и нужно поле ид обмена – на них строим where-условие).

5. В результате имеем – в Базе А нажали отправить документ, выбрали базу, куда отправляем – базу Б, записи кинулись в фирму-обменник и отреплицировались в центральную базу-обменник, далее ушли в базу Б.

6. В коде Нава (или автоматически – как это сделать – отдельная тема) прописываем процедуру приема документа. Тут уже все зависит от конкретного проекта (расход в базе А идет в приход базы Б и т. д.

Вуаля.
Тема очень интересная, и практически готовое решение. Детали мы обдумаем, и выложим на сайте уже рабочий вариант, который можно предложить для использования и доработки всем желающим. Присоединяйтесь!

Другие статьи на тему репликации — «Опыт настройки Navision + SQL Server для консолидации финансовой отчетности» и «Построение репликации в Navision»

Автор:

В области Navision - с 2003 года. Профессиональные интересы: NAV, MS SQL, .NET, BPMN, IT-менеджмент. Предметная область: логистика, финансы, склады, 3PL.

Количество статей, опубликованных автором: 86.

Добавить комментарий