Для работы необходимо распаковать архив, в нем лежат следующие файлы:
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С:Предприятие. При запуске выполняется обработка Block.epf. Устанавливает блокировку на запуск программы и фоновых заданий, удаляет активные сеансы.
- Запуск в режиме Конфигуратора. Выгрузка информационной базы в каталог bak, расположенный в каталоге с обновлениями.
- Запуск в режиме Конфигуратора. Удаление установленных исправлений - расширений с префиксом EF_.
- Запуск в режиме Конфигуратора. Обновление конфигурации.
- Запуск в режиме Конфигуратора. Обновление информационной базы.
- Запуск в режиме 1С:Предприятие. При запуске выполняется обработка Update.epf. Выполняет вызов функций обновления при первом запуске новой версии, снимает блокировку базы.
Протестировано
- Python 3.8
- платформа 8.3.20.1674
- конфигурации: Бухгалтерия предприятия, редакция 3.0 ПРОФ, Бухгалтерия предприятия, редакция 3.0 КОРП, 1С-КАМИН:Зарплата. Версия 5.0