Если кратко, то порядок работы следующий:
- Скачиваете обработку
- Прописываете в обработке настройки своей базы
- Создаете назначенное задание через Task Sheduller для этой обработки
- Радуетесь
Теперь подробности:
Обработка работает в клиент-серверном варианте, на обычных формах, в УПП 1.3 (путем незначительного изменения кода может работать на любой типовой конфигурации).
В обработке прописываете путь к базе, пользователя базы, путь к хранилищу и пользователя хранилища и закидываете ее в Task Sheduller.
После старта, обработка блокирует базу для новых пользователей и ждет, когда завершатся работающие сеансы.
Режим завершения штатный - сначала 5 минут предупреждаем пользователя, что база закрывается, через 5 минут вырубаем.
Если прошло 20 минут и кого-то не получилось отрубить (например кто-то запустил запрос с полным соединением без настройки связей), то пишем в журнале регистрации, что обновиться не получилось, открываем базу и гордо удаляемся.
Как только в базе никого не осталось, во временном каталоге создается волшебный bat-файл.
Далее 1С закрывается и передает управление созданному bat-файлу.
Запускается пакетное обновление 1С. Все вопросы от 1С подтверждаются автоматически.
После завершения обновления запускается еще один сеанс 1С, который открывает базу и тоже закрывается.
Все сообщения сохраняются в лог-файл, процесс старта, и выбрасывания пользователей пишется в журнал регистрации.
Проверено на следующих конфигурациях и релизах:
- Управление производственным предприятием, редакция 1.3, релизы 1.3.235.2