Обновление типовой конфигурации в клиент-серверной базе 1С 8.3

· 10 мин

Содержание

Чтобы обновить конфигурацию 1С на сервере, откройте базу в Конфигураторе, выберите Конфигурация → Поддержка → Обновить конфигурацию, укажите файл обновления .cfu и примите изменения, а затем выполните Конфигурация → Обновить конфигурацию базы данных (F7). Перед этим сделайте резервную копию и закройте сеансы пользователей. Для регулярных обновлений тот же порядок переносят в bat-файл с 1cv8.exe DESIGNER и запускают ночью планировщиком.

Какой способ выбрать, зависит от числа баз и от того, есть ли окно простоя:

СпособКогда подходитРиски
Конфигуратор вручную1–3 базы, обновление раз в месяц, нужен контроль на каждом шагеошибка оператора, работа в рабочее время
Командная строка 1cv8.exeмного баз, одинаковые релизы, нужен логневерный ключ — и пакет молча не отработает, лог обязателен
Планировщик задач Windowsрегулярные ночные обновления без админа у экрананикто не увидит ошибку до утра, нужен контроль результата
Встроенное обновление в режиме «Предприятие»небольшая база, у администратора нет доступа к Конфигураторув клиент-серверном варианте нужны параметры администратора кластера, меньше контроля

Дальше речь о платформе 8.3 и типовых конфигурациях на поддержке: Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие. Порядок действий для них одинаковый, разница только в файлах обновлений.

1. Подготовка: версия, файлы обновления и резервная копия

Обновление в клиент-серверном варианте отличается от файлового одним: база лежит в СУБД (MS SQL Server или PostgreSQL), и копию надёжнее делать средствами СУБД.

Узнайте текущий релиз

В режиме «Предприятие» откройте меню с тремя полосками, затем Справка → О программе. Запишите номер релиза конфигурации и версию платформы.

Обновление .cfu подходит только к определённым релизам. Если ваш релиз старый, придётся пройти цепочку промежуточных обновлений по порядку. Пропуск звена даёт сообщение Файл не содержит доступных обновлений.

Проверьте платформу

Каждый релиз конфигурации требует платформу с номером не ниже указанного в описании обновления. Сначала обновите платформу на сервере 1С и на клиентах, потом конфигурацию. Версии платформы на всех серверах кластера и у клиентов должны совпадать.

Сделайте резервную копию

Варианты копии для серверной базы:

  • 🗄️ Средствами СУБД — полная копия базы в MS SQL Server или pg_dump в PostgreSQL. Делается без отключения пользователей и быстро восстанавливается.
  • 📦 Выгрузка .dt — Администрирование → Выгрузить информационную базу в Конфигураторе. Требует монопольного режима и на больших базах идёт долго.
  • 🧩 Сохранение конфигурации .cf — Конфигурация → Сохранить конфигурацию в файл. Это копия только структуры и кода, без данных. Полезна, если в базе есть доработки.

Пример копии для MS SQL Server:

BACKUP DATABASE [buh_prod]
TO DISK = N'D:\Backup\buh_prod_before_update.bak'
WITH COPY_ONLY, COMPRESSION, STATS = 10;

Для PostgreSQL:

pg_dump -U postgres -F c -f D:\Backup\buh_prod_before_update.backup buh_prod

Не начинайте обновление, пока не проверили, что файл копии создан и имеет нормальный размер. Копия нулевого размера — частая находка после неудачного обновления.

Если конфигурация доработана

Если в базе есть изменения прямо в основной конфигурации, Конфигуратор покажет окно сравнения и объединения. Это отдельная работа программиста: проверка каждого изменённого объекта. Доработки, вынесенные в расширения, обновлению не мешают, но после него расширение надо проверить на совместимость.

2. Как закрыть вход пользователям перед обновлением

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

Закрыть вход можно тремя способами:

  1. Из самой программы. В Бухгалтерии 3.0 и ЗУП 3.1: Администрирование → Обслуживание → Блокировка работы пользователей. Укажите время, сообщение и код разрешения, затем включите блокировку. Через несколько минут программа завершит сеансы сама.
  2. Через консоль кластера. Откройте свойства информационной базы, включите «Блокировка начала сеансов включена», задайте сообщение и код разрешения. Затем удалите оставшиеся сеансы в ветке «Сеансы».
  3. Через rac. Удобно в скриптах. Список сеансов: rac session list --cluster=<id>. Параметры блокировки базы смотрите в rac help infobase — набор ключей зависит от версии платформы.

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

Код разрешения пригодится вам самим: с ним Конфигуратор войдёт в заблокированную базу. В командной строке его передают ключом /UC.

💡 Не забудьте отключить регламентные задания на время обновления — в консоли кластера это флажок «Блокировка регламентных заданий включена». Иначе фоновый обмен или загрузка курсов может удержать базу.

3. Обновление конфигурации через Конфигуратор: пошагово

Ручной способ — самый наглядный. Подходит, если баз немного.

  1. Запустите 1С, выберите базу, нажмите «Конфигуратор». Войдите под пользователем с правами администратора.
  2. Откройте конфигурацию: Конфигурация → Открыть конфигурацию.
  3. Выберите Конфигурация → Поддержка → Обновить конфигурацию.
  4. Укажите «Выбор файла обновления» и путь к 1cv8.cfu из папки шаблонов. Если шаблоны установлены, можно выбрать «Поиск доступных обновлений» — Конфигуратор сам найдёт подходящие.
  5. Прочитайте окно с описанием обновления и нажмите «Продолжить обновление».
  6. Для типовой базы без доработок окно сравнения закроется кнопкой «Выполнить». Если доработки есть — разбирайте их до нажатия.
  7. На вопрос об обновлении конфигурации базы данных ответьте «Да». Если отказались — выполните Конфигурация → Обновить конфигурацию базы данных (F7).
  8. Конфигуратор покажет список изменений структуры. Нажмите «Принять».
  9. Дождитесь окончания реструктуризации. На крупной базе она идёт от нескольких минут до часов.
  10. Запустите базу в режиме «Предприятие» под администратором. Программа выполнит обработчики обновления данных — дождитесь их завершения, не закрывайте окно.

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

Если релизов несколько, повторите шаги 3–9 для каждого по очереди. Запуск в «Предприятии» между ними на практике нужен не всегда, но для больших скачков релизов он надёжнее.

4. Обновление 1С на сервере из командной строки

Пакетный режим запускается через 1cv8.exe с параметром DESIGNER. Тонкий клиент 1cv8c.exe для этого не подходит: Конфигуратора в нём нет.

Пример команды для серверной базы:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER ^
 /S "srv1c\buh_prod" ^
 /N "Администратор" /P "пароль" ^
 /UC "ОБНОВЛЕНИЕ" ^
 /DisableStartupDialogs ^
 /UpdateCfg "D:\1c_updates\3_0_xxx\1cv8.cfu" ^
 /UpdateDBCfg ^
 /Out "D:\1c_logs\update_buh_prod.log" -NoTruncate

Номер платформы в пути подставьте свой.

Что делает каждый ключ:

КлючНазначение
DESIGNERзапуск в режиме Конфигуратора
/S "сервер\база"адрес серверной базы: имя сервера 1С и имя базы в кластере
/N, /Pпользователь и пароль 1С
/UCкод разрешения, если включена блокировка сеансов
/DisableStartupDialogsбез диалогов при запуске, иначе скрипт повиснет
/UpdateCfgприменить файл обновления .cfu или .cf к конфигурации на поддержке
/UpdateDBCfgобновить конфигурацию базы данных (реструктуризация)
/Outфайл журнала; -NoTruncate дописывает его, а не перезаписывает
/DumpIBвыгрузить базу в .dt — можно поставить отдельным запуском перед обновлением

У /UpdateDBCfg есть дополнительный параметр -Server: реструктуризация выполняется на стороне сервера 1С, а не клиента. Для крупных баз это заметно быстрее. Конкретные варианты параметра для вашей платформы проверьте в справке Конфигуратора по параметрам командной строки.

/UpdateCfg не умеет объединять доработки. Если конфигурация изменена, пакетное обновление остановится — такую базу обновляют руками.

Запуск обработчиков обновления после пакета

После реструктуризации базу нужно один раз открыть в режиме «Предприятие». В конфигурациях на БСП это делают параметром запуска:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE ^
 /S "srv1c\buh_prod" /N "Администратор" /P "пароль" /UC "ОБНОВЛЕНИЕ" ^
 /DisableStartupDialogs /C "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы"

Пароль в bat-файле в открытом виде — слабое место. Храните скрипт в папке, доступной только администратору, а пользователя для обновлений заведите отдельного.

5. Ночное обновление по расписанию

Когда скрипт отлажен вручную, его ставят в планировщик заданий Windows.

Порядок в одном bat-файле:

  1. Резервная копия средствами СУБД (sqlcmd или pg_dump).
  2. Проверка, что копия создана, — if not exist по имени файла с выходом при ошибке.
  3. 1cv8.exe DESIGNER ... /UpdateCfg ... /UpdateDBCfg /Out ....
  4. Проверка кода возврата: if %ERRORLEVEL% neq 0 — запись в лог и выход.
  5. 1cv8.exe ENTERPRISE ... для обработчиков обновления.
  6. Снятие блокировки сеансов.

Создание задания из командной строки:

schtasks /Create /TN "1C_update_buh_prod" /TR "D:\scripts\update_buh_prod.bat" ^
 /SC ONCE /ST 02:00 /SD 15.11.2026 /RU "DOMAIN\svc_1c_update" /RP *

Ключ /RP * запросит пароль учётной записи интерактивно. Формат даты в /SD зависит от региональных настроек Windows.

💡 Утром проверяйте лог /Out и журнал регистрации базы до того, как пустите пользователей. Ночной скрипт, который упал на втором шаге, выглядит так же тихо, как отработавший.

Перед ночным запуском
Выполнено: 0 / 6

6. Особенности обновления в кластере серверов 1С

Конфигурация хранится в самой базе данных, а не на серверах 1С. Поэтому обновление выполняется один раз на базу, сколько бы рабочих серверов ни было в кластере.

Что учесть:

  • 🖥️ Одинаковая платформа. Все рабочие серверы кластера и все клиенты должны работать на одной версии платформы. Обновляйте платформу на всех серверах до обновления конфигурации.
  • 🔌 Адрес в /S. Указывайте сервер, где работает центральный менеджер кластера: клиент обращается к агенту (порт 1540 по умолчанию), тот направляет к менеджеру кластера (1541) и рабочим процессам.
  • 🔒 Сеансы на всех серверах. Блокировка в свойствах информационной базы действует на весь кластер. Проверяйте список сеансов по базе в консоли кластера, а не на одном сервере.
  • 💾 Нагрузка на СУБД. Реструктуризация больших регистров создаёт новые таблицы и копирует в них данные. На сервере СУБД нужно свободное место примерно под размер изменяемых таблиц и журнала транзакций.
  • 🔁 Несколько баз одной конфигурации. Обновляйте их последовательно, а не параллельно: две реструктуризации одновременно делят ресурсы одной СУБД.

Если база участвует в распределённой информационной базе или обмене, сначала обновите главный узел, затем подчинённые. Конфигурация из главного узла приходит в подчинённый с обменом.

7. Ошибки при обновлении конфигурации и где смотреть логи

Типичные сообщения и что с ними делать:

Диагностика: выберите симптом

Где искать причину

  • 📄 Файл /Out — первое, что смотрят при пакетном обновлении. В нём текст ошибки Конфигуратора.
  • 📒 Журнал регистрации — в Конфигураторе Администрирование → Журнал регистрации. Фильтр по событиям изменения конфигурации покажет, кто и когда обновлял базу.
  • 🔧 Технологический журнал — включается файлом logcfg.xml в папке conf платформы на сервере 1С. Пишет исключения рабочих процессов, которых нет в журнале регистрации.

Минимальная настройка технологического журнала для поиска исключений:

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1c_techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

Технологический журнал быстро растёт. Включайте его на время разбора и удаляйте logcfg.xml после, иначе он займёт диск сервера.

Если реструктуризация прервалась и база не открывается, не пытайтесь «добить» её повторными запусками. Восстановите копию из раздела 1 и повторите обновление в спокойном окне.

8. Частые вопросы

Можно ли обновить конфигурацию, не выгоняя пользователей?
Частично. Конфигуратор предложит динамическое обновление, но оно не подходит для типовых релизов: часть изменений не применится до перезапуска сеансов, а обработчики обновления данных всё равно потребуют монопольного запуска.
Сколько времени займёт обновление серверной базы?
Загрузка файла .cfu — несколько минут. Основное время уходит на реструктуризацию и обработчики обновления: на базе в десятки гигабайт это может занять час и больше.
Нужно ли обновлять конфигурацию на каждом сервере кластера?
Нет. Конфигурация хранится в базе данных, обновление выполняется один раз на базу. На каждом сервере обновляют только платформу.
Где взять файлы обновлений?
Через интернет-поддержку пользователей 1С по договору ИТС. После установки шаблон обновления лежит в каталоге шаблонов конфигураций, по умолчанию в профиле пользователя.
Можно ли откатить обновление?
Штатной кнопки отката нет. Откат — это восстановление резервной копии базы, сделанной до обновления.