К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как создать файл обновления конфигурации 1С (.cfu)

Пошаговая инструкция по созданию файла обновления конфигурации 1С (.cfu) через конфигуратор: отличия от cf, настройка версий, поставка и типичные ошибки.

Файл с расширением .cfu — это файл обновления конфигурации 1С:Предприятие. В отличие от полного файла конфигурации .cf, он содержит только изменения относительно предыдущих версий и применяется через режим «Обновить конфигурацию базы данных» или механизм поддержки. Именно в формате cfu фирма «1С» и партнёры распространяют релизы типовых решений.

Создать cfu можно только в конфигураторе и только при соблюдении ряда условий: конфигурация должна иметь корректно заполненный номер версии, а у вас должен быть файл предыдущей версии (cf или cfu плюс cf предыдущего релиза), с которым выполняется сравнение. Если конфигурация самописная и никогда не выпускалась в виде файлов, проще распространять полный cf.

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

Чем cfu отличается от cf и когда нужен именно он

Файл .cf — это полный образ конфигурации: он загружается в пустую базу или заменяет конфигурацию целиком через «Загрузить конфигурацию из файла». Файл .cfu — дельта, набор отличий от одной или нескольких предыдущих версий. Он применяется только к базам, где уже стоит одна из указанных при создании версий.

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

Сравнение вариантов распространения

Файл .cf (полная конфигурация)

Подходит для первой установки и самописных конфигураций без истории версий. Не контролирует, с какой версии обновляется пользователь.

Файл .cfu (обновление)

Подходит для выпуска релизов конфигурации на поддержке. Требует файлов предыдущих версий и корректной нумерации.

Файл .dt (выгрузка базы)

Содержит конфигурацию вместе с данными. Используется для переноса и бэкапов, а не для распространения обновлений.

Подготовка конфигурации перед созданием обновления

Откройте конфигуратор и убедитесь, что в свойствах корня конфигурации (правый клик по корню дерева → «Свойства») поле «Версия» заполнено корректно. Номер версии должен быть больше предыдущего релиза и соответствовать принятой у вас схеме нумерации, например 1.0.3.7. Именно по этому полю платформа определяет, подходит ли cfu для конкретной базы.

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

Также подготовьте файлы предыдущих версий, с которых разрешено обновление. Это могут быть ранее выпущенные cf или cfu вместе с полным cf базового релиза. Храните архив всех выпущенных версий — без него собрать обновление «с нескольких релизов сразу» не получится.

Настройка поставки конфигурации

CFU создаётся через механизм поставки. Откройте «Конфигурация → Поставка конфигурации → Настройка поставки». Здесь задаются параметры, которые попадут в файл поставки: поставщик, краткое и полное наименование конфигурации, номер версии поставки, авторские права, а также состав файлов, включаемых в комплект (описание, файлы справки, демонстрационные данные).

Если конфигурация ранее не была на поддержке, при первой настройке поставки конфигуратор предложит включить поддержку — соглашайтесь, это обязательное условие. В диалоге настройки проверьте, что версия поставки совпадает с версией в свойствах конфигурации, иначе получите рассинхронизацию номеров.

В этой же настройке можно ограничить возможности изменения конфигурации пользователем: например, запретить изменение отдельных объектов. Продумайте эти ограничения заранее — они зафиксируются в поставке и повлияют на то, как клиенты смогут дорабатывать решение.

Создание файла cfu: пошаговая инструкция

Когда конфигурация проверена и поставка настроена, переходите к сборке. Основная команда: «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления конфигурации».

Порядок создания cfu
  1. 1
    Откройте конфигуратор и убедитесь, что версия конфигурации поднята до нового релиза
  2. 2
    Выполните «Конфигурация → Проверка конфигурации» и устраните все ошибки
  3. 3
    Откройте «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления конфигурации»
  4. 4
    Установите флажок «Создать файл обновления конфигурации» и при необходимости «Создать файл поставки»
  5. 5
    В списке версий укажите файлы предыдущих версий (.cf или .cfu), с которых разрешено обновление
  6. 6
    Укажите каталог для сохранения результата и нажмите «Готово»
  7. 7
    Дождитесь окончания сравнения и сборки, проверьте наличие cfu в указанном каталоге

В диалоге создания файлов ключевой элемент — таблица «Файлы предыдущих версий». Кнопкой «Добавить» укажите пути к cf-файлам ранее выпущенных релизов. Для каждой указанной версии платформа построит отдельный вариант обновления внутри одного cfu, поэтому пользователь сможет обновиться с любой из перечисленных версий.

Если в списке предыдущих версий указан cfu, рядом с ним должен лежать полный cf того же релиза — иначе сравнение выполнить не удастся. Поэтому при выпуске каждого релиза сохраняйте и полный cf, даже если распространяете только cfu.

Обновление с одной версии

Минимальный сценарий: клиенты гарантированно стоят на прошлом релизе. Добавьте в список один cf прошлой версии. Полученный cfu будет компактным и быстро соберётся, но пользователи с более старых релизов применить его не смогут — им придётся ставить промежуточные обновления последовательно.

Обновление с нескольких версий

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

Проверка cfu перед отправкой пользователям

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

После применения обновления платформа выполнит реструктуризацию данных. Примите изменения и убедитесь, что процесс завершился без ошибок, а затем запустите базу в режиме предприятия и проверьте ключевые сценарии: открытие основных форм, проведение документов, формирование отчётов.

Контрольные точки

Как проверить результат

Применение cfu к копии базы
Норма

Обновление конфигурации базы данных завершается без ошибок, реструктуризация проходит штатно

Тревожный признак

Ошибки сравнения, сообщения о несовместимости версий, обрыв реструктуризации

Номер версии после обновления
Норма

В сведениях о конфигурации отображается новый номер версии

Тревожный признак

Версия не изменилась или конфигурация оказалась снятой с поддержки

Работа в режиме предприятия
Норма

Формы открываются, документы проводятся, отчёты строятся

Тревожный признак

Ошибки обращения к удалённым реквизитам, падение форм

Типичные ошибки при создании и применении cfu

Типичные ошибки
01
Не поднят номер версии в свойствах конфигурации — платформа отказывается применять обновление или считает его тем же релизом
02
В списке предыдущих версий указан cfu без лежащего рядом полного cf — сборка обрывается с ошибкой сравнения
03
Обновление применяется к базе, версия которой не входит в список допустимых — пользователь получает отказ и вынужден ставить промежуточные релизы
04
cfu применяют через «Загрузить конфигурацию из файла» вместо механизма обновления — это неверный сценарий, cfu предназначен для обновления конфигурации на поддержке
05
Не сделана резервная копия перед реструктуризацией — при ошибке преобразования данных откат невозможен

Отдельная группа проблем — работа с хранилищем. Если конфигурация подключена к хранилищу, перед сборкой обновите конфигурацию БД из хранилища и захватите нужные объекты, иначе в cfu попадёт неактуальное состояние. После выпуска релиза полезно поставить в хранилище метку с номером версии — это упростит сборку следующего обновления.

Альтернативы и ограничения механизма

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

Учитывайте ограничение: cfu не предназначен для установки «с нуля». Для первичного развёртывания всегда нужен полный cf или dt с демонстрационными данными. Поэтому комплект поставки обычно включает оба файла: cf для новых клиентов и cfu для обновления существующих.

Заведите каталог архива релизов с понятной структурой: для каждой версии храните полный cf, cfu и краткое описание изменений. При выпуске следующего обновления это сэкономит время и избавит от поиска нужного файла предыдущей версии.
ПЗ
Практическое замечание

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

Можно ли создать cfu без файла предыдущей версии?

Нет. Платформа строит cfu как результат сравнения текущей конфигурации с файлом предыдущей версии. Если архив старых релизов утерян, восстановите нужную версию из хранилища конфигурации по метке или соберите её из резервной копии базы соответствующего релиза.

Чем открыть или установить cfu-файл?

CFU открывается только в конфигураторе 1С:Предприятие. Стандартный путь — «Конфигурация → Поддержка → Обновить конфигурацию» либо «Сравнить, объединить с конфигурацией из файла». Двойной клик по файлу в проводнике ничего не даст.

Почему при обновлении появляется сообщение, что файл не содержит доступных обновлений?

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

Можно ли с помощью cfu обновить конфигурацию, снятую с поддержки?

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

Что делать, если сборка cfu обрывается с ошибкой сравнения?

Чаще всего причина в повреждённом или неподходящем файле предыдущей версии либо в отсутствии полного cf рядом с указанным cfu. Проверьте, что файлы версий открываются в конфигураторе, лежат в каталоге с правами на чтение и соответствуют заявленным номерам версий.

Нужно ли включать в комплект поставки полный cf, если есть cfu?

Да, рекомендуется. CFU подходит только для обновления с перечисленных версий, а новым клиентам и для восстановления после сбоев нужен полный cf. Кроме того, именно полный cf текущего релиза понадобится вам при сборке следующего обновления.

Итог

Что важно запомнить

CFU создаётся через «Поставка конфигурации → Создать файлы поставки и обновления конфигурации» при наличии файлов предыдущих версий и корректного нового номера версии. Храните архив всех релизов, всегда делайте резервную копию и проверяйте обновление на копии базы перед отправкой пользователям.