Пример настройки РИБ 8.1


Имеется центральный офис и очень удаленный филиал. Между собой территории связаны медленным каналом. В центральном офисе хотят иметь актуальную копию базы данных филиала. Реализовано с помощью механизма РИБ.

РЕПЛИКАЦИЯ БП8 С ПОМОЩЬЮ МЕХАНИЗМА РИБ

             Постановка задачи: имеется центральный офис и удаленный филиал (в разных городах). Между собой территории связаны медленным каналом. В центральном офисе хотят иметь актуальную копию информационной базы (ИБ) филиала.

             Филиал использует конфигурацию 1С «Бухгалтерия предприятия» 8 (БП8) в файловом варианте.

             Самый простой вариант - ежедневно копировать всю папку с ИБ по каналу из филиала в офис, делать это не позволяет делать медленный канал и большой объем ИБ.

             Предлагается решение выполнять ежедневные репликации с помощью механизма Распределенной Информационной Базы (РИБ).

             В терминах РИБ у нас имеется 2 узла главный (БП8 в филиале) и подчиненный (копия БП8 в центральном офисе). 

1. Настройка главного узла

             Вначале необходимо настроить главный узел. Для этого в ИБ филиала необходимо зарегистрироваться с административными правами. В основном меню программы выбрать пункт «Операции / Планы обмена...». В планах обмена стандартной конфигурации БП8 уже созданы 4 стандартных плана обмена:

  

             Открываем план «Полный». В нем находится одна предопределенная пустая запись. Эта запись описывает текущий узел. Предопределенную, т.е. добавленную на уровне конфигурации запись удалить нельзя, но ее можно и необходимо исправить для более четкого понимания ее значения. Жмем <F2>, заполняем запись: «Наименование» может быть произвольным, например «Главный узел». «Код» тоже может быть произвольным, например «Б01» (типа «Бухгалтерия 01»). Жмем «ОК».

 

       Текущий узел описан, теперь необходимо описать узел-приемник. Жмем <F9>, добавляем новый узел с именем «Копия БП» и кодом «Б02». Получаем два узла:

 

            В РИБ может быть много подчиненных узлов и обмен будет производиться между одним главным узлом и каждым из подчиненных узлов, но для нашей «узкой» цели достаточно двух «Источник» (главный узел) и «Приемник» (подчиненный узел - копия БП).

 

            Теперь физически создадим подчиненный узел (новую базу данных). Для этого необходимо встать на строчку узла «Копия БП» и нажать на значок «Создать начальный образ...» или выбрать это действие из меню:

 

            Система предложит выбрать тип ИБ. Необходимо выбрать «На данном компьютере...». Затем необходимо указать каталог, в котором будет создана новая ИБ. Лучше создать новую папку и там будет создана новая ИБ:

 

            После этого в указанном каталоге будет создана новая ИБ 1С и в эту базу будут перенесены все данные из главной базы. Сразу стоит отметить, что новая ИБ не является точной копией исходной. В ней свои настройки (свой список пользователей и т.д.), переносятся только данные и модифицированные планы обмена, т.е. в новой ИБ останутся только два узла «Главный узел» и «Копия БП». Второй узел в новой ИБ будет предопределенным.

            Если исходная ИБ большая и в ней работают пользователи, при создании начального образа возможны коллизии, поэтому операцию создания нового образа рекомендуется проводить на ИБ в монопольном режиме.

            Если в главном узле было описано несколько подчиненных узлов, операцию по созданию начального образа ИБ необходимо провести для каждого узла, т.е. будет создано столько новых ИБ, сколько было описано узлов в исходной базе. Для наших целей достаточно одного подчиненного узла.

            В момент создания начального образа, в главной базе будет создана таблица синхронизации объектов главной базы с этим узлом. В общем случае таких таблиц создается по количеству подчиненных узлов. При создании начального образа узла устанавливается признак синхронизации с узлом.

            Теперь новую ИБ необходимо скопировать в центральный офис. После этого на обоих территориях будут одинаковые (в смысле данных) ИБ.

            Созданную ИБ необходимо настроить как любую новую базу: ввести пользователей и т.д. 

2. Порядок обмена данными

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

            Полный цикл обмена состоит из следующих этапов:

  • a) Выгрузка в главной ИБ данных, измененных после последнего обмена данных.
  • b) Передача выгруженных данных в центральный офис;
  • c) Загрузка данных в копию ИБ;
  • d) Выгрузка данных из копии ИБ (выгружаются подтверждения о приеме данных);
  • e) Передача результата обмена в филиал;
  • f) Загрузка файла обмена в главную базу для подтверждения приема изменений в копии ИБ. 

            Для проверки обмена выполним цикл обмена вручную. Зарегистрируемся в исходной ИБ. Сделаем изменение в ИБ, например введем новую запись в справочник «Номенклатура»:

 

            Откроем план обмена «Полный». Встанем на строку «Копия БП». Нажмем на значок «Записать изменения». Появится окно для выбора папки, в которую будут сохраняться файлы выгрузки и загрузки. Лучше создать для этого отдельную папку с понятным именем, например «Обмен». Автоматически сформируется имя файла выгрузки «Message_Б01_Б02.zip». По имени можно понять, что этот файл предназначен для передачи из узла «Б01» в узел «Б02». Жмем «ОК».

  

            По завершении операции «Номер отправленного сообщения» увеличится на 1. В указанной папке будет создан архивный (ZIP) файл для передачи на узел «Б02». По каналам связи передаем этот файл в центральный офис. Там также следует создать выделенную папку, можно с таким же именем, куда необходимо поместить созданный файл.

            В центральном офисе заходим в ИБ, открываем план обмена «Полный», встаем на строчку «Главный узел». Жмем на значок «Прочитать изменения», указываем путь к файлу обмена. Жмем «ОК»:

 

            Можно проверить, что новая переданная запись попала в справочник «Номенклатура».

            Для того, чтобы рабочая ИБ «знала», что обмен произведен успешно, необходимо послать подтверждение успешного обмена. Если этого не сделать, то при следующем обмене из филиала произойдет повторная выгрузка неподтвержденных объектов.

            В центральном офисе делаем выгрузку ИБ. Жмем на значок «Записать изменения». В указанную ранее папку запишется файл с автоматически созданным именем «Message_Б02_Б01.zip». Название говорит, что этот файл предназначен для главного узла «Б01» от подчиненного узла «Б02». Жмем «ОК». Происходит выгрузка указанного файла. В этом файле содержится подтверждение успешного приема изменений основной ИБ.

 

            Созданный файл необходимо переслать в филиал, в папку «Обмен», а затем в филиале в программе выполнить операцию «Прочитать изменения». Номер принятого сообщения увеличится на 1. На этом полный цикл обмена завершен.

 

            Таким образом, вручную был проверен механизм обмена между двумя удаленными ИБ. 

3. Настройка регулярного обмена 

            Такой обмен очень трудоемок, поэтому в 1С имеются средства для автоматизации процедур обмена. Для упрощения обмена необходимо на каждом узле зайти в основном меню программы «Сервис / Распределенная информационная база (РИБ) / Настроить узлы РИБ».

             В появившемся окне добавить строку и заполнить ее. Например, заполним строку в главном узле:

            Теперь при нажатии на значок «Выполнить обмен по текущей настройке» произойдет загрузка и выгрузка данных для подчиненного узла.

 

            Для автоматического запуска заданий обмена необходимо настроить расписание на закладке «Автообмен». Расписание автообмена следует хорошо продумать, т.к. с выгрузками из базы данных нужно синхронизировать файловый обмен между территориями. Кроме того, в нашем случае филиал и центральный офис находятся в разных часовых поясах, что накладывает дополнительные сложности в синхронизации.

 

            Для автоматического запуска заданий необходима дополнительная настройка в меню «Предприятие / Настройка параметров учета / Обмен данными». Необходимо заполнить эту закладку.

            Префикс необходим, если в подчиненном узле происходит ввод документов. Документам при обмене будет присваиваться префикс. Для автоматического запуска заданий обязательно необходимо ввести пользователя и интервал опроса. Обмен будет происходить в сеансе указанного пользователя, т.е. необходимо запустить программу с авторизацией.  Пример настроек для файловой ИБ:

 

             Аналогично нужно настроить все подчиненные узлы. В нашем случае это узел «Копия БП» в центральном офисе. 

4. Выполнение регулярного обмена

            Для выполнения регулярного обмена необходимо выполнить следующую  последовательность действий:

  • a) Войти на главном узле (в филиале) в программу под именем пользователя, указанного в настройках параметров учета (Любимов). После успешного входа процедура обмена будет запускаться через указанный интервал. В тестовом примере - через 600 секунд. При обмене вначале происходит чтение входного файла обмена от подчиненного узла, а затем запись новых изменений ИБ в выходной файл обмена. Если входной файл обработан успешно, он удаляется из папки обмена.
  • b) Затем необходимо произвести файловый обмен между центральным офисом и филиалом. Новый выходной файл будет передан в центральный офис. Файловый обмен необходимо синхронизировать с интервалом регламентных заданий в программе. Если в программе интервал составляет 1 час, то файловый обмен должен происходить чаще, например каждые 30 минут.
  • c) В центральном офисе запущенная программа также будет пытаться выполнить регламентное задание через указанный интервал. Здесь также вначале происходит чтение полученного файла, а затем запись в выходной файл. Т.к. ввод данных идет только в филиале, то в выходной файл заносятся квитанции о получении данных. При удачном чтении входной файл, полученный из филиала, будет удален.
  • d) При очередном сеансе связи происходит обмен файлами между обменными папками.
  • e) Т.к. программа в филиале уже открыта, то при очередном автоматическом запуске регламентного задания произойдет очередной обмен, т.е. повторение пункта а).

 

 

 

Файлы обработки:

-