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

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

Осуществим эту задачу через настройку Распределенной информационной базы. Конфигурация информационной базы – “Бухгалтерия предприятия 2.0”.

Настройка FTP ресурса.

Настроим FTP на примере HCube: Заходим на сайт hcube.ru. Вкладка Хостинг, FTP Хостинг (http://www.hcube.ru/hosting/ftp/). Выбираем минимальный тарифный план FTP -10, этого будет достаточно для обмена между узлами распределенной информационной базы. Можно заказать пробный период 15 дней, нажимаем “Пробуем”. Далее нам необходимо зарегистрироваться:

Указываем имя пользователя и пароль для доступа в личный кабинет. После того как заявка принята, ждем письмо на указанную электронную почту с реквизитами доступа к FTP . Информация о конфигурации Вашей услуги хостинга: ****************************************************************
Логин хостинга: user725
Пароль хостинга: ffUXP3CDU
IP-адрес хостинга: 85.10.207.234

****************************************************************
Панель управления для ФТП хостинга https://cp.hcube.ru/manager/ispmgr

Ждем, когда состояние станет “Активен”.

Настройка плана обмена.

Необходимо определить центральный узел базы данных. Центральным узлом выберем рабочее место, находящееся в офисе. С центральным узлом будут обмениваться два других. Настроим центральный узел. Для этого в ИБ необходимо зайти под пользователем с полными правами. В основном меню программы выбрать пункт «Операции / Планы обмена…» . В планах обмена стандартной конфигурации “Бухгалтерия предприятия 8” уже созданы 7 стандартных планов обмена: Открываем план «Полный» . В нем находится одна предопределенная пустая запись. Эта запись описывает текущий узел. Предопределенную, т.е. добавленную на уровне конфигурации запись удалить нельзя, но ее можно исправить. Нажимаем изменить: поле «Наименование» может быть произвольным, например «Центральный узел» . «Код» тоже может быть произвольным, например «01» , жмем «ОК» . Текущий узел описан, теперь необходимо описать подчиненные узлы. Добавляем новые элементы с именем «Узел 1» и кодом «02» и «Узел 2» с кодом «03» . Получаем три узла:
В РИБ может быть много подчиненных узлов и обмен будет производиться между одним центральным узлом и каждым из подчиненных узлов. Теперь физически создадим подчиненный узел (новую базу данных). Для этого необходимо встать на строчку узла «Узел 1» и нажать на значок «Создать начальный образ…» или выбрать это действие из меню:
Система предложит выбрать тип информационной базы (ИБ). Необходимо выбрать «На данном компьютере…» . Затем указать каталог, в котором будет создана новая ИБ. После этого в указанном каталоге будет создана новая база и в эту базу будут перенесены все данные из главной базы. Сразу стоит отметить, что новая ИБ не является точной копией исходной. В ней свои настройки (свой список пользователей и т.д.), переносятся только данные и модифицированные планы обмена, т.е. в новой ИБ останутся только два узла «Центральный узел» и «Узел 1» . Если исходная база данных большая и в ней работают пользователи, при создании начального образа возможны коллизии, поэтому операцию создания нового образа рекомендуется проводить в монопольном режиме. Если в центральном узле было описано несколько подчиненных узлов, операцию по созданию начального образа ИБ необходимо провести для каждого узла, т.е. будет создано столько новых ИБ, сколько было описано узлов в исходной базе. Тоже сделаем для «Узел 2» . В момент создания начального образа, в главной базе будет создана таблица синхронизации объектов главной базы с этим узлом. В общем случае таких таблиц создается по количеству подчиненных узлов. При создании начального образа узла устанавливается признак синхронизации с узлом. Теперь базы данных подчиненных узлов необходимо скопировать на рабочие места «Узел 1» и «Узел 2» . После этого на трех компьютерах будут одинаковые (в смысле данных) информационные базы.

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

В данной задаче у нас общий случай, когда все три базы данных являются рабочими, т.е. документы вводятся и изменяются в трех базах. Перейдем в меню «Сервис / Распределенная информационная база (РИБ) / Настроить узлы РИБ» . Настроим обмен между Центральным узлом и Узлом 1 . На Вкладке «Распределенные информационные базы» добавляем новый элемент, назовем его «Офис – Узел 1» (где «Офис» это наш Центральный узел). Выбираем в реквизите «Узел» «Узел 1» . В поле «Тип обмена» выбираем «Обмен через FTP ресурс» . Заполняем реквизиты, которые пришли нам в письме на почту: «Адрес» , «Пользователь» , «Пароль» . Вкладки «Интерактивный обмен» и «Автоматический обмен» пока не заполняем, сделаем это после основных настроек обмена во всех узлах. Далее по аналогии создадим новый элемент по настройке обмена между Центральным узлом и Узлом 2.
Зайдем в ранее созданный начальный образ (информационная база) Узла 1 и создадим настройки «Узел 1 – Офис» . Сделаем тоже в Узле 2. На вкладке «Интерактивный обмен» мы можем определить: необходимо ли нам и выгружать и загружать данные, либо что-то одно. На вкладке«Автоматический обмен» можно добавить новый элемент для настройки автоматического обмена. Здесь мы можем задать расписание для конкретного обмена, например для «Офис – Узел 1» , и/или обмен по событиям.

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

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

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

ОЛЕГ ФИЛИППОВ , АНТ-Информ, заместитель начальника отдела разработки, [email protected]

РИБ в 1С. Границы возможностей

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

Часто, читая форумы или статьи online-авторов по поводу РИБ в 1С, можно встретить противоречивые мнения от «это лучшее и единственное, что можно использовать» до «оно безнадежно устарело». Давайте постараемся разобраться, какобстоят дела на самом деле.

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

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

  • Служба регистрации изменений – при включении начинает автоматически регистрировать изменения объектов или записей для обмена (или других целей). В режиме РИБ используется также для регистрации изменений конфигурации информационной базы.
  • Сериализация объектов/записей в XML. Практически любой объект 1С:Предприятия штатным образом сериализуется в XML.
  • Механизм поддержки одинаковой конфигурации всех узлов распределенной информационной базы. В режиме РИБ обмен данными между различными узлами возможен только в случае если у них одинаковая конфигурация. Переносится она при обмене автоматически. В конечном узле нужно только принять изменения.
  • Инфраструктура сообщений при обмене в распределенной информационной системе – гарантированная доставка. Зарегистрированные изменения упаковываются в сообщения и отправляются на конечный узел в пакетах. Удаляются изрегистрации только после подтверждения доставки пакета.
  • Инфраструктура уровня прикладных решений. Конечно, все вышеперечисленное не будет работать без развитых механизмов на уровне прикладных решений, часть из которых уже включена в БСП. В решениях реализована возможность выгружать данные по определенным правилам, изменять принципы их регистрации, определять способ доставки пакета.

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

Из описания выше можно сделать вывод о возможностях РИБ 1С как распределенной системы:

  • Поддержка единой конфигурации информационной базы (полуавтоматизированная).
  • Поддержка отслеживания изменений.
  • Гарантированная доставка.
  • Возможность схемы master-master.
  • Возможность схемы «звезда».
  • Возможность выборочной фильтрации изменений.

Достаточно неплохо – потребности небольшой сети вполне удовлетворит. Но у РИБ есть определенные ограничения, во многом связанные с архитектурными особенностями платформы 1С, которые накладывают определенные ограничения на использование данной технологии:

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

Постараемся теперь сравнить это с какой-либо «продвинутой» системой, которая имеет механизм репликации.

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

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

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

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

В данной статье мы рассмотрим настройку распределенной базы данных для 1С:Бухгалтерия 3.0. Несмотря на это, инструкция подойдет и для большинства других конфигураций 1С 8.3.

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

Главная информационная база

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

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

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

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

В первом окне подключения подчиненной базы, которая расположена в территориально удаленном офисе, отметим флагом, что подключение будет производиться через локальный или сетевой каталог. В нашем случае это «D:\DB\InfoBase». Так же заранее проверим возможность записи в него.

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

Когда программа предложит вам создать начальный образ, выберите эту опцию. Данная процедура займет некоторое время, после чего сохраните его на компьютер с именем «1Cv8.1CD».

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

Подчиненный узел РИБ

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

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

Обратите внимание , что нумерация элементов в нашем случае сквозная, но только в пределах одного и того же префикса.

Технология распределенных информационных баз (РИБ) позволяет создать территориально распределенную систему на базе конфигураций 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) и параметры подключения к серверу.

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

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

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

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