Обновление конфигурации подчиненных узлов распределенной базы данных
При изменении конфигурации центральной БД для обновления конфигурации используется следующий порядок действий:
В центральной базе в плане обмена «Удаленные подразделения» (меню «Сервис» - «Функции РБД») в форме списка «Удаленных подразделений» для каждого подчиненного узла необходимо выполнить выгрузку данных. Для этого следует выделить узел и нажать кнопку «Обмен».
В открывшейся форме установить параметр «Сжимать сообщение обмена» нажать «Выполнить выгрузку».
По завершении выгрузки система выдаст соответствующее служебное сообщение.
После этого соответствующей подчиненной базе:
Выполняется резервное копирование БД (процедура не рассматривается в данном документе, т.к. подробно описана в документации к платформе 1С:Предприятие 8, но обязательна к выполнению).
В плане обмена «Удаленные подразделения» (меню «Сервис» - «Функции РБД») в форме списка «Удаленных подразделений» для каждого подчиненного узла необходимо выполнить загрузку данных. Для этого следует выделить центральную базу и нажать кнопку «Обмен».
В открывшейся форме нажать «Выполнить загрузку». ВАЖНО – КОНФИГУРАТОР ДОЛЖЕН БЫТЬ ЗАКРЫТ.
По окончании загрузки система выдаст следующее сообщение:
Далее следует закрыть 1С:Предприятие и в режиме «Конфигуратор» обновить конфигурацию БД.
После обновления конфигурации БД конфигуратор следует закрыть и запустить систему в режиме «Предприятие».
В плане обмена «Удаленные подразделения» (меню «Сервис» - «Функции РБД») в форме списка «Удаленных подразделений» для каждого подчиненного узла необходимо выполнить обмен данными. Для этого следует выделить центральную базу и нажать кнопку «Обмен».
В открывшейся форме установить параметр «Сжимать сообщение обмена» и нажать «Выполнить обмен». ВАЖНО – КОНФИГУРАТОР ДОЛЖЕН БЫТЬ ЗАКРЫТ.
Если система задаст вопрос о возможности загрузки данных из временного файла, следует нажать «ОК».
По окончании загрузки система выдаст следующее сообщение:
После этого в центральной базе в плане обмена «Удаленные подразделения» (меню «Сервис» - «Функции РБД») в форме списка для соответствующего подчиненного узла необходимо выполнить выгрузку данных. Для этого следует выделить узел и нажать кнопку «Обмен».
В открывшейся форме установить нажать «Выполнить загрузку».
По завершении загрузки система выдаст соответствующее служебное сообщение.
В случаях, когда структура распределенной информационной базы (РИБ), достаточно сложная (например, содержит много узлов, уровней), обновлять все узлы вручную представляется проблематичным. В «1С-Рарус: Торговый комплекс. Продовольственные товары» есть возможность настроить автоматическое обновление узлов.
Автоматическое обновление настраивается в планировщике обменов командой UpdateDBCfg:. В этом случае будет автоматически загружено сообщение по контуру «Удаленные подразделения» и, если сообщение содержит обновление конфигурации, то будет произведено обновление конфигурации базы данных и повторный запуск робота. Синтаксис команды: UpdateDBCfg:ПараметыАутентификации. Где ПараметыАутентификации – учетные данные пользователя, под которым надо запустить систему после обновления (на время обновления робот обмена закроется и для его повторного запуска нужно указать его учетные данные) в синтаксисе командной строки 1С:Предприятие 8. Например, если используется Windows-аутентификация, то указывается WA+ (пример: UpdateDBCfg:WA+), если используется логин и пароль, то указывается /N”ИмяПользователя” /PПароль (например: UpdateDBCfg:/N”РоботОбмена” /P123 – пользователь РоботОбмена, пароль 123), если пользователя нет, то ничего не указывается.
Для корректной работы автоматического обновления время должно быть выбрано так, что бы программа не была запущена пользователями, т.к. для обновления потребуется монопольный режим.
Если необходимо включить дополнительные команды во время обновления (например резервное копирование), то можно создать свой скрипт обновления и запускать его в планировщике обменов. Обновление внешним скриптом запускается в планировщике по команде «UpdateDBCfgStartApplication:». После символа «:» необходимо указать путь к скрипту обновления.
Пример настройки планировщика изображен на рисунке:
В данном примере за 15 минут до обновления прекращаются обмены, в 6:00 запускается прием и обновление конфигурации.
Текстовый файл со скриптом можно загрузить во внешние модули:
В данном случае командный файл будет создан автоматически в каталоге, указанном в константах, как «Общий каталог» и запущен. Синтаксис команды в данном случае будет: UpdateDBCfgStartExtForm:ИмяВнешнегоМодуля. Где ИмяВнешнегоМодуля – имя внешнего модуля в справочнике.
Строка планировщика будет выглядеть следующим образом:
Скрипт обновления должен включать в себя строку запуска базы данных в режиме конфигуратора с ключом обновления и, после выполнения обновления, строку с повторным запуском программы, для продолжения работы робота обмена. Так же рекомендуется включить в скрипт создание резервной копии базы данных перед выполнением обновления конфигурации. Скрипт создается в текстовом файле с расширением cmd или bat.
Пример скрипта обновления:
rem Записываем в переменную v8exe путь к исполняемому файлу
rem Платформы 1С:Предприятие
set v8exe="C:\Program Files (x86)\1cv82\8.2.17.153\bin\1cv8.exe"
rem Записываем в переменную DataBase путь к базе данных ТК
rem Если в пути нет пробелов, то кавычки не обязательны
rem В файловом варианте используется ключ /F
rem В клиент серверном варианте используется ключ /S и вместо пути
rem указывается конструкция вида «ИмяСервера\ИмяБазыДанных»
set DataBase=/F"D:\RarusTK\"
rem В переменную User записываем имя пользователя (робота) и пароль
rem В случае Windows-аутентификации используем конструкцию WA+
set User=/N"Робот" /P"123"
rem В переменную myDate записываем текущую дату в виде ГГГГММДД
set myDate=%date:~+6,4%%date:~+3,2%%date:~+0,2%
rem Делаем резервную копию в файл «D:\BackUp\TK20140514.dt»
set parameters="D:\BackUp\TK%myDate%.dt"
start "" /wait %v8exe% CONFIG %DataBase% %User% /DumpIB %Parameters%
rem Обновляем конфигурацию базы данных
start "" /wait %v8exe% CONFIG %DataBase% %User% /UpdateDBCfg
rem Снова запускаем робота обмена
start "" %v8exe% ENTERPRISE %DataBase% %User%