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

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

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

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

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

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

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

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

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

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

Вывод

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

краткая характеристика
Количество установок не ограничено Использование с компонентой Бухгалтерский учет 7.7 да
Количество периферийных баз данных не ограничено Использование с компонентой Оперативный учет 7.7 да
Самостоятельная программа нет Использование с компонентой Расчет 7.7 да
Тип ключа защиты USB Доставка по России включена в стоимость да
Дистрибутив в комплекте да Особенности покупки по заявлению
Руководство по установке в комплекте да

Для чего нужно 1C:Предприятие 7.7. Управление распределенными информационными базами (1С УРБД, 1С УРИБ)

Сокращения и аббревиатуры: 1С УРБД - Управление распределенными базами данных; 1С УРИБ - Управление распределенными информационными базами.

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

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

Компонента 1С УРБД может использоваться только с профессиональными версиями программ системы "1С:Предприятие 7.7".

Сколько штук "1C:Предприятие 7.7. Управление распределенными информационными базами" нужно купить, например, для головного офиса и двух удаленных складов?

Компонента "1C:Предприятие 7.7. Управление распределенными информационными базами" - 1С УРБД - устанавливается для центральной информационной базы. Одна компонента позволяет синхронизировать неограниченное количество периферийных информационных баз. Т.о., например, для синхронизации головного офиса и двух удаленных складов необходим один экземпляр "1C:Предприятие 7.7. Управление распределенными информационными базами".

Инструкция по созданию и настройке распределенных баз с помощью компоненты УРБД (УРИБ)

Компонента УРБД (Управление распределенными базами данных) применяется для обмена информацией между двумя идентичными базами 1С. Если конфигурации разные, то применять ее также можно, об этом написано в другой . Для работы компоненты необходимо наличие файла DistrDB.dll в папке BIN программы 1С: Предприятие.

Рассмотрим действия по созданию распределенных баз данных. Например, у нас есть рабочая база в каталоге D:\base1. Требуется сделать ее центральной и создать периферийную базу.

1. Создаем каталог D:\base2 для периферийной базы.

2. В каталогах D:\base1 и D:\base2 создаем папки CP и PC (используем латинские буквы).

3. Запускаем конфигуратор центральной базы (D:\base1) и выбираем Меню - Администрирование - Распределенная ИБ - Управление.

4. Нажимаем кнопку "Центральная ИБ", в появившемся окне вводим код и наименование базы. Для кода лучше использовать цифры или латинские буквы. Вводим, например, 001 и "Центральная база", подтверждаем нажатием кнопки "ОК".

5. Нажимаем кнопку "Новая периф. ИБ" для того чтобы создать периферийную базу. Вводим для нее параметры: 002 и "Периферийная база 1".

6. Курсором выделяем базу "Периферийная база 1" и нажимаем кнопку «Настр. автообмена». В настройках меняем ручной режим на автоматический. Будьте внимательны, это важно.

7. Курсором выделяем базу "Периферийная база 1" и нажимаем кнопку «Выгрузить данные», затем кнопку "ОК". В результате выгрузки появится файл D:\base1\CP\020.zip.

8. Запускаем 1С в режиме конфигуратора, добавляем в окне запуска 1С новую базу "Периферийная база 1", указываем для нее ранее созданный каталог D:\base2.

9. Выбираем Меню - Администрирование – Распределенная ИБ – Управление. На заданный вопрос «Информационная база не обнаружена. Выполнить загрузку данных?» нажимаем кнопку "Да" и указываем имя файла "D:\base1\CP\020.zip", нажимаем кнопку "ОК". После окончания загрузки процесс создания периферийной базы можно считать законченным.

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

Инструкция по обмену между распределенными базами с помощью компоненты УРБД (УРИБ)

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

Для выполнения обмена необходимо выбирать Меню - Администрирование - Распределенная ИБ - Автообмен. Если обмен автоматический (см. пункт 6 предыдущей инструкции), то все у нас получится.

1. Итак, изменяем либо создаем какие-то объекты, которые мигрируют в периферийную базу. Правила миграции объектов задаются на вкладке "Миграция" в свойствах объекта (см. дерево объектов в конфигураторе).

2. Запускаем конфигуратор центральной базы, выбираем Меню - Администрирование - Распределенная ИБ - Автообмен, нажимаем кнопку "Выполнить".

3. Полученный файл D:\base1\CP\020.zip перемещаем в папку D:\base2\CP\

4. Изменяем какие-то объекты периферийной базе данных. Желательно не те, которые менялись до этого в центральной базе, т.к. центральная база имеет приоритет изменений объектов при обмене.

5. Запускаем конфигуратор периферийной базы, выбираем Меню - Администрирование - Распределенная ИБ - Автообмен, нажимаем кнопку "Выполнить".

6. В результате автообмена у нас должны появиться изменения, поступившие из центральной базы данных. Также у нас должен появиться файл для передачи в центральную базу D:\base2\PC\021.zip

7. Копируем файл D:\base2\PC\021.zip в папку D:\base1\PC

8. Повторяем пункт 2. В результате в центральной базе появятся изменения, поступившие из периферийной базы.

Итак, общий принцип обмена: попеременное выполнение автообмена с одновременным перемещением файлов (пакетов обмена) из папки PC одной базы в папку PC другой базы и из папки CP одной базы в папку CP другой базы.

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

Компоненту УРБД (Управление распределенными базами данных) применяют, когда необходимо обмениваться информацией между двумя или более идентичными информационными базами (далее – ИБ) по узкому каналу связи (например, модем, электронная почта). Ниже приведена пошаговая инструкция и практические советы по настройке УРБД в 1С:Предприятие 7.7. Пример приведен для двух ИБ, хотя настроить его на большее количество баз по аналогии с двумя базами не составляет большого труда. Автор статьи: romix | Редакторы: evGenius
Последняя редакция №7 от 22.02.08 | История
URL:

Ключевые слова: УРБД, скрипт для автообмена, обмен между филиалами, почта, rom-mail.dll, DialMail.dll, CDO, дозвон, УРИБ

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

1) За работу компоненты УРБД отвечает библиотека DistrDB.dll в папке BIN программы 1С:Предприятие. Эта компонента приобретается и устанавливается отдельно.

2) Для примера автообмена мы создадим две информационные базы, разместив их в папках с именами c:\1c_base1 и c:\1c_base2. Создайте эти папки, а в каждой из них – вложенные папки с именами CP и PC (латинскими буквами)

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

4) Закройте все окна в Конфигураторе и активизируйте пункт меню «Администрирование – Распределенная ИБ – Управление». Этот пункт меню доступен, если в папке BIN программы 1С:Предприятие имеется компонента DistrDB.dll. Если библиотека имеет неправильную версию или повреждена, просто переустановите 1С:Предприятие поверх текущей установки – библиотека DistrDB.dll будет замещена ее правильной версией.

5) В открывшемся окне нажмите кнопку «Центральная ИБ». В окне запроса укажите код новой информационной базы (укажите цифру 1) и ее описание (например, «Центральная ИБ»).

6) Появившееся предупреждение о необратимости изменений загасите нажатием «ОК» (ниже описан недокументированный способ, как при необходимости вернуть базу в ее первоначальное состояние).

7) Нажмите кнопку «Новая периф. ИБ». В окне запроса укажите для нее код 2 и описание – «Периферийная ИБ».

8) Выделите однократным щелчком периферийную базу и нажмите кнопку «Настр. автообмена». В открывшемся окне установкой переключателя поменяйте «Ручной» режим автообмена на «Автоматический» и нажмите кнопку «ОК».

9) Нажмите кнопку «Выгрузить данные». Запомните (в буфер обмена) имя файла с выгрузкой «c:\1c_base1\CP\20.zip» - он нам еще пригодится. Нажмите ОК. По окончании выгрузки 1С напишет «Выгрузка успешно завершена».

10) Закройте Конфигуратор и войдите (также в режиме Конфигуратора) в папку (пока еще пустую), где должна лежать вторая ИБ (в нашем примере – c:\1c_base2). Укажите, что база должна быть в формате DBF/CDX и нажмите «ОК».

11) Зайдите в пункт меню Администрирование – Распределенная ИБ – Управление. В ответ на вопрос «Информационная база не обнаружена. Выполнить загрузку данных?» нажмите «Да» и укажите имя файла выгрузки (в нашем примере, «c:\1c_base1\CP\20.zip») и нажмите кнопку «ОК». По окончании загрузки 1С напишет «Загрузка успешно завершена». Мы успешно создали Периферийную ИБ, выгрузив данные из Центральной ИБ.

12) Измените что-нибудь (например, добавьте новый элемент справочника) в одной из информационных баз. Наша цель – добиться, чтобы изменения в одной (любой) ИБ попали в другую ИБ через автообмен. Используйте пункт меню «Администрирование» – «Распределенная ИБ» – «Автообмен» попеременно в каждой из баз. Вновь появляющиеся файлы выгрузок с расширением ZIP в папках CP и PC надо перемещать (копировать) между информационными базами по принципу CP->CP, PC->PC (в реальных «полевых» условиях обычно это делают при помощи электронной почты).

Советы и рецепты

1) Чтобы превратить распределенную базу в обычную, удалите файлы 1SDBSET.DBF, 1SDWNLDS.DBF, 1SUPDTS.DBF и соответствующие им файлы *.CDX, а также 1SSYSTEM.DBF. В принципе, достаточно удалить 1SSYSTEM.DBF. После этого необходимо восстановить точку актуальности, запустив программу в монопольном режиме. Этот трюк недокументирован (угадайте, почему), но, тем не менее, он работает.

2) Вы можете изменять конфигурацию 1С, но только в Центральной ИБ. Это очень удобно – изменения в периферийных ИБ «накатываются» автоматически.

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

4) Штатная возможность отправки почты в 1С реализована через интерфейс MAPI, когда взаимодействие происходит с почтовым клиентом (таким, как Outlook). Мой совет – не тратьте зря времени - с MAPI и разного рода Оутлюками на практике постоянно возникают заморочки, требующие «быстрой езды» разработчика между филиалами. Использовать прямое модемное соединение или FTP я не советую по этой же причине. Посылать почту лучше внешними компонентами, такими как rom-mail.dll или DialMail.dll.

Другой вариант - использовать CDO
http://avb1c.narod.ru/?=a9
(c) avb, Рупор абсурда

5) Программу, которая умеет автоматически выполнять автообмен и пересылать файлы выгрузки по электронной почте, вы можете взять здесь:

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

Программа реализована как конфигурация 1С:Предприятие. Подробное описание содержится в приложенном файле DOC.

6) Если нужно автоматически выполнять дозвон до провайдера, используйте программу E-Type Dialer. Она умеет запускать внешние приложения при успешном соединении. Другой вариант – использовать внешнюю компоненту DialMail, которая имеет средства работы с модемом (совет – префикс «p» латинское перед номером дает импульсный набор, 9W перед номером – звонок через «девятку» и ожидание гудка в линии т.д.).

Замечание: в Windows XP есть встроенная звонилка rasdial.exe. Ключи командной строки:
rasdial.exe Элемент Пользователь Пароль
rasdial.exe Элемент /DISCONNECT

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

В данной статье речь пойдет о настройке распределенной базы данных 1С предприятие 7.7, в качестве примера будет использована конфигурация Управление Торговлей 9.2.

Что бы настроить РИБ в 1С 7.7 нужно зайти в конфигуратор и перейти в Администрирование-Распределенная ИБ-Управление.

Затем необходимо конвертировать вашу базу в РИБ, если она ещё не конвертирована в РИБ, для этого нужно нажать кнопку "Центральная ИБ".

Установите Код и Описание как на скриншоте сверху и нажмите "OK". Должно появиться предупреждение как на скриншоте снизу, не обращайте на него внимания и нажмите "Да".
После этого ваша база будет готова для создания периферийных узлов.

Нажмите на кнопку "Новая периф. ИБ" и установите значения полей как на следующем скриншоте, впрочем, вы можете использовать свои обозначения.

Нажимаем OK и переходим к следующему шагу - настройке автообмена.

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

Выставляем все как на слайде, пути к каталогам у вас могут быть свои, галочки должны стоять как на скриншоте сверху. Нажимаем OK.

Теперь выгружаем начальный образ периферийной базы на диск, для этого нажимаем кнопку "Выгрузить данные". После выгрузки начального образа окно управления РИБ будет выглядеть следующим образом:

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

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

Нажимаем кнопку "Добавить" и указываем пусть к пустой папке и нажимаем OK.

Выбираем новую ИБ и переходим в режим конфигуратора.

В пустой папке мы создаем пустую ИБ, поэтому 1С просит указать нас в каком формате будет наша база, выбираем *.dbf. Нажимаем OK.

Теперь загрузим выгруженный на прошлых шагах zip-файл в нашу базу, для этого перейдем в администрирование-загрузить данные.

Укажем путь к файлу и нажмем OK.
По окончании загрузки нажмем OK и перейдем в администрирование-распределенная иб-автообмен.



На данном шаге необходимо учитывать правило: Директория выгрузки ЦБ = Директории загрузки ПБ и наоборот, т.е. если в центральной базе мы выгружали в папку out а загружали из папки in, то в периферийной базе мы будем загружать из папки out, а выгружать в папку in. Нажимаем OK и переходим к следующему шагу. Выполняем автообмен. Для этого в центральной базе зайдите в администрирование-распределенная иб-автообмен.


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

Теперь автоматизируем процесс. Для этого необходимо создать по 4 файла на каждом компьютере. По 2 *.prm файла и по 2 *.bat файла на каждую из операций загрузки-выгрузки.

*.bat файл должен содержать в себе следующую строку:

"<путь к файлу 1cv77.exe>" config /D"<путь к информационной базе>" /N<логин> /P<пароль>/@"<путь к prm-файлу>"

У меня файлы загрузки и выгрузки выглядит так:

"C:\Program Files\1Cv77\BIN\1cv7s.exe" config /D"C:\base\rib\" /Nadmin /P1 /@"c:\download.prm"

"C:\Program Files\1Cv77\BIN\1cv7s.exe" config /D"C:\base\rib\" /Nadmin /P1 /@"c:\upload.prm"

Вы прописываете свои значения. Теперь разберемся с prm-файлами!

Структура файла.prm:

Секция “General” – предназначена для описания основных параметров работы пакетного режима. Возможные параметры:

Output – путь к лог-файлу;
- Quit – нужно ли завершить работу конфигуратора после выполнения всех заданий;
- AutoExchange – нужно ли выполнять автообмен;
- SaveData – нужно ли выполнять сохранение базы;
- UnloadData – нужно ли выполнять выгрузку;
- CheckAndRepair – нужно ли выполнить тестирование и исправление базы.

Возможными значениями данных параметров могут быть 1(Y) или 0(N).

Секция “AutoExchange” – предназначена для определения параметров автообмена. Параметры:

SharedMode – указывает режим работы с базы данных. Если параметр не задан, то будет использоваться монопольный режим;
- ReadFrom - указывает от каких баз следует получать данные. Идентификаторы баз необходимо указывать через запятую. Если же необходимы все, то ставится * ;
- WriteTo - указывает для каких баз следует выгружать данные. Если же необходимо для всех, то ставится * .

Секция “SaveData” – предназначена для определения параметров сохранения базы. Возможные параметры:

SaveToFile – указывает путь, куда будет производиться сохранение;
- FileList – указывает список сохраняемых файлов. Перечисляются имена файлов через пробел или запятую;

Секция “ UnloadData” – предназначена для определения параметров выгрузки данных. Параметры:

UnloadToFile – указывает путь сохранения, включая имя файла;
- IncludeUserDef – указывает нужно ли в файл переноса включать список пользователей;
- Password – указывает пароль,который будет установлен на файл переноса.

Секция “ CheckAndRepair” – предназначена для определения параметров восстановления базы данных. Возможные параметры:

Repair – указывает, необходимо ли проводить восстановление базы данных;
- PhysicalIntegrity – указывает, нужно ли проводить проверку физической целостности таблиц информационной базы;
- Reindex – указывает необходимость проведения реиндексации базы;
- LogicalIntegrity – указывает, необходимо ли проводить проверку логической целостности таблиц;
- RecalcTotals – указывает, необходимо ли производить пересчет итогов бухгалтерского и оперативного учета;
- Pack – указывает, необходимо ли освобождать место, занятое удаленными записями;
- SkipUnresolved – указывает, пропускать неразрешенные ссылки или их исправлять;
- CreateForUnresolved – указывает, способ разрешения неразрешенных ссылок. Если 1, то для неразрешенной ссылки будет создан объект соответствующего типа. Если же 0, то ссылка будет очищена.

Исходя из этого мои файлы будут содержать следующее:

для загрузки из ЦБ в периферийную:


Output = log.txt
Output = 1


ReadFrom = ЦБ

для выгрузки из ЦБ в периферийную:


Output = log.txt
Output = 1


WriteTo = ЦБ

для загрузки из периферийной в ЦБ:


Output = log.txt
Output = 1


ReadFrom = ПБ1

для выгрузки из периферийной в ЦБ:


Output = log.txt
Output = 1


WriteTo = ПБ1

Теперь достаточно поместить bat- и prm- файлы в одну папку и запускать по очереди для выполнения загрузки и выгрузки.

Если остались вопросы - wellcome в комментарии!