Инструкция по настройке Распределенной информационной базы (РИБ) через FTP ресурс. Распределенная информационная база. Пошаговая инструкция и подводные камни Создание начального образа для данного узла невозможно

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

Прежде всего зададимся вопросом: почему именно автообмен? Современные технологии, в сочетании с недорогим и быстрым интернетом, позволяют организовать удаленную работу без каких либо затруднений. Выбор способов как никогда широк: RDP, тонкий и веб-клиенты, объединение сетей при помощи VPN - есть над чем задуматься. Однако все эти способы имеют один существенный недостаток - сильная зависимость от качества канала связи.

Даже при идеальной работе местного провайдера гарантировать 100% доступность канала связи невозможно. Проблемы у магистрального провайдера, отсутствие электроснабжения, физическое повреждение линии связи и многие другие факторы делают эту задачу неразрешимой. В тоже время недоступность информационной базы на удаленном складе или в розничном магазине приводит к вполне ощутимым убыткам. Ну и наконец не будем забывать, что есть места (например промзоны на окраине городов) в которые подвести качественный канал связи дорого и/или проблематично.

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

РИБ на платформе 8.2 не является чем-то принципиально новым, представляя собой дальнейшее развитие УРИБ платформы 7.7, только теперь эта технология стала доступней и проще. В отличии от компоненты УРИБ, которую нужно было приобретать отдельно, РИБ является неотъемлемой частью многих типовых конфигураций и работает полностью в пользовательском режиме, позволяя обойтись без Конфигуратора даже на этапе настройки.

На этом месте пора бы было перейти к практической части, но придется сделать еще одно отступление. Дело в том, что переход на платформу 8.2, который вроде бы уже произошел, по факту привел к появлению двух типов конфигураций: на основе управляемого приложения, "родные" для платформы 8.2, и адаптированные с 8.1, продолжая использовать устаревшие технологии и механизмы. Так как существенная часть конфигураций (Бухгалтерия предприятия, Зарплата и управление персоналом) являются адаптированными или переходными, то сбрасывать их со счетов нельзя, поэтому первая часть нашей статьи будет посвящена этим конфигурациям (по сути платформе 8.1), в то время как во второй мы разберем настройку автообмена для конфигураций на основе управляемого приложения (платформе 8.2).

Рассмотрим практическую задачу: настроить автообмен через FTP для конфигурации Бухгалтерия предприятия 2.0. Несмотря на то, что РИБ позволяет производить обмен с использованием электронной почты или общих файловых ресурсов, мы рекомендуем использовать именно FTP, как наиболее простой и надежный способ связи. Как настроить собственный FTP-сервер вы можете прочитать в , либо можно использовать FTP сервис любого хостинг провайдера.

В первую очередь нам нужно настроить узлы обмена. Для этого запустим конфигурацию с правами администратора и выберем Операции - Планы обмена.

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

После чего создадим еще один узел для филиала, заполнив его аналогичным образом (для добавления нажмите зеленый кружок с плюсом). Следующим шагом будет создание начального образа для данного узла, который представляет собой готовую информационную базу в файловом режиме. Для этого кликните правой кнопкой мыши на нужном узле и в выпадающем списке выберите Создать начальный образ .

Теперь перейдем Сервис - Распределенная информационная база (РИБ) - Настроить узлы РИБ .

В открывшемся окне нажмите кнопку Добавить и настройте новый обмен, указав удаленный узел, тип обмена (через FTP) и параметры подключения к серверу.

Закладка Автоматический обмен позволяет настроить расписание обменов, обмен по событиям (начало и завершение работы и т.п.), данные настройки производятся для пользователя от чьего имени будет выполняться обмен, поэтому убедитесь в наличии у него прав для обмена данными.

Не забудьте указать префикс узла для нумерации документов (иначе вы получите разные документы с одинаковыми номерами) в Сервис - Настройки программы, здесь же можно настроить и некоторые другие параметры обмена. На этой же закладке следует выбрать пользователя для выполнения заданий обмена, если вы этого не сделаете расписание работать не будет. Помните, что обмен будет производиться только в том случае, если данный пользователь выполнил вход в программу.

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

На этом настройку обмена можно считать законченной и приступать к работе в распределенном режиме. Отдельно стоит остановиться на обновлении или внесении изменений в конфигурацию. Эти действия доступны только на центральном узле, все внесенные изменения будут автоматически распространены на периферийные узлы при следующем обмене. Для автоматического внесения изменений требуется чтобы периферийная база находилась в монопольном режиме, в противном случае нужно будет запустить Конфигуратор и выполнить Обновление конфигурации базы данных вручную.

В этом материале подробная инструкция по настройке обмена РИБ для 1С:Предприятие 8 и проблемы, с которыми столкнулся автор.

1. Создание узлов
Создаем новые узлы (главный и подчиненный): в пользовательском режиме "Операции / Планы обмена/Полный"
Выберем план обмена "Полный"
Создаем две записи:
- первую запись назовем "ЦБ" (главный узел), код укажем "ЦБ",
- вторую запись назовем "Подчиненный узел", код укажем "ПУ".
Значек с зеленным кружком - "ЦБ" (главный узел)

Для подчиненного узла нажимаем на иконку "Создать начальный образ". (Потребуется монопольный доступ)
Создать начальный образ
Далее в открывшемся окне заполняем параметры новой базы. По окончании нажимаем кнопку "Готово"
Создание начального образа ИБ
Начнется создание начального образа подчиненного узла распределенной информационной базы, по окончании появится сообщение "Создание начального образа успешно завершено". Жмем кнопку "ОК".
Добавляем базу подчиненного узла в список баз, запускаем ее.
В этой подчиненной базе открываем полный план обмена - значок "ЦБ красный, это значит, что этот узел является главным для информационно базы, в которой мы находимся.

2. Настройка префиксов
Для каждой базы, в настройках параметров учета (в УПП "Сервис / Параметры учета") на закладке "Обмен данными", устанавливаем префиксы. Это делается для того чтобы не возникало конфликтов в номерах и кодах документов и справочников, созданных в двух базах.
Для автообмена, устанавливаем галочку "Использовать механизм автоматического обмена..."
Закладка "Обмен данными"

3. Добавляем настройку обмена данными между узлами
Открываем: "Сервис \Распределенная информационная база (РИБ)\Настроить узлы РИБ"
Нажимаем "Добавить", откроется окно "Настройка обмена данными"
Настройка обмена данными

Нажимаем на значок "Выполнить обмен по текущей настройке"
Выполнить обмен по текущей настройке

Теперь о "подводных камнях"
1. Обмен данными может выполняться в автоматическом режиме и может быть инициализирован в следующих случаях:
* При запуске программы. Обмен будет выполняться при запуске программы,
* При завершении работы с программой. Обмен будет выполняться перед завершением пользователем работы с программой,
* При появлении каталога. Обмен будет выполнен только в том случае, если каталог указанный пользователем был невиден, а в настоящий момент стал виден. Настройка может быть использована для выполнения автоматического обмена при подключении к локальной сети или flash карты. Программа периодически будет проверять видимость указанного в настройках каталога и отмечать его текущее состояние,
* При появлении файла. Рекомендуется использовать данные режим, когда нужно выполнить обмен, если появляется входящий файл обмена данными. В этом случае, достаточно указать полный путь к входящему файлу обмена данными. Программа периодически анализирует наличие файла, и как только он появится, будет выполнен обмен, а после обмена этот файл будет принудительно УДАЛЕН (это делается для того, что бы процедура обмена не выполнялась постоянно),
* Периодический обмен данными. Обмен будет выполняться согласно настройкам периодического обмена данными. Если информационная база работает в файл-серверном режиме, то периодический обмен выполняется только у пользователя, который указан в параметрах учетной политики как "Пользователь для регламентных заданий в файловом режиме". В Клиент-серверном варианте обмен выполняется на сервере 1C:Предприятия.

У меня Клиент-серверный вариант - для работы регламентного автообмена пришлось перегружать сервер

2. Кодировка Windows.
Обмен прерывался ошибкой - так как не происходит сжатие файла. Это из-за ошибки кириллицы в командной строке при сжатии.
Лечится исправлением кодировок в реестре.
Например, для Windows Server 2008 -
Код

REGEDIT4
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
"1254"="c_1251.nls"
"1255"="c_1251.nls"

3. Создавая копию базы (например, для доработки) в клиент-серверном варианте, НЕОБХОДИМО, чтобы РЕГЛАМЕНТНЫЕ ЗАДАНИЯ КОПИИ базы были ВЫКЛЮЧЕНЫ. Блокировка регламентных заданий для копии ВКЛ

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

РИБ - распределенная информационная база, представляющая из себя древовидную конструкцию, ветвями которой являются отдельные развернутые базы 1С Предприятия. Эти базы называют узлами распределенной информационной базы (далее просто узлы). Между этими узлами образован обмен информацией для синхронизации всех узлов (конфигураций и баз).

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

Базовые принципы работы РИБ

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

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

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

Все данные в РИБ передаеются посредством сообщений. Содержимое этих сообщений четко регламентировано и не может быть произвольным, как в универсальном механизме обменов. Данные помещаются в сообщение используя принцип XML сериализации. Кроме этих изменений данных, в сообщение также помещается информация о изменении конфигурации, а также некоторое количество служебной информации. Изменения регистрируются от помещаются в сообщение обмена полностью автоматически. Ни пользователь, ни разработчик на это повлиять не могут.

Прием и формирование сообщений обмена в РИБ устанавливаются одной командой

Планыобмена. ЗаписатьИзменения(ЗаписьСообщения, 0 )

Содержимое читается посредством команды

Вывод

Можно смело говорить, что механизм РИБ в основном состоит из механизма универсального обмена с некоторыми отличительными особенностями, которые присутствуют только в структуре РИБ.

Для создания распределенной информационной базы необходимо зайти программу в режиме "1С: Предприятие". Для создания узлов распределенной базы в меню выбираем: Операции - Планы обмена. Откроется окно «Выбор объекта: План обмена».


1. Рассмотрим вариант с планом обмена «Полный».

Обмен будет, осуществляться по всем организациям, находящимся в распределенной информационной базе.

Выберем план обмена «Полный». Откроется окно «План обмена полный».

Заполняем две записи:

Первую запись назовем «Главный узел», код укажем «ГУ»,

Вторую запись назовем «Подчиненный узел», код укажем «ПУ».

Как видим из рисунка, у первой записи значок изображен с зеленным кружком, это значок «Главного узла».


Для создания копии информационной базы «Главного узла», кликаем на «Подчиненный узел» и нажимаем на значок «Создать начальный образ». Это будет информационная база «Подчиненного узла».


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


В поле «Каталог информационной базы» выбираем местоположение, куда будет установлена копия «Главного узла», нажимаем «Готово».


После создания информационной базы «Подчиненного узла» появится сообщение:


Нажимаем «Ок».

Добавляем информационную базу «Подчиненного узла» в "1С: Предприятие". Заходим в подчиненную базу в режиме "1С: Предприятие". Откроем: Операции - Планы обмена. Откроется окно «Выбор объекта: План обмена». Выберем план обмена «Полный». Откроется окно «План обмена полный». Видим что значок «Главного узла» оранжевый, это значит, что этот узел является главным для той информационной базы, в которой мы находимся.


Следующие настройки делаем и в Главном и в Подчиненном узле:

1. Добавляем префикс для распределенной информационной базы.

Это делается для того чтобы не возникало конфликтов в номерах и кодах документов и справочников, созданных в двух базах, поэтому в каждой базе указываем префикс, который будет добавляться в номера документов и коды справочников. Открываем: Сервис - Настройка программы - закладка «Обмен данными». В поле «Префикс узла для распределенной информационной базы:» в подчиненной базе вводим «ПУ», в главной базе вводим «ГУ».


2. Добавляем настройку обмена данными между узлами:

Открываем: Сервис - Распределенная информационная база (РИБ) - Настроить узлы РИБ. Откроется окно «Настройки обменов данными».


Нажимаем «Добавить», откроется окно «Настройка обмена данными». Вводим «Наименование» вашей настройки.


В поле «Узел» автоматически появится узел, для «Главного узла» будет «Подчиненный узел», для «Подчиненного узла» будет «Главный узел».

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

В поле «Тип обмена» настраиваем передачу данных между базами: через файловый или фтп-ресурс. Выбирем например «обмен через файловый ресурс».

В остальных полях ничего не меняем.

Нажимаем «Ок». Видим, что появилась настройка.

3. Для обмена данными делаем следующее:

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


После выгрузки появится окно результата выгрузки.


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

2. Рассмотрим вариант с планом обмена «По организации».

Обмен будет, осуществляется по выбранным организациям, находящимся в распределенной информационной базе.

Для создание узлов распределенной базы в меню выбираем: Операции - Планы обмена. Откроется окно «Выбор объекта: План обмена».


Выберем план обмена «По организации». Откроется окно «План обмена По организации».

Заполняем две записи:

Первую запись назовем «Главный узел», код укажем «ГУ», видим отличие от «Плана обмена: Полный», появилась таблица, в которой указываем Организации по которым будет происходить обмен.

Вторую запись назовем «Подчиненный узел», код укажем «ПУ», указываем организации.


Во всем остальном настройка идет абсолютно аналогично с «Планом обмена: Полный».

Похожие публикации