1С:Предприятие 8 - обновление информационных баз в пакетном режиме.

|

1cv8-batch-update-000.jpgКаждый, кто занимался обновлением информационных баз 1С:Предприятие знает, что эта, в общем-то простая, операция становится очень трудоемкой и отнимает много времени если обновляемых баз много. Процесс обновления требует постоянного внимания со стороны специалиста: там подтвердить, там принять изменения, там согласиться, хотя сам процесс вмешательства, как правило, не требует (мы будем рассматривать находящиеся на поддержке конфигурации). Существенно облегчить жизнь поможет автоматизация этого процесса, о чем мы сегодня и поговорим.

Если у вас случайно оказались лишние 14 700 руб, то вы можете приобрести специализированный продукт 1С:Обновление информационных баз в пакетном режиме, остальным мы хотим предложить вспомнить возможности ключей запуска 1С, которые в умелых руках позволяют творить чудеса, причем совершенно бесплатно.

Специальный ключ:

/UpdateCfg <имя cf | cfu файла>

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

Второй ключ:

/UpdateDBCfg

производит обновление конфигурации базы данных.

Как видим, все необходимые инструменты есть, осталось научиться их правильно применять. Откроем блокнот и начнем написание нашего скрипта:

:: Устанавливаем кодировку
chcp 1251

Так как очень часто в названиях папок с базами присутствуют русские буквы, установим кодировку  cp1251, иначе доступ к ним окажется невозможным. Несмотря на это в окне интерпретатора вы все равно будете видеть "крякозябры".

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

:: Задаем переменные
setlocal

:: Задаем пути и релиз платформы 1С
set bin_dir="C:\Program Files (x86)\1cv8"
set bin_ver=8.3.5.1248

:: Задаем путь к обновлениям 1С
set cfu_dir=C:\Users\User_Name\AppData\Roaming\1C\1Cv82\tmplts\1c\

:: Задаем путь к папке с логами
set log_dir=C:\Users\User_Name\Documents\1C_Update_log

Если посмотреть внутрь каталога обновлений, то мы увидим следующую структуру:

1cv8-batch-update-001.jpgВнутри находятся папки конфигураций: Accounting - Бухгалтерия, Trade - Управление торговлей и т.д., которые содержат каталоги с номерами релизов. Таким образом путь к обновлениям содержит только одно изменяемое значение - номер релиза. Обратите внимание, что разделителем здесь является не точка, а нижнее подчеркивание. Продолжим наш скрипт:

:: Указываем релиз обновления
:: Бухгалтерия 2.0
set cfu_acc20=2_0_62_4

:: Бухгалтерия 3.0
set cfu_acc30=3_0_36_19

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

:: Обновляем Бухгалтерию 2.0 - ООО "Рога и Копыта"
%bin_dir%\%bin_ver%\bin\1cv8.exe CONFIG /F D:\1C_bases\Horns_and_Hooves /N"Иванов И.И." /PПаРоЛь /UpdateCfg %cfu_dir%\Accounting\%cfu_acc20%\1Cv8.cfu /UpdateDBCfg /Out %log_dir%\Horns_and_Hoove_%cfu_acc20%.log

Рассмотрим ключи подробнее:

  • CONFIG - запуск в режиме Конфигуратора;
  • /F - путь к базе данных в файловом режиме;
  • /S - путь к базе на сервере, задается в формате Имя_Сервера\Название_Базы;
  • /N - пользователь ИБ, если имя содержит пробелы, то его нужно взять в кавычки;
  • /P - пароль пользователя ИБ;
  • /UpdateCfg - обновление конфигурации, находящейся на поддержке, в аргументе указывается путь с cfu/cf - файлу;
  • /UpdateDBCfg - обновление конфигурации базы данных;
  • /Out - вывод лога в указанный файл.

Для примера, вторую запись сделаем для обновления ИБ на сервере:

:: Обновляем Бухгалтерию 3.0 - ООО "Вектор"
%bin_dir%\%bin_ver%\bin\1cv8.exe CONFIG /S SRV-1C83\Vector /N"Иванов И.И." /PПаРоЛь /UpdateCfg %cfu_dir%\Accounting\%cfu_acc30%\1Cv8.cfu /UpdateDBCfg /Out %log_dir%\Vector_%cfu_acc30%.log

Добавив строки для всех требующих обновления баз сохраним файл как update-1C.bat, после чего запускаем его в конце рабочего дня и смело уходим домой, к утру все необходимые базы будут обновлены. 

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

1cv8-batch-update-002.jpg

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

1cv8-batch-update-003.jpg

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

И, конечно же, не забывайте делать резервные копии баз, особенно перед обновлением.

Дополнительные материалы:

  1. Автоматизация резервного копирования баз 1С Предприятие.

 

Подписка на блог

Наш канал на YouTube Мы в Твиттере

Архивы по месяцам

Реклама

Статистика

 

Яндекс.Метрика

География

Flag Counter

Реклама

Об этой записи

Сообщение опубликовано 05.11.2014 09:49. Автор — Уваров А.С..

Предыдущая запись — Создаем свой дистрибутив Windows 7.

Следующая запись — Linux - начинающим. Часть 2. Установка Ubuntu Server

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

Реклама

Облако тегов