Каталог решений - Пакетное обновление информационных баз (типовые конфигурации)

Пакетное обновление информационных баз (типовые конфигурации)

Пакетное обновление информационных баз (типовые конфигурации)

В наличии

Решение для пакетного обновления всех типовых баз на базе БСП (библиотеки стандартных подсистем). Скрипт написан на Python, вызывается через cmd файл с аргументом. Предназначено только для работы с сервером 1С:Предприятие. Для работы необходимо установить Python не ниже 3 версии.

Категория:

Описание

Для работы необходимо распаковать архив, в нем лежат следующие файлы:

setup.cmd
Регистрирует компоненту comcntr.dll для удаления активных сеансов перед обновлением базы. Перед запуском необходимо отредактировать, указать версию платформы.

Block.epf
Внешняя обработка для начала обновления.

Update.epf
Внешняя обработка для окончания обновления.

run.cmd
Запускает обновление баз. Запускается с аргументом: каталог с обновлением.
Пример запуска: C:\update\run.cmd D:\tmp\upd\1c\Accounting\3_0_108_36

Перед запуском необходимо отредактировать скрипт, указав основные параметры и список баз для обновления.

ВНИМАНИЕ! Для корректной работы пользователь 1С, под которым запускается обновление, должен иметь полные права, право Интерактивное открытие внешних отчетов и обработок, также должен быть снят флаг Защита от опасных действий.

V8EXEC        Путь к исполняемому файлу платформы 1С
SERVER        Имя сервера 1С
V8AUTH        Если True, то авторизация 1С, в противном случае авторизация windows
V8USER        Пользователь 1С
V8PASS        Пароль 1С. Необходимо указать в одноименной переменной окружения.
DBPASS        Пароль к БД MS SQL. Необходимо указать в одноименной переменной окружения. Логин к БД — sa.
PREVIEW        Режим предварительного просмотра. Если True, то будут выведены команды командной строки без выполнения
EMULATE        Эмуляция обновления. Необходима только для наглядности, как происходит вывод сообщений в консоль
SHOWEXT        Если True, то для каждого удаляемого расширения отдельно будет выведено сообщение в консоль
TESTDB        Если True, то будет произведено обновление только тестовой базы: V8_TEST.

Также необходимо отредактировать функцию getDblist() в скрипте

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

В моем случае это:

Accounting
список баз для БП 3.0

AccountingCorp
список баз для БП 3.0 КОРП

zpl50
список баз для конф. Зарплата Камин 5.0

Для каждой информационной базы скрипт последовательно выполняет следующие действия:

  1. Запуск в режиме 1С:Предприятие. При запуске выполняется обработка Block.epf. Устанавливает блокировку на запуск программы и фоновых заданий, удаляет активные сеансы.
  2. Запуск в режиме Конфигуратора. Выгрузка информационной базы в каталог bak, расположенный в каталоге с обновлениями.
  3. Запуск в режиме Конфигуратора. Удаление установленных исправлений — расширений с префиксом EF_.
  4. Запуск в режиме Конфигуратора. Обновление конфигурации.
  5. Запуск в режиме Конфигуратора. Обновление информационной базы.
  6. Запуск в режиме 1С:Предприятие. При запуске выполняется обработка Update.epf. Выполняет вызов функций обновления при первом запуске новой версии, снимает блокировку базы.

Протестировано

  • Python 3.8
  • платформа 8.3.20.1674
  • конфигурации: Бухгалтерия предприятия, редакция 3.0 ПРОФ, Бухгалтерия предприятия, редакция 3.0 КОРП, 1С-КАМИН:Зарплата. Версия 5.0
has been added to your cart:
Оформление заказа