Обновление типовой конфигурации в клиент-серверной базе 1С 8.3
Содержание
Чтобы обновить конфигурацию
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 не пройдёт или предложит динамическое обновление.
Закрыть вход можно тремя способами:
- Из самой программы. В Бухгалтерии 3.0 и ЗУП 3.1:
Администрирование → Обслуживание → Блокировка работы пользователей. Укажите время, сообщение и код разрешения, затем включите блокировку. Через несколько минут программа завершит сеансы сама. - Через консоль кластера. Откройте свойства информационной базы, включите «Блокировка начала сеансов включена», задайте сообщение и код разрешения. Затем удалите оставшиеся сеансы в ветке «Сеансы».
- Через
rac. Удобно в скриптах. Список сеансов:rac session list --cluster=<id>. Параметры блокировки базы смотрите вrac help infobase— набор ключей зависит от версии платформы.
Удаление сеанса обрывает работу пользователя без сохранения документа. Предупредите людей заранее и делайте это вне рабочего времени.
Код разрешения пригодится вам самим: с ним Конфигуратор войдёт в заблокированную базу. В командной строке его передают ключом /UC.
💡 Не забудьте отключить регламентные задания на время обновления — в консоли кластера это флажок «Блокировка регламентных заданий включена». Иначе фоновый обмен или загрузка курсов может удержать базу.
3. Обновление конфигурации через Конфигуратор: пошагово
Ручной способ — самый наглядный. Подходит, если баз немного.
- Запустите 1С, выберите базу, нажмите «Конфигуратор». Войдите под пользователем с правами администратора.
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Поддержка → Обновить конфигурацию. - Укажите «Выбор файла обновления» и путь к
1cv8.cfuиз папки шаблонов. Если шаблоны установлены, можно выбрать «Поиск доступных обновлений» — Конфигуратор сам найдёт подходящие. - Прочитайте окно с описанием обновления и нажмите «Продолжить обновление».
- Для типовой базы без доработок окно сравнения закроется кнопкой «Выполнить». Если доработки есть — разбирайте их до нажатия.
- На вопрос об обновлении конфигурации базы данных ответьте «Да». Если отказались — выполните
Конфигурация → Обновить конфигурацию базы данных(F7). - Конфигуратор покажет список изменений структуры. Нажмите «Принять».
- Дождитесь окончания реструктуризации. На крупной базе она идёт от нескольких минут до часов.
- Запустите базу в режиме «Предприятие» под администратором. Программа выполнит обработчики обновления данных — дождитесь их завершения, не закрывайте окно.
После последнего шага снимите блокировку сеансов и разрешите регламентные задания.
Если релизов несколько, повторите шаги 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-файле:
- Резервная копия средствами СУБД (
sqlcmdилиpg_dump). - Проверка, что копия создана, —
if not existпо имени файла с выходом при ошибке. 1cv8.exe DESIGNER ... /UpdateCfg ... /UpdateDBCfg /Out ....- Проверка кода возврата:
if %ERRORLEVEL% neq 0— запись в лог и выход. 1cv8.exe ENTERPRISE ...для обработчиков обновления.- Снятие блокировки сеансов.
Создание задания из командной строки:
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 и журнал регистрации базы до того, как пустите пользователей. Ночной скрипт, который упал на втором шаге, выглядит так же тихо, как отработавший.
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 и повторите обновление в спокойном окне.