Запуск 1С:Предприятия для обновления базы: окно запуска, ключи и расписание
Содержание
Чтобы запустить 1С в режиме обновления, нужно два шага. Сначала в Конфигураторе применить новую конфигурацию к базе данных (Конфигурация → Обновить конфигурацию базы данных или ключ /UpdateDBCfg). Затем открыть базу
в режиме 1С:Предприятие под пользователем с полными правами: типовая конфигурация сама увидит новую версию и запустит обработчики обновления.
Без второго шага обновление не закончено: структура таблиц уже новая, а данные ещё не переведены в новый формат. Всё сказанное относится к платформе 8.3 и типовым конфигурациям на Библиотеке стандартных подсистем (БСП): Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP.
Что проверить до запуска обновления базы
Обновление состоит из двух частей, и требования у них разные:
| Этап | Где выполняется | Что нужно |
|---|---|---|
| Обновление структуры (реструктуризация) | Конфигуратор | Монопольный доступ: в базе никого нет |
| Обработчики обновления данных | 1С:Предприятие | Пользователь с ролью «Полные права», первый вход после обновления |
| Отложенные обработчики | Фоном, после входа | Работает регламентное задание, пользователи уже могут работать |
Перед стартом пройдитесь по списку:
- 💾 Резервная копия. Для файловой базы — копия каталога с
1Cv8.1CDили выгрузка.dt. Для клиент-серверной — бэкап средствами СУБД (PostgreSQL или MS SQL). Без копии обновление не начинайте: откатить реструктуризацию нельзя. - 🔑 Учётная запись. Пользователь с правами администратора и в Конфигураторе, и в 1С:Предприятии. Обработчики обновления под ограниченным пользователем не стартуют.
- 🧩 Версия платформы. Каждый релиз конфигурации требует платформу с номером не ниже указанного в его описании. Сначала ставьте платформу, потом конфигурацию.
- 📦 Порядок релизов. Файл
.cfuобновляет только с определённых версий. Если база отстала на несколько релизов, ставьте их цепочкой, по очереди. - 🧱 Расширения. Проверьте, совместимы ли установленные расширения с новой версией. Несовместимое расширение часто ломает первый запуск.
Как выгнать пользователей из базы
В типовых конфигурациях есть штатный механизм: Администрирование → Обслуживание → Блокировка работы пользователей. В форме задают время начала блокировки, текст сообщения и код разрешения — произвольную строку, например UPD2510. Пользователи получают предупреждение, а через несколько минут их сеансы завершаются.
Код разрешения пригодится дальше: с ним администратор сможет войти в заблокированную базу (ключ /UC).
Для клиент-серверной базы есть ещё консоль администрирования серверов 1С и утилита rac. Список сеансов выводит rac session list, принудительное завершение описано в rac help session.
Принудительное завершение сеанса обрывает работу пользователя без сохранения. Документ, который бухгалтер не записал, пропадёт. Делайте это после предупреждения и в согласованное окно.
Окно запуска: какой режим выбрать для обновления
В стартовом окне 1С две основные кнопки: 1С:Предприятие и Конфигуратор. Режима с названием «обновление» в списке нет — он складывается из двух запусков подряд.
- Выделите базу в списке и нажмите Конфигуратор. Войдите под администратором.
- Обновите конфигурацию из
.cfu(Конфигурация → Поддержка → Обновить конфигурацию) и подтвердите обновление конфигурации базы данных. Если вы загрузили изменения из хранилища или вручную, выберитеКонфигурация → Обновить конфигурацию базы данных(клавиша F7). - Прочитайте список изменений структуры и примите его. Дождитесь окончания реструктуризации.
- Закройте Конфигуратор.
- В окне запуска нажмите 1С:Предприятие и войдите под тем же администратором.
- Конфигурация покажет форму «Обновление версии программы» с прогрессом. Не закрывайте её и не перезагружайте компьютер, пока обработка не закончится.
Если база заблокирована, но вам нужно войти, добавьте код разрешения в параметры запуска. Кнопка Изменить → пройдите мастер до последней страницы → поле «Дополнительные параметры запуска» → впишите /UC UPD2510. После обновления этот параметр уберите, иначе забудете о нём до следующего раза.
Можно запустить 1С:Предприятие прямо из Конфигуратора (F5 или Сервис → 1С:Предприятие). Работает, но по умолчанию это отладочный запуск. Для обновления надёжнее закрыть Конфигуратор и войти обычным способом: так не останется висящего сеанса Конфигуратора.
Как понять, что обновление прошло
После первого входа конфигурация открывает описание изменений в новой версии. Отложенная часть идёт в фоне. Её прогресс смотрят в разделе Администрирование → Обслуживание, в группе, где собраны результаты обновления программы. Пока отложенные обработчики не закончились, часть отчётов может показывать неполные данные — для больших баз это нормально, процесс занимает от минут до нескольких часов.
Командная строка: ключи для запуска 1С в режиме обновления
Тот же процесс без кнопок выполняется ключами исполняемого файла 1cv8.exe. Файл лежит в каталоге платформы, например C:\Program Files\1cv8\8.3.25.1445\bin\. Номер версии подставьте свой.
Основные ключи:
| Ключ | Что делает |
|---|---|
DESIGNER / ENTERPRISE | Режим: Конфигуратор или 1С:Предприятие |
/F "путь" | Файловая база |
/S "сервер\база" | Клиент-серверная база |
/N и /P | Имя пользователя и пароль |
/UC код | Вход в заблокированную базу по коду разрешения |
/UpdateCfg "файл.cfu" | Обновить конфигурацию, стоящую на поддержке |
/UpdateDBCfg | Применить конфигурацию к базе данных (реструктуризация) |
/Out "лог.txt" | Записать сообщения пакетного режима в файл |
/DisableStartupDialogs | Не показывать стартовые диалоги |
/C "строка" | Передать параметр в конфигурацию |
Через /C типовые конфигурации на БСП понимают служебные команды. Для обновления нужны три:
ЗавершитьРаботуПользователей— установить блокировку и завершить сеансы;ЗапуститьОбновлениеИнформационнойБазы— выполнить обработчики обновления и закрыть приложение;РазрешитьРаботуПользователей— снять блокировку.
Пример полного сценария для клиент-серверной базы:
@echo off
set EXE="C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe"
set IB=/S "srv1c\buh"
set USR=/N "Администратор" /P "пароль"
set LOG=D:\1c_update\log.txt
rem 1. Блокировка и выход пользователей
%EXE% ENTERPRISE %IB% %USR% /UC UPD2510 /C "ЗавершитьРаботуПользователей" /DisableStartupMessages
rem 2. Обновление конфигурации из cfu и реструктуризация
%EXE% DESIGNER %IB% %USR% /UC UPD2510 /UpdateCfg "D:\1c_update\1cv8.cfu" /UpdateDBCfg /Out %LOG% -NoTruncate /DisableStartupDialogs
rem 3. Обработчики обновления в режиме 1С:Предприятие
%EXE% ENTERPRISE %IB% %USR% /UC UPD2510 /C "ЗапуститьОбновлениеИнформационнойБазы" /DisableStartupMessages
rem 4. Снять блокировку
%EXE% ENTERPRISE %IB% %USR% /UC UPD2510 /C "РазрешитьРаботуПользователей" /DisableStartupMessages
Для файловой базы замените /S "srv1c\buh" на /F "D:\Bases\Buh". Ключ -NoTruncate дописывает лог, а не перезаписывает его.
Пароль в bat-файле лежит открытым текстом. Создайте для обновлений отдельного пользователя и закройте доступ к каталогу со скриптом.
Чем хорош этот вариант: шаг 3 нельзя забыть. Частая ошибка ручного обновления — администратор применил структуру и ушёл, а первым в базу вошёл бухгалтер без полных прав. Он видит сообщение, что обновление должен выполнить администратор, и работа встаёт.
Распределённая база (РИБ): где и в каком порядке обновлять
В РИБ конфигурацию меняют только в главном узле. В подчинённом узле она защищена от изменений и приходит вместе с сообщением обмена.
Порядок такой:
- Обновите главный узел полностью: структура, затем вход в 1С:Предприятие и обработчики обновления.
- Выполните обмен с подчинёнными узлами. Новая конфигурация уйдёт в сообщении.
- В подчинённом узле загрузите сообщение обмена. Конфигурация узла получит изменения, но база данных ещё на старой структуре.
- Примените её: войдите в Конфигуратор узла и выполните
Конфигурация → Обновить конфигурацию базы данных. В типовых конфигурациях при приёме сообщения программа сама предлагает установить полученное обновление и перезапуститься. - Войдите в узел в режиме 1С:Предприятие под администратором — запустятся обработчики.
- Сделайте ещё один обмен, чтобы узлы синхронизировали данные после обновления.
Пока узел не обновлён, обмен с ним не идёт: узел ждёт, когда его структура догонит главный узел.
Если в подчинённом узле стоит своё расширение, проверьте его отдельно. Расширения в РИБ можно передавать из главного узла или ставить локально — поведение задаётся при подключении расширения.
Не загружайте в подчинённый узел .cfu или .cf вручную, в обход обмена. Узел потеряет связь с главным, и восстанавливать её придётся переинициализацией.
Ошибки при запуске 1С в режиме обновления
Большинство сбоев возникает на двух этапах: при захвате монопольного доступа и при первом входе после обновления.
Администрирование → Активные пользователи), на сервере — список сеансов в консоли кластера. Если сеансы висят, включите блокировку с кодом разрешения и повторите.Отдельно про отключённые расширения. После обновления конфигурация может пометить расширение как несовместимое и не применить его. Перед повторным включением проверьте у разработчика расширения версию, рассчитанную на новый релиз.
Обновление 1С по расписанию, без администратора у экрана
Ночное обновление можно настроить двумя способами.
Встроенный помощник типовой конфигурации
В типовых конфигурациях есть помощник Администрирование → Интернет-поддержка и сервисы → Обновление версии программы. Он скачивает релизы через интернет
-поддержку и умеет установить их не сразу, а при завершении работы или в выбранное время. Для этого:
- компьютер администратора должен быть включён в назначенное время;
- в базе указаны логин и пароль администратора для пакетного запуска;
- перед стартом помощник сам создаёт резервную копию, если это включено в его настройках (для файловой базы).
Для клиент-серверной базы у помощника есть ограничения: копию на стороне СУБД он не делает. Бэкап нужно настроить в самой СУБД заранее.
Планировщик заданий Windows и скрипт
Второй вариант — bat-файл из раздела про командную строку плюс Планировщик заданий Windows. Настройки задачи:
- Триггер — нужная дата и время, например 02:00 в субботу.
- Действие — запуск
update_1c.bat. - Отметка «Выполнять для всех пользователей» и учётная запись с правами на каталог платформы и логов.
- Ограничение времени выполнения — с запасом, чтобы планировщик не убил долгую реструктуризацию.
Перед шагом обновления добавьте в скрипт резервное копирование
: для файловой базы — выгрузку /DumpIB "D:\backup\buh.dt" в режиме DESIGNER, для серверной — вызов бэкапа СУБД. Утром проверьте лог из ключа /Out и войдите в базу: прошли ли обработчики и снята ли блокировка.
Расписание на рабочее время недопустимо: блокировка завершит сеансы бухгалтеров без сохранения данных. Выбирайте окно, когда в базе точно никого нет, и предупредите сотрудников о ночных работах.
Частые вопросы
Можно ли работать в базе, пока идут отложенные обработчики?
Что будет, если закрыть 1С во время обработчиков обновления?
Нужен ли монопольный режим для входа в 1С:Предприятие после обновления?
Как обновить сразу несколько баз на сервере?
/S. Удобнее вынести имя базы в переменную и вызывать один и тот же bat-файл в цикле.