Как обновлять базы на 1С 7.7 (семёрка)?

  оглавление  Зачем может понадобится строгая проверка рекомендуемой версии 1с при обновлении?

Обновляем узлы РИБ при помощи Обновлятора

Введение

Предположим, что у нас имеется настроенная распределенная информационная база (РИБ) с 2 узлами - центральный (ЦУ) и подчинённый (У1).

Нужно обновить конфигурацию на всех узлах.

Обновляем конфигурацию центрального узла

Выполняем обновление при помощи обновлятора обычным образом (запустив операцию вручную или по расписанию).

Выполняем синхронизацию центрального узла

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

Если же это файловая база; либо база серверная, но мы хотим выполнять синхронизацию данных из скрипта обновлятора, тогда:

Переходим на закладку Скрипты:

На панели выбираем меню "Обновлятор"-"Методы"-"Управление регламентными заданиями".

В открывшемся диалоге настраиваем запуск и ожидание завершения регламентного задания "СинхронизацияДанных":

В редактор вставится вот такой скрипт:

Сохраняем этот скрипт (кнопка "Сохранить") на диск:

Теперь мы можем запускать его вручную или настроить его запуск через расписание.

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

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

Выполняем синхронизацию подчинённого узла с последующим обновление БД и выполнением обработчиков обновления

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

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

Если же это файловая база; либо база серверная, но мы хотим выполнять синхронизацию данных из скрипта обновлятора, тогда:

Переходим на закладку Скрипты:

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

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

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

@jobs_run(
    only_using:False,
    jobs:"СинхронизацияДанных",
    wait_for_completion: True
)
 
@run_cmd(
    script: "%run_1c_d% /UpdateDBCfg"
)
 
@run_update_handlers()

Обязательно прочитайте про команду run_cmd (ссылка).

Также сохраняем этот скрипт в файл на диске:

Теперь мы можем запускать его вручную или настроить его запуск через расписание.

Будем запускать этот скрипт после предполагаемых изменений на центральном узле.

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



Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:



Как обновлять базы на 1С 7.7 (семёрка)?

  оглавление  Зачем может понадобится строгая проверка рекомендуемой версии 1с при обновлении?