Файл обновления .cfu: как накатить релиз на базу 1С 8.3 и не сломать её
Содержание
Чтобы обновить конфигурацию
1С файлом CFU, откройте базу в Конфигураторе, выберите Конфигурация → Поддержка → Обновить конфигурацию…, укажите файл 1cv8.cfu и после загрузки выполните Конфигурация → Обновить конфигурацию базы данных (клавиша F7). Затем запустите базу в режиме 1С:Предприятие, чтобы отработали обработчики обновления. Перед всем этим нужна выгрузка базы в .dt.
Это общий порядок платформы 8.3, он одинаков для Бухгалтерии, ЗУП, УТ и других типовых решений. Различаются только номера релизов и то, дорабатывали ли вашу конфигурацию. Сложности начинаются там, где релизы пропущены, платформа устарела или база входит в распределённую систему.
Что лежит в файле CFU и чем он отличается от CF
CFU — это файл поставки обновления. В нём нет полной конфигурации, только изменения относительно нескольких предыдущих релизов. Список версий, от которых можно обновиться, зашит внутрь файла.
Отсюда главное правило: обновление идёт строго по цепочке. Если у вас релиз 3.0.150, а CFU рассчитан на переход с 3.0.160 и новее, файл не подойдёт. Сначала ставите промежуточные релизы.
| Файл | Что внутри | Когда использовать |
|---|---|---|
.cfu | Изменения от конкретных предыдущих версий | Типовая база на поддержке, обычное плановое обновление |
.cf | Полная конфигурация | Новая пустая база, конфигурация снята с поддержки, сильно доработанная база |
.dt | Конфигурация вместе с данными | Резервная копия и перенос базы, не для обновления |
Где взять CFU:
- 📦 Распаковать дистрибутив обновления (
updsetup.exeилиsetup.exe). Установщик кладёт файлы в каталог шаблонов, по умолчанию%APPDATA%\1C\1cv8\tmplts\1c\<конфигурация>\<версия>\1cv8.cfu. - 🌐 Скачать с портала поддержки по договору ИТС и тоже распаковать.
- 🔄 Довериться автоматическому обновлению в самой программе: оно скачивает те же файлы, только без вашего участия.
В папке релиза рядом с CFU лежит файл ReadMe.txt или описание «Новое в версии». В нём указаны версии, с которых возможно обновление, и минимальный номер платформы. Прочитайте его до начала, это две минуты.
Подготовка базы к обновлению конфигурации
Хорошая подготовка закрывает почти все проблемы, которые потом всплывают в виде ошибок. Пройдите по пунктам ниже, отмечая сделанное.
Как составить цепочку релизов
Пример. В базе стоит релиз 3.0.150. Вы хотите перейти на 3.0.175. В ReadMe последнего релиза сказано, что обновление возможно с 3.0.165 и новее.
- Откройте ReadMe более раннего релиза, например 3.0.165, и посмотрите, с каких версий он ставится.
- Если ваш 3.0.150 в этом списке есть, цепочка готова: 3.0.150 → 3.0.165 → 3.0.175.
- Если нет, спускайтесь ниже, пока не найдёте релиз, который принимает вашу версию.
Скачайте и распакуйте все звенья цепочки заранее. Обнаружить нехватку промежуточного файла посреди ночного обновления — неприятно.
Как сделать резервную копию
В Конфигураторе: Администрирование → Выгрузить информационную базу…, указать путь и имя файла .dt. Выгрузка требует, чтобы в базе никто не работал.
Для серверной базы MS SQL или PostgreSQL дополнительно сделайте копию средствами СУБД. Выгрузка .dt удобна, но на базах в десятки гигабайт идёт долго, а штатный бэкап СУБД снимается быстрее.
Как освободить базу от пользователей
Файловая база: попросите всех выйти и проверьте Администрирование → Активные пользователи в Конфигураторе.
Клиент-серверная база : в консоли кластера откройте свойства информационной базы, включите блокировку начала сеансов, задайте сообщение и код разрешения. Активные сеансы завершаются там же. Завершение сеанса обрывает работу пользователя без сохранения — делайте это только после предупреждения, вне рабочего времени.
Обновление конфигурации через CFU по шагам
Ниже порядок для типовой конфигурации на поддержке, без изменений. Особенности доработанных баз — в конце раздела.
Шаг 1. Загрузить файл обновления
- Запустите базу в режиме «Конфигуратор» под администратором.
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Поддержка → Обновить конфигурацию…. - Отметьте
Выбор файла обновления, нажмите «Далее» и укажите путь к1cv8.cfu. - Нажмите «Готово». Конфигуратор проверит, подходит ли файл к текущей версии, и покажет описание релиза.
- В следующем окне нажмите «Выполнить» (для типовой без изменений) или проверьте дерево объединения (для доработанной).
Можно выбрать и Поиск доступных обновлений: тогда Конфигуратор сам просмотрит каталог шаблонов и предложит подходящие файлы. Этот режим удобен, если в шаблонах лежит сразу несколько релизов.
Шаг 2. Обновить конфигурацию базы данных
После загрузки изменилась только основная конфигурация, данные пока работают со старой структурой. Выполните Конфигурация → Обновить конфигурацию базы данных или нажмите F7.
Платформа покажет список изменений структуры. Нажмите «Принять». На этом этапе нужен монопольный доступ к базе, поэтому шаг подготовки с пользователями не пропускайте.
Шаг 3. Запустить обработчики обновления
Откройте базу в режиме 1С:Предприятие под администратором. Программа покажет окно обновления версии и запустит обработчики, которые переносят данные в новую структуру. На больших базах это занимает от минут до нескольких часов.
Дождитесь окончания. Часть обработчиков выполняется отложенно, в фоне: их статус виден в Администрирование → Обслуживание → Результаты обновления программы.
Шаг 4. Повторить для следующего релиза цепочки
Если вы шли через промежуточные версии, после каждого CFU выполняйте все три шага, включая запуск в режиме 1С:Предприятие. Пропуск запуска между релизами — частая причина того, что обработчики следующего релиза падают на необновлённых данных.
Если конфигурация доработана
Когда в типовой включена возможность изменений, окно на шаге 1 показывает дерево сравнения: что меняет поставщик и что меняли вы. Флажки у объектов определяют, чья версия попадёт в результат.
- 🔍 Объекты, которые меняли и вы, и поставщик, просматривайте вручную.
- 🧩 Доработки, вынесенные в расширения конфигурации , этим окном не затрагиваются. После обновления проверьте, что расширения применяются без ошибок.
- ✂️ Если конфигурация снята с поддержки, пункт
Обновить конфигурациюс CFU не сработает. Нужен полный.cfиКонфигурация → Сравнить, объединить с конфигурацией из файла.
Как обновить CFU в распределённой информационной базе (РИБ)
В РИБ конфигурацию меняют только в главном узле. Подчинённые узлы получают её вместе с сообщениями обмена, загружать CFU в них напрямую нельзя.
Порядок:
- Проведите полный обмен со всеми узлами, чтобы в каждом не осталось неотправленных изменений.
- Попросите подчинённые узлы остановить работу до окончания обновления.
- Обновите главный узел по шагам выше, включая запуск в режиме 1С:Предприятие.
- Выполните синхронизацию из главного узла. В сообщение попадут изменения конфигурации.
- В подчинённом узле загрузите сообщение. Программа сообщит о полученном обновлении и предложит его установить. Установка снова требует монопольного доступа к этому узлу.
- После установки запустите подчинённый узел в режиме 1С:Предприятие, чтобы отработали его обработчики.
Если подчинённый узел успел внести данные и не отправил их до обновления главного, при следующем обмене возможны коллизии. Поэтому обмен на шаге 1 обязателен, а не «по желанию».
Отдельный случай — узлы, у которых настроен обмен без переноса конфигурации (например, обмен между разными программами). Их обновляют каждую самостоятельно, CFU для каждой своей.
Автоматическое и пакетное обновление
Когда баз много, ручной проход Конфигуратором превращается в смену. Есть три способа ускорить работу.
Командная строка 1cv8
Конфигуратор умеет обновляться без окон. Пример bat-файла для файловой базы:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe"
set IB=/F"D:\Bases\Buh"
set USR=/N"Администратор" /P"пароль"
rem 1. Резервная копия
%V8% DESIGNER %IB% %USR% /DumpIB "D:\Backup\buh_before_update.dt" /Out "D:\Logs\dump.log" /DisableStartupMessages
rem 2. Загрузка CFU и обновление конфигурации базы данных
%V8% DESIGNER %IB% %USR% /UpdateCfg "D:\Updates\1cv8.cfu" /UpdateDBCfg /Out "D:\Logs\update.log" /DisableStartupMessages
rem 3. Запуск обработчиков обновления
%V8% ENTERPRISE %IB% %USR% /C"ЗапуститьОбновлениеИнформационнойБазы" /DisableStartupMessages
Для серверной базы вместо /F используйте /S"сервер\имя_базы". Номер платформы в пути замените на свой. Ключ /UpdateCfg принимает и .cfu, и .cf.
Если в серверной базе включена блокировка сеансов с кодом разрешения, добавьте ключ /UC"код", иначе пакетный запуск сам не войдёт.
Всегда пишите лог через /Out. Пакетный режим не показывает окон, и без файла журнала вы не узнаете, на каком этапе он остановился.
Обновление из самой программы
В типовых конфигурациях на БСП есть встроенный помощник: Администрирование → Интернет-поддержка и сервисы → Обновление версии программы. Он сам скачивает нужную цепочку CFU, делает резервную копию (для файловой базы) и проходит все шаги. Нужно подключение к интернет-поддержке с действующим договором.
Пакетное обновление многих баз
Для администратора с десятком баз на одном сервере подходит внешняя обработка пакетного обновления конфигураций, которую распространяет фирма 1С для партнёров и подписчиков ИТС. Она берёт список баз, ищет CFU в каталоге шаблонов и обновляет их по очереди. Альтернатива — свой скрипт на основе bat-файла выше, запускаемый планировщиком Windows ночью.
Ошибки при обновлении через CFU и что с ними делать
Начните с текста сообщения: почти каждое прямо указывает на причину.
Ещё одна частая ситуация: после обновления расширение перестало применяться. Платформа отключает расширение, если оно ссылается на объект, который поставщик переименовал или удалил. Откройте Конфигурация → Расширения конфигурации, посмотрите сообщение по нужному расширению и поправьте его под новую структуру.
Откат обновления конфигурации 1С
Способ отката зависит от того, на каком шаге вы остановились.
| Где остановились | Как вернуться | Что теряете |
|---|---|---|
| CFU загружен, F7 ещё не нажимали | Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД | Ничего, данные не тронуты |
| Конфигурация БД обновлена, база не запускалась | Загрузка .dt из резервной копии | Ничего, если копию сделали прямо перед обновлением |
| Обработчики отработали, пользователи уже вносили данные | Загрузка .dt из копии | Всё, что ввели после копии |
Загрузка копии: в Конфигураторе Администрирование → Загрузить информационную базу…, выбрать файл .dt. Загрузка полностью заменяет текущую базу — данные, введённые после выгрузки, пропадут. Если после обновления уже работали, выгрузите текущее состояние отдельно, чтобы потом перенести документы вручную.
Загрузить старый .cf поверх обновлённой базы и нажать F7 — плохая идея. Обработчики уже изменили данные под новую структуру, и обратного преобразования у них нет. Корректный откат только через резервную копию.
Когда откат действительно нужен: база не запускается, обработчики стабильно падают, критичные отчёты или обмены перестали работать, а исправить быстро нельзя. Если же сломалась одна печатная форма или обработка, обычно быстрее поправить её, чем откатывать всё.
Частые вопросы
Можно ли перескочить через несколько релизов одним CFU?
Нужно ли обновлять платформу перед конфигурацией?
Сколько длится обновление?
Можно ли обновлять, пока бухгалтер работает в базе?
Что делать с CFU после обновления?
tmplts.