Файл обновления конфигурации 1С: от выгрузки dt до готового cfu
Содержание
Файл обновления 1С (.cfu) создают в конфигураторе через меню Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления. Для этого нужны новая версия конфигурации в базе разработки и файлы .cf тех прошлых версий, с которых клиенты будут обновляться.
Механизм общий для платформы 8.3 и не зависит от того, что за конфигурация: своя разработка, отраслевое решение или доработанная типовая. Ниже порядок, в котором это делают на практике: какой формат выбрать, что проверить, как получить cfu и как поставить сборку на поток.
Какой файл нужен: dt, cf, cfu или комплект поставки
Под «файлом обновления» в обиходе понимают четыре разных вещи. Ошибка в выборе формата стоит дороже всего: клиент получает не то, что сможет применить.
| Формат | Что внутри | Когда использовать | Чем грозит ошибка |
|---|---|---|---|
.dt | Вся база: конфигурация и данные | Перенос базы, резервная копия, передача копии для разбора | Загрузка .dt затирает данные получателя полностью |
.cf | Только конфигурация, без данных | Новая установка, полная замена конфигурации, сравнение версий | Загрузка .cf поверх доработанной базы снимает её с поддержки или удаляет доработки |
.cfu | Разница между новой версией и указанными старыми | Регулярное обновление у клиентов, которые стоят на поддержке | Не применится, если версии клиента нет в списке |
Комплект поставки (setup.exe + шаблон) | Файлы .cf/.cfu и описание для установки в каталог шаблонов | Распространение тиражного решения | Без файла описания комплект не соберётся |
📌 Короткое правило:
- 🔄 клиент работает на вашей конфигурации и стоит на поддержке → нужен
.cfu; - 🆕 база создаётся с нуля → хватит
.cf; - 🗄 нужно передать базу целиком, с данными → только
.dt.
Что проверить в конфигураторе перед сборкой
Файл обновления собирается из основной конфигурации базы разработки. Если в ней лежат незаконченные правки, они уедут к клиентам вместе с релизом.
Перед сборкой пройдите по списку:
- Сохраните конфигурацию и выполните
Конфигурация → Обновить конфигурацию базы данных(F7). Так вы убедитесь, что изменения структуры применимы без ошибок. - Запустите
Конфигурация → Проверка конфигурации. Флажок синтаксического контроля модулей отлавливает большую часть грубых ошибок до клиента. - Откройте свойства корня конфигурации (правая кнопка по корню дерева →
Свойства) и поменяйте полеВерсия. Номер нового релиза обязан отличаться от всех прошлых. - Там же проверьте поля
ПоставщикиИмя. По этой паре платформа у клиента понимает, что cfu относится именно к его конфигурации. - Подготовьте папку с файлами
.cfпрошлых релизов, разложенными по номерам версий.
Храните каждый выпущенный релиз в отдельной папке вида Release\1.0.4\1Cv8.cf. Без cf прошлой версии собрать cfu для неё невозможно, а восстановить его задним числом удаётся не всегда.
Номер версии принято вести в формате редакция.подредакция.версия.сборка, например 1.0.5.1. Платформа сравнивает версии как строки из чисел, поэтому формат лучше не менять между релизами.
Выгрузка базы в dt и сохранение cf: страховка и исходник
До сборки обновления снимите две копии. Обе нужны не клиенту, а вам.
Выгрузка в dt
- Откройте конфигуратор базы разработки.
- Выберите
Администрирование → Выгрузить информационную базу. - Укажите путь и имя, например
D:\Backup\dev_2026-10-07.dt. - Дождитесь сообщения о завершении выгрузки.
Выгрузку лучше делать, когда в базе никто не работает
: так копия получится согласованной. Загрузка dt обратно (Администрирование → Загрузить информационную базу) уже требует монопольного доступа и полностью заменяет содержимое базы.
Никогда не загружайте dt в рабочую базу «чтобы проверить». Все данные, введённые после выгрузки, пропадут.
Сохранение cf нового релиза
Команда Конфигурация → Сохранить конфигурацию в файл выгружает текущую основную конфигурацию в .cf. Это удобно для архива, но для тиражного релиза cf лучше получать тем же окном, что и cfu (следующий раздел). Тогда в файл попадут настройки поставки, и он станет полноценным дистрибутивом.
Как создать файл обновления cfu в конфигураторе
Сама сборка занимает пару минут. Основное время уходит на подбор правильных прошлых версий.
Шаг 1. Откройте окно создания файлов поставки
В конфигураторе выберите Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления. Откроется окно с двумя флажками: создание файла поставки и создание файла обновления.
Шаг 2. Задайте файл поставки
Включите флажок файла поставки и укажите путь, например D:\Release\1.0.5\1Cv8.cf. Этот cf станет «прошлой версией» для следующего релиза, так что сохраните его обязательно.
Шаг 3. Задайте файл обновления
Включите флажок файла обновления и укажите путь: D:\Release\1.0.5\1Cv8.cfu. Имя 1Cv8.cfu — привычное по умолчанию, менять его не нужно: папка с номером версии и так однозначно определяет релиз.
Шаг 4. Добавьте версии, с которых возможно обновление
В нижней части окна есть список дистрибутивов прошлых версий. Через кнопку добавления выберите файлы .cf из архива:
Release\1.0.4\1Cv8.cf— прошлый релиз;Release\1.0.3\1Cv8.cf— позапрошлый, если часть клиентов на нём задержалась.
Каждая добавленная версия увеличивает размер cfu: внутри хранится разница для каждой из них. Три-пять версий назад — разумный предел. Тем, кто отстал сильнее, отдают цепочку промежуточных обновлений или полный cf.
Шаг 5. Запустите сборку
Нажмите Выполнить. По окончании в папке релиза появятся оба файла.
Шаг 6. Приложите к cfu описание изменений
Сам файл обновления ничего не говорит клиенту о содержании релиза. Положите рядом короткий текстовый файл: номер версии, с каких версий возможно обновление, список исправлений и нужно ли после обновления что-то настроить. Администратор клиента прочитает его до того, как запустит обновление, а не после звонка бухгалтера.
| Сценарий у клиентов | Что добавить в список | Размер cfu |
|---|---|---|
| Все на прошлом релизе | 1 версия | Минимальный |
| Разброс в 2–3 релиза | 2–3 версии | Средний |
| Кто-то отстал на год | Не добавлять, отдать цепочку или cf | — |
Настройка поставки и права на изменение объектов
Подтема, которую часто пропускают: что клиент сможет менять в вашей конфигурации после установки. Это задаётся до сборки, в Конфигурация → Поставка конфигурации → Настройка поставки.
Правила поставки объектов
В окне настройки для каждого объекта конфигурации выбирают, как он поставляется:
- ✏️ редактируемым — клиент может включить возможность изменения и дорабатывать объект, а при обновлении сравнивать свои правки с вашими;
- 🔒 нередактируемым — объект нельзя изменить у клиента без снятия с поддержки.
Для тиражного решения ядро обычно делают нередактируемым, а печатные формы и отчёты — редактируемыми. Так клиент правит то, что ему действительно нужно, и не ломает обмены и проведение.
Как это сказывается на обновлении
У клиента конфигурация после установки встаёт на поддержку вашего поставщика. Когда он применяет cfu через Конфигурация → Поддержка → Обновить конфигурацию, платформа сравнивает три версии: старую поставку, новую поставку и его текущую конфигурацию. Если клиент дорабатывал редактируемые объекты, он увидит окно сравнения и объединения.
Права пользователя
Создавать файлы поставки может только тот, кто входит в конфигуратор, то есть пользователь с административными правами в базе разработки. Если у базы включено хранилище, сначала обновите конфигурацию из хранилища и убедитесь, что ни один объект не остался захваченным с незафиксированными правками.
Если вы собираете cfu для доработанной типовой конфигурации, помните: у клиента она стоит на поддержке фирмы 1С или франчайзи. Ваш cfu с другим поставщиком на неё не ляжет как обычное обновление. Для таких доработок практичнее поставлять расширения (.cfe).
Пакетный запуск: сборка обновления без ручной работы
Если релизы выходят раз в неделю, окна конфигуратора быстро надоедают. Всё описанное выше умеет пакетный режим 1cv8.exe.
Пример bat-файла для файловой базы разработки:
@echo off
rem Подставьте каталог установленной версии платформы
set V8="C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe"
set BASE=D:\Bases\Dev
set REL=D:\Release
set NEW=1.0.5
rem 1. Страховочная копия базы разработки
%V8% DESIGNER /F"%BASE%" /N"Admin" /P"" /DumpIB"%REL%\%NEW%\dev.dt" /Out"%REL%\%NEW%\log_dt.txt" /DisableStartupDialogs
rem 2. Файл поставки и файл обновления с двух прошлых версий
%V8% DESIGNER /F"%BASE%" /N"Admin" /P"" /CreateDistributionFiles -cffile"%REL%\%NEW%\1Cv8.cf" -cfufile"%REL%\%NEW%\1Cv8.cfu" -f"%REL%\1.0.4\1Cv8.cf" -f"%REL%\1.0.3\1Cv8.cf" /Out"%REL%\%NEW%\log_cfu.txt" /DisableStartupDialogs
Что здесь важно:
- Для серверной базы
/F"путь"заменяется на/S"сервер\имябазы". - Ключ
-fповторяется для каждой прошлой версии. Вместо пути к cf можно указать-vс номером версии: тогда платформа ищет дистрибутив этой версии в каталоге шаблонов. /Outпишет журнал. Проверяйте его после каждого запуска: пакетный режим не показывает окон, и ошибка видна только в логе./DisableStartupDialogsубирает стартовые диалоги, которые иначе подвесят ночной запуск.
Пароль администратора в bat-файле лежит открытым текстом. Держите скрипт на сервере сборки с ограниченным доступом или подставляйте пароль из переменной окружения.
Применять обновление у клиента тоже можно пакетно: ключ /UpdateCfg"путь\1Cv8.cfu" обновляет конфигурацию на поддержке, а /UpdateDBCfg следом применяет её к базе. Второй шаг меняет структуру базы, поэтому его запускают, когда пользователи вышли.
Как проверить cfu до отправки клиентам
Собранный файл стоит прогнать на копии, а не верить, что раз сборка прошла без ошибок, всё хорошо.
Порядок проверки:
- Разверните копию базы
на прошлом релизе. Подойдёт пустая база, созданная из
Release\1.0.4\1Cv8.cf. - В её конфигураторе выполните
Конфигурация → Поддержка → Обновить конфигурацию, выберите файл обновления и укажите новый cfu. - Убедитесь, что платформа предложила обновление именно до нужного номера версии.
- Примените обновление, затем
Обновить конфигурацию базы данных. - Запустите базу в режиме 1С:Предприятие и пройдите обработчики обновления, если они есть в вашей конфигурации.