Установка нового релиза конфигурации 1С без простоя и потерь данных
Содержание
Чтобы развернуть релиз 1С, сначала разверните его на копии базы, затем в рабочей базе заблокируйте сеансы, сделайте резервную копию и примените файл обновления .cfu через Конфигурация → Поддержка → Обновить конфигурацию в Конфигураторе. После этого обновите конфигурацию базы данных (F7) и один раз запустите программу в режиме «1С:Предприятие»: там отработают обработчики обновления данных.
Порядок одинаков для типовых конфигураций на платформе 8.3 — Бухгалтерии 3.0, ЗУП 3.1, УТ 11, ERP. Разница только в длительности: файловая база на 5 ГБ обновляется за 10–20 минут, клиент-серверная ERP на сотни гигабайт — за несколько часов.
1. Подготовка к развертыванию релиза 1С
Обновление ломается чаще всего не на шаге установки, а из-за того, что пропустили подготовку. Перед окном работ проверьте пять вещей.
- 📌 Цепочка релизов. Файл
.cfuобновляет только с перечисленных в его описании версий. Если база на 3.0.150, а релиз рассчитан на обновление с 3.0.155 и выше, придётся ставить промежуточные релизы по очереди. Список версий, с которых возможен переход, есть в файле описания обновления в каталоге шаблона. - 🖥️ Версия платформы. У каждого релиза есть минимальный номер платформы. Если на сервере платформа с номером ниже требуемого, сначала обновите платформу на сервере и на всех клиентах.
- 🧩 Доработки. Откройте
Конфигурация → Поддержка → Настройка поддержки. Если конфигурация на поддержке без возможности изменения — обновление пройдёт автоматически. Если включена возможность изменения и объекты правили — готовьтесь к сравнению и объединению. - 🔌 Расширения и внешние обработки. Перепишите список расширений (
Администрирование → Печатные формы, отчеты и обработки → Расширения) и внешних печатных форм. После обновления их придётся проверить. - ⏱️ Окно работ. Замерьте время обновления на копии и заложите запас ×1,5. Пользователей предупредите заранее.
Файл обновления берут на портале обновлений по договору ИТС или через встроенную интернет-поддержку. Скачанный дистрибутив запускают через setup.exe — он распаковывает шаблон в каталог шаблонов (по умолчанию %APPDATA%\1C\1cv8\tmplts), откуда Конфигуратор потом берёт 1Cv8.cfu.
2. Резервные копии перед обновлением: почему одной мало
Одна выгрузка .dt закрывает не все сценарии. Её могли сделать при открытых сеансах, она может не загрузиться, а на большой базе её восстановление займёт полдня. Делайте три копии разного типа.
| Копия | Как сделать | От чего спасает |
|---|---|---|
Выгрузка .dt | Администрирование → Выгрузить информационную базу в Конфигураторе | Полный откат базы, перенос на другой сервер |
| Бэкап СУБД | Полная резервная копия средствами MS SQL или PostgreSQL | Быстрый откат большой клиент-серверной базы |
Файл .cf | Конфигурация → Сохранить конфигурацию в файл | Разбор доработок, повторное сравнение |
Для файловой базы вместо бэкапа СУБД достаточно скопировать каталог с файлом 1Cv8.1CD при закрытых сеансах.
Проверьте, что копия восстанавливается. Разверните .dt в пустую тестовую базу хотя бы раз в квартал. Копия, которую ни разу не загружали, — это надежда, а не страховка.
Храните копию не на том же диске, что и база. Отказ диска во время обновления — редкость, но тогда потеряете и базу, и бэкап.
3. Способы развернуть релиз: какой выбрать
Способ зависит от типа базы и от того, есть ли доработки.
| Способ | Когда подходит | Риски |
|---|---|---|
Из режима «1С:Предприятие» (Администрирование → Интернет-поддержка и сервисы → Обновление версии программы) | Типовая без доработок, файловая база, небольшая фирма | Мало контроля, сложно разобрать сбой |
| Конфигуратор вручную | Есть доработки, нужно сравнение и объединение | Зависит от внимательности администратора |
| Пакетный запуск Конфигуратора по скрипту | Много баз, регулярные обновления, ночное окно | Нужна проверка лога, иначе ошибка пройдёт незамеченной |
| Через тестовый контур | ERP, УТ с обменами, доработанные базы | Дольше, но ошибки ловятся до рабочей базы |
Для доработанной базы рабочая схема одна: обновить тестовую копию, проверить, затем повторить те же действия на рабочей с теми же настройками объединения. Файл настроек объединения можно сохранить и применить повторно.
4. Запуск обновления в Конфигураторе: пошагово
Освобождаем базу
Обновление структуры базы требует монопольного доступа. Варианты:
- В программе:
Администрирование → Обслуживание → Блокировка работы пользователей. Задайте время начала, сообщение и код разрешения. - В клиент-серверном варианте — через консоль кластера: в свойствах информационной базы включите «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена», задайте код разрешения.
- Завершите оставшиеся сеансы в консоли кластера.
Принудительное завершение сеансов обрывает работу пользователей: несохранённые документы потеряются. Делайте это после рассылки предупреждения и в согласованное окно.
Конфигуратор потом запускают с параметром /UC <код разрешения>, чтобы войти при включённой блокировке.
Применяем файл обновления
- Откройте базу в Конфигураторе под администратором.
- Если конфигурация не открыта —
Конфигурация → Открыть конфигурацию. Конфигурация → Поддержка → Обновить конфигурацию.- Выберите «Поиск доступных обновлений» или укажите файл
.cfuвручную. - Конфигуратор покажет описание обновления. Проверьте, что исходная версия есть в списке.
- Для типовой без изменений обновление пройдёт сразу. Для доработанной откроется окно сравнения и объединения.
Сравнение и объединение доработок
В окне сравнения смотрите на объекты с изменениями с обеих сторон — в своей конфигурации и в новой поставке. Для них:
- 🔵 типовой модуль, где ваших правок нет — берите из поставщика;
- 🟠 модуль с вашими правками — режим «Объединить с приоритетом основной конфигурации» или ручной перенос правок после обновления;
- 🔴 формы с доработками — после объединения откройте и проверьте вручную, слияние форм даёт самые неожиданные результаты.
Сохраните настройки сравнения в файл перед нажатием «Выполнить». На рабочей базе их можно загрузить и получить тот же результат, что на тесте.
Обновляем конфигурацию базы данных
После объединения нажмите F7 или Конфигурация → Обновить конфигурацию базы данных. Конфигуратор покажет список изменений структуры — примите его. На этом шаге реструктуризуются таблицы, и именно он занимает основное время на больших базах.
Затем запустите базу в режиме «1С:Предприятие». Программа сообщит, что версия изменилась, и выполнит обработчики обновления. Часть из них — отложенные: они дорабатывают данные в фоне ещё минуты или часы. Пока они не завершились, некоторые отчёты могут показывать неполные данные.
5. Автоматизация развертывания релиза
Когда баз больше трёх, ручное обновление превращается в рутину. Конфигуратор умеет работать в пакетном режиме без окон.
Скрипт пакетного обновления
Пример .bat для клиент-серверной базы на конфигурации, стоящей на поддержке:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set IB=/S "srv1c\buh"
set USR=/N "Администратор" /P "пароль"
set LOG=C:\upd\logs\buh_%date:~-4%%date:~3,2%%date:~0,2%.log
rem 1. Резервная выгрузка
%V8% DESIGNER %IB% %USR% /UC "upd2026" /DumpIB "C:\upd\backup\buh.dt" /Out %LOG% -NoTruncate /DisableStartupDialogs
rem 2. Применение обновления и реструктуризация
%V8% DESIGNER %IB% %USR% /UC "upd2026" /UpdateCfg "C:\upd\1Cv8.cfu" /UpdateDBCfg /Out %LOG% -NoTruncate /DisableStartupDialogs
rem 3. Обработчики обновления в режиме Предприятия
%V8% ENTERPRISE %IB% %USR% /UC "upd2026" /C "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы" /DisableStartupDialogs
Для файловой базы вместо /S "srv1c\buh" укажите /F "D:\Bases\Buh". Номер платформы в пути замените на свой. Пароль в открытом виде держите только в файле с правами для администратора, а лучше подставляйте из хранилища секретов.
/UpdateCfg применяет файл поставки к конфигурации на поддержке. Если доработки требуют ручного объединения, пакетный режим не подходит — обновляйте такую базу интерактивно.
Проверка лога на ошибки
Пакетный Конфигуратор не показывает окон, поэтому единственный источник правды — файл из /Out. Ключ -NoTruncate дописывает в файл, а не перезаписывает его.
findstr /I /C:"ошибка" /C:"error" %LOG% >nul
if %errorlevel%==0 (
echo В логе есть ошибки, обновление остановлено
exit /b 1
)
Проверяйте лог после каждого шага, а не в конце: если /UpdateCfg не прошёл, запускать обработчики обновления бессмысленно. Дополнительно смотрите журнал регистрации базы за время работ — там видны ошибки обработчиков обновления.
Сохраняйте логи с датой в имени и шлите результат в почту или мессенджер. Утром видно, какие базы обновились, а какие ждут ручного разбора.
Обновление при старте контейнера
Если сервер 1С работает в Docker на Linux, обновление удобно встроить в скрипт запуска контейнера (entrypoint). Логика такая:
- Скопировать скрипт обновления и файл конфигурации в образ на этапе сборки (
COPYв Dockerfile). - При старте контейнера сравнить версию из файла-метки с версией в образе.
- Если версии отличаются — выполнить обновление, записать новую метку, затем запустить сервер .
- Если совпадают — сразу стартовать сервер.
#!/bin/bash
set -e
MARK=/var/lib/1c/applied_release
TARGET=$(cat /opt/upd/release.txt)
if [ "$(cat $MARK 2>/dev/null)" != "$TARGET" ]; then
/opt/upd/update.sh >> /var/log/1c/update.log 2>&1
echo "$TARGET" > "$MARK"
fi
exec /opt/1cv8/x86_64/current/ragent -port 1540
Внутри update.sh для конфигураций без поддержки удобна утилита ibcmd: она загружает полный .cf и применяет изменения структуры без графического Конфигуратора. Точные параметры для вашей версии платформы смотрите в ibcmd help infobase config. Путь к ragent и порт поправьте под свою сборку.
Если контейнеров с одной базой несколько, обновление должен выполнять только один из них. Иначе два процесса попробуют реструктуризовать базу одновременно, и оба упадут на блокировке.
Метку храните на томе, а не внутри контейнера: иначе после пересоздания контейнер решит, что база не обновлялась.
6. Проверка базы после нового релиза
Сразу после обновления пройдите короткий сценарий. Он занимает 15–30 минут и ловит большинство проблем до того, как их найдут пользователи.
- Версия.
Справка → О программе— номер конфигурации совпадает с ожидаемым. - Результаты обновления. В разделе
Администрирование → Обслуживаниенайдите результаты обновления программы и убедитесь, что отложенные обработчики завершились без ошибок. - Расширения. Откройте список расширений: у неприменившихся будет отметка с ошибкой. Частая причина — расширение ссылается на объект, который в новом релизе переименовали.
- Ключевые документы. Проведите по одному документу основных типов в тестовой копии или в закрытом периоде с последующим удалением.
- Отчёты. Сформируйте ОСВ и пару привычных отчётов, сверьте итоги с данными до обновления.
- Обмены и регламентные задания. Снимите блокировку регламентных заданий и проверьте, что обмен с сайтом, банком или ЭДО прошёл.
- Внешние печатные формы. Откройте каждую — после обновления они чаще всего ломаются молча.
Выгрузите ОСВ до обновления в Excel. Потом сверка займёт пять минут: расхождение в итогах сразу укажет на проблему обработчиков.
7. Откат релиза: когда возвращаться к старой версии
Откатываться стоит, если база не запускается, обработчики обновления падают с ошибкой, а исправить её быстро нельзя, или если перестали проводиться ключевые документы и работа стоит.
Откатить релиз установкой старого .cfu нельзя: файлы обновления работают только вперёд. Возврат — только через восстановление копии:
- 💾 Бэкап СУБД — самый быстрый путь для большой базы. Восстанавливается средствами MS SQL или PostgreSQL.
- 📦 Выгрузка
.dt—Администрирование → Загрузить информационную базув Конфигураторе или/RestoreIBв пакетном режиме. - 📁 Копия каталога — для файловой базы.
Не загружайте старый .cf поверх обновлённой базы. Обработчики уже переложили данные под новую структуру. Старая конфигурация на новых данных даст ошибки и потерю реквизитов.
Если пользователи успели поработать после обновления, их документы при откате пропадут. Зафиксируйте время отката и предупредите людей, какие данные придётся ввести заново.
8. Ошибки при развертывании релиза и что с ними делать
Ещё одна частая беда — обновление в пакетном режиме, которое «прошло», хотя лог никто не читал. Конфигуратор закрылся, скрипт отработал, а релиз не встал. Отсюда правило: нет проверки лога — нет автоматизации.
Частые вопросы по развертыванию релиза 1С
Можно ли пропустить несколько релизов?
Чем .cf отличается от .cfu?
.cf — полная конфигурация, .cfu — файл обновления с определённых версий. Для обычного обновления типовой используют .cfu.Сколько обновлять файловую базу?
Нужно ли снимать конфигурацию с поддержки для доработок?
Можно ли обновлять базу днём?
.cfu в конфигурацию можно при работающих пользователях. Обновление структуры базы данных требует монопольного доступа, поэтому его переносят в нерабочее время.