Опыт настройки Navision + SQL Server для консолидации финансовой отчетности по стандартам МСФО

01.12.2010 | Автор: | Рубрика: Экспертам

Хочу поделиться опытом настройки репликации на основе MS SQL Server , который я в свое время нигде не нашел и вымучивал по шагам, спотыкаясь буквально на каждом =)
Описывать буду основные моменты, чтобы быть хоть как-то лаконичным…

Сразу опишу ту задачу, которую необходимо было решить.

Постановка задачи

Задача: Существует много филиалов компании в разных странах, с индивидуальными планами счетов в каждой. Также существует единый международный план счетов, принятый в головной компании. Задача стоит в создании базы данных, куда бы сливалась финансовая информация со всех филиалов компании в формате международного плана счетов.

Предлагаемое решение

С технической точки зрения задача решается следующим образом.

В каждой стране, где существуют филиалы компании, ставится база Navision формата SQL.

В этой базе создается столько фирм, сколько юридических лиц зарегистрировано в конкретной стране + 1.

Одна дополнительная фирма создается для сливания в нее финансовых операций в международном формате из фирм, в рамках текущей БД.

Пишется процедура, которая посредством NAS раз в определенный промежуток времени собирает данные и делает мэппинг плана счетов на международный. Принадлежность конкретной операции к конкретной компании ведется в разрезе измерений. Эти действия нужно проделать для каждой страны.

В головной организации создается база Navision формата SQL, предназначенная исключительно для целей сбора в себе финансовых данных из баз отдельных стран.

Внимание! В этой базе нужно создать компании, названия которых в точности повторяют названия дополнительных компаний из БД отдельных стран + 1 дополнительная компания, которая служит для сливания данных из фирм, в рамках текущей БД.
Запускается процедура, которая посредством NAS раз в определенный промежуток времени собирает данные.

Схема решения

Всю сложность организации опишем схематично:

Схема организации процесса
  • В красных квадратах – базы данных.
  • В красных овалах – фирмы.
  • Связь между фирмами с одинаковыми названиями – репликация на основе SQL.
  • Связь между фирмами в рамках одной БД – процедура, которая посредством NAS раз в определенный промежуток времени собирает данные.

Теперь о самом интересном.

Настройка SQL репликации

1) Таблица в которую переливаем данные должна:

  • минимальное требование, не иметь полей, которых нет в таблице, из которой переливаем данные;
  • максимальное требование, иметь все поля, которые есть в таблице, из которой переливаем данные;

2) Существует три понятия, о которых нужно иметь представление. Подробно про них можно почитать в справке по SQL («SQL Server Books Online»), а в двух словах:

  • дистрибуция: отвечает за отслеживание всех изменений в базе данных;
  • публикация: отвечает за выкладывание баз данных для скачивания данных;
  • подписка (субскрипция): отвечает за скачивание данных.

3) Для начала на SQL Server’е, на котором стоит международная единая база, настраиваем дистрибуцию. Replication -> Distribution. В этой настройке нужно обозначить все сервера в каждой конкретной стране.

4) Настраиваем Публикацию на серверах отдельных стран. Replication -> New Publication. Тип – Transactional. Почему именно такой? На самом деле методом как раз собственных проб и ошибок. Для сливания данных он подходит идеально.

  • выбираем те таблицы, которые будем реплицировать;
  • выбираем те поля, которые будем реплицировать.
Окно настройки

Напоминаю требования к таблицам: обязательно нужно выбрать все поля, которые есть в итоговой таблице, и нельзя выбирать поля, которых нет в итоговой таблице.

5) Настраиваем Subscription на SQL Server’е, на котором стоит международная единая база:

  • запускаем с Дистрибутора этого сервера (чтобы все подписки запускались с одного места);
  • настраиваем по времени, допустим, раз в час.

Вот, пожалуй, все, что вспомнилось. Если вдруг возникли какие-то вопросы, постараюсь помочь.

Другие статьи на тему репликации — «К вопросу о репликации Navision средствами SQL Server» и «Построение репликации в Navision»

Автор:

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

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

Комментарии (Один комментарий)

  1. […] статьи на тему репликации – «Опыт настройки Navision + SQL Server для консолидации финансово…» и «К вопросу о репликации Navision средствами SQL Server» […]

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