Файл обновления конфигурации 1С: от выгрузки dt до готового cfu

· 9 мин

Содержание

Файл обновления 1С (.cfu) создают в конфигураторе через меню Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления. Для этого нужны новая версия конфигурации в базе разработки и файлы .cf тех прошлых версий, с которых клиенты будут обновляться.

Механизм общий для платформы 8.3 и не зависит от того, что за конфигурация: своя разработка, отраслевое решение или доработанная типовая. Ниже порядок, в котором это делают на практике: какой формат выбрать, что проверить, как получить cfu и как поставить сборку на поток.

Какой файл нужен: dt, cf, cfu или комплект поставки

Под «файлом обновления» в обиходе понимают четыре разных вещи. Ошибка в выборе формата стоит дороже всего: клиент получает не то, что сможет применить.

ФорматЧто внутриКогда использоватьЧем грозит ошибка
.dtВся база: конфигурация и данныеПеренос базы, резервная копия, передача копии для разбораЗагрузка .dt затирает данные получателя полностью
.cfТолько конфигурация, без данныхНовая установка, полная замена конфигурации, сравнение версийЗагрузка .cf поверх доработанной базы снимает её с поддержки или удаляет доработки
.cfuРазница между новой версией и указанными старымиРегулярное обновление у клиентов, которые стоят на поддержкеНе применится, если версии клиента нет в списке
Комплект поставки (setup.exe + шаблон)Файлы .cf/.cfu и описание для установки в каталог шаблоновРаспространение тиражного решенияБез файла описания комплект не соберётся

📌 Короткое правило:

  • 🔄 клиент работает на вашей конфигурации и стоит на поддержке → нужен .cfu;
  • 🆕 база создаётся с нуля → хватит .cf;
  • 🗄 нужно передать базу целиком, с данными → только .dt.

Что проверить в конфигураторе перед сборкой

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

Перед сборкой пройдите по списку:

  1. Сохраните конфигурацию и выполните Конфигурация → Обновить конфигурацию базы данных (F7). Так вы убедитесь, что изменения структуры применимы без ошибок.
  2. Запустите Конфигурация → Проверка конфигурации. Флажок синтаксического контроля модулей отлавливает большую часть грубых ошибок до клиента.
  3. Откройте свойства корня конфигурации (правая кнопка по корню дерева → Свойства) и поменяйте поле Версия. Номер нового релиза обязан отличаться от всех прошлых.
  4. Там же проверьте поля Поставщик и Имя. По этой паре платформа у клиента понимает, что cfu относится именно к его конфигурации.
  5. Подготовьте папку с файлами .cf прошлых релизов, разложенными по номерам версий.

Храните каждый выпущенный релиз в отдельной папке вида Release\1.0.4\1Cv8.cf. Без cf прошлой версии собрать cfu для неё невозможно, а восстановить его задним числом удаётся не всегда.

Номер версии принято вести в формате редакция.подредакция.версия.сборка, например 1.0.5.1. Платформа сравнивает версии как строки из чисел, поэтому формат лучше не менять между релизами.

Выгрузка базы в dt и сохранение cf: страховка и исходник

До сборки обновления снимите две копии. Обе нужны не клиенту, а вам.

Выгрузка в dt

  1. Откройте конфигуратор базы разработки.
  2. Выберите Администрирование → Выгрузить информационную базу.
  3. Укажите путь и имя, например D:\Backup\dev_2026-10-07.dt.
  4. Дождитесь сообщения о завершении выгрузки.

Выгрузку лучше делать, когда в базе никто не работает : так копия получится согласованной. Загрузка 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

Что здесь важно:

  1. Для серверной базы /F"путь" заменяется на /S"сервер\имябазы".
  2. Ключ -f повторяется для каждой прошлой версии. Вместо пути к cf можно указать -v с номером версии: тогда платформа ищет дистрибутив этой версии в каталоге шаблонов.
  3. /Out пишет журнал. Проверяйте его после каждого запуска: пакетный режим не показывает окон, и ошибка видна только в логе.
  4. /DisableStartupDialogs убирает стартовые диалоги, которые иначе подвесят ночной запуск.

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

Применять обновление у клиента тоже можно пакетно: ключ /UpdateCfg"путь\1Cv8.cfu" обновляет конфигурацию на поддержке, а /UpdateDBCfg следом применяет её к базе. Второй шаг меняет структуру базы, поэтому его запускают, когда пользователи вышли.

Как проверить cfu до отправки клиентам

Собранный файл стоит прогнать на копии, а не верить, что раз сборка прошла без ошибок, всё хорошо.

Порядок проверки:

  1. Разверните копию базы на прошлом релизе. Подойдёт пустая база, созданная из Release\1.0.4\1Cv8.cf.
  2. В её конфигураторе выполните Конфигурация → Поддержка → Обновить конфигурацию, выберите файл обновления и укажите новый cfu.
  3. Убедитесь, что платформа предложила обновление именно до нужного номера версии.
  4. Примените обновление, затем Обновить конфигурацию базы данных.
  5. Запустите базу в режиме 1С:Предприятие и пройдите обработчики обновления, если они есть в вашей конфигурации.
Перед отправкой релиза
Выполнено: 0 / 6

Ошибки при создании и применении файла обновления

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

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

Можно ли создать cfu без cf прошлой версии?
Нет. Файл обновления хранит разницу между версиями, поэтому старая поставка обязательна. Если архив потерян, ищите cf этой версии в каталоге шаблонов, куда устанавливался комплект поставки, или у клиентов, получавших этот релиз.
Чем cfu отличается от расширения cfe?
cfu меняет саму конфигурацию и требует, чтобы она стояла на вашей поддержке. Расширение подключается поверх и не трогает основную конфигурацию, поэтому годится для доработки чужих типовых решений.
Нужен ли монопольный доступ, чтобы применить cfu?
Для обновления конфигурации на поддержке — нет, а для шага обновления конфигурации базы данных со сменой структуры — да. Поэтому применение планируют на время, когда в базе никого нет.
Можно ли отдать клиенту cfu из типовой конфигурации фирмы 1С?
Файлы обновлений типовых конфигураций распространяются по договору ИТС и самостоятельно не пересобираются. Для своих изменений поверх типовой используйте расширения.