Разработка и Конфигурация · 11 мин
Как создать файл обновления конфигурации 1С (.cfu)
Пошаговая инструкция по созданию файла обновления конфигурации 1С (.cfu) через конфигуратор: отличия от cf, настройка версий, поставка и типичные ошибки.
Файл с расширением .cfu — это файл обновления конфигурации 1С:Предприятие. В отличие от полного файла конфигурации .cf, он содержит только изменения относительно предыдущих версий и применяется через режим «Обновить конфигурацию базы данных» или механизм поддержки. Именно в формате cfu фирма «1С» и партнёры распространяют релизы типовых решений.
Создать cfu можно только в конфигураторе и только при соблюдении ряда условий: конфигурация должна иметь корректно заполненный номер версии, а у вас должен быть файл предыдущей версии (cf или cfu плюс cf предыдущего релиза), с которым выполняется сравнение. Если конфигурация самописная и никогда не выпускалась в виде файлов, проще распространять полный cf.
Ниже разобран полный цикл: подготовка конфигурации, формирование файла поставки, создание cfu для одной и нескольких предыдущих версий, проверка результата на тестовой базе и типичные ошибки, из-за которых обновление у клиента не встаёт.
Чем cfu отличается от cf и когда нужен именно он
Файл .cf — это полный образ конфигурации: он загружается в пустую базу или заменяет конфигурацию целиком через «Загрузить конфигурацию из файла». Файл .cfu — дельта, набор отличий от одной или нескольких предыдущих версий. Он применяется только к базам, где уже стоит одна из указанных при создании версий.
Практический смысл cfu — компактность и контроль. Обновление весит заметно меньше полной конфигурации, а механизм поддержки гарантирует, что пользователь обновляется с допустимой версии и не пропустит промежуточные релизы. Для типовых конфигураций, находящихся на поддержке, cfu — стандартный способ доставки релизов.
Сравнение вариантов распространения
Подходит для первой установки и самописных конфигураций без истории версий. Не контролирует, с какой версии обновляется пользователь.
Подходит для выпуска релизов конфигурации на поддержке. Требует файлов предыдущих версий и корректной нумерации.
Содержит конфигурацию вместе с данными. Используется для переноса и бэкапов, а не для распространения обновлений.
Подготовка конфигурации перед созданием обновления
Откройте конфигуратор и убедитесь, что в свойствах корня конфигурации (правый клик по корню дерева → «Свойства») поле «Версия» заполнено корректно. Номер версии должен быть больше предыдущего релиза и соответствовать принятой у вас схеме нумерации, например 1.0.3.7. Именно по этому полю платформа определяет, подходит ли cfu для конкретной базы.
Перед сборкой выполните полную проверку конфигурации: «Конфигурация → Проверка конфигурации» с включёнными режимами проверки логической целостности и поиска некорректных ссылок. Ошибки, пропущенные на этом этапе, проявятся уже у пользователя при обновлении базы данных, и откат будет существенно дороже.
Также подготовьте файлы предыдущих версий, с которых разрешено обновление. Это могут быть ранее выпущенные cf или cfu вместе с полным cf базового релиза. Храните архив всех выпущенных версий — без него собрать обновление «с нескольких релизов сразу» не получится.
Настройка поставки конфигурации
CFU создаётся через механизм поставки. Откройте «Конфигурация → Поставка конфигурации → Настройка поставки». Здесь задаются параметры, которые попадут в файл поставки: поставщик, краткое и полное наименование конфигурации, номер версии поставки, авторские права, а также состав файлов, включаемых в комплект (описание, файлы справки, демонстрационные данные).
Если конфигурация ранее не была на поддержке, при первой настройке поставки конфигуратор предложит включить поддержку — соглашайтесь, это обязательное условие. В диалоге настройки проверьте, что версия поставки совпадает с версией в свойствах конфигурации, иначе получите рассинхронизацию номеров.
В этой же настройке можно ограничить возможности изменения конфигурации пользователем: например, запретить изменение отдельных объектов. Продумайте эти ограничения заранее — они зафиксируются в поставке и повлияют на то, как клиенты смогут дорабатывать решение.
Создание файла cfu: пошаговая инструкция
Когда конфигурация проверена и поставка настроена, переходите к сборке. Основная команда: «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления конфигурации».
- 1Откройте конфигуратор и убедитесь, что версия конфигурации поднята до нового релиза
- 2Выполните «Конфигурация → Проверка конфигурации» и устраните все ошибки
- 3Откройте «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления конфигурации»
- 4Установите флажок «Создать файл обновления конфигурации» и при необходимости «Создать файл поставки»
- 5В списке версий укажите файлы предыдущих версий (.cf или .cfu), с которых разрешено обновление
- 6Укажите каталог для сохранения результата и нажмите «Готово»
- 7Дождитесь окончания сравнения и сборки, проверьте наличие cfu в указанном каталоге
В диалоге создания файлов ключевой элемент — таблица «Файлы предыдущих версий». Кнопкой «Добавить» укажите пути к cf-файлам ранее выпущенных релизов. Для каждой указанной версии платформа построит отдельный вариант обновления внутри одного cfu, поэтому пользователь сможет обновиться с любой из перечисленных версий.
Если в списке предыдущих версий указан cfu, рядом с ним должен лежать полный cf того же релиза — иначе сравнение выполнить не удастся. Поэтому при выпуске каждого релиза сохраняйте и полный cf, даже если распространяете только cfu.
Обновление с одной версии
Минимальный сценарий: клиенты гарантированно стоят на прошлом релизе. Добавьте в список один cf прошлой версии. Полученный cfu будет компактным и быстро соберётся, но пользователи с более старых релизов применить его не смогут — им придётся ставить промежуточные обновления последовательно.
Обновление с нескольких версий
Если база клиентов разнородная, добавьте в список несколько прошлых релизов — например, три последних. Размер cfu вырастет, время сборки увеличится, зато пользователи с любой из этих версий обновятся за один шаг. Не включайте в список слишком старые релизы без необходимости: каждый вариант сравнения увеличивает и размер файла, и риск ошибки сборки.
Проверка cfu перед отправкой пользователям
Собранный файл обязательно проверяется на копии реальной базы. Порядок такой: разверните копию базы с предыдущей версией конфигурации, откройте конфигуратор, выполните «Конфигурация → Поддержка → Настройка поддержки» при необходимости, затем «Конфигурация → Обновить конфигурацию базы данных» или загрузку через «Сравнить, объединить с конфигурацией из файла» с указанием cfu.
После применения обновления платформа выполнит реструктуризацию данных. Примите изменения и убедитесь, что процесс завершился без ошибок, а затем запустите базу в режиме предприятия и проверьте ключевые сценарии: открытие основных форм, проведение документов, формирование отчётов.
Как проверить результат
Обновление конфигурации базы данных завершается без ошибок, реструктуризация проходит штатно
Ошибки сравнения, сообщения о несовместимости версий, обрыв реструктуризации
В сведениях о конфигурации отображается новый номер версии
Версия не изменилась или конфигурация оказалась снятой с поддержки
Формы открываются, документы проводятся, отчёты строятся
Ошибки обращения к удалённым реквизитам, падение форм
Типичные ошибки при создании и применении cfu
Отдельная группа проблем — работа с хранилищем. Если конфигурация подключена к хранилищу, перед сборкой обновите конфигурацию БД из хранилища и захватите нужные объекты, иначе в 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 создаётся через «Поставка конфигурации → Создать файлы поставки и обновления конфигурации» при наличии файлов предыдущих версий и корректного нового номера версии. Храните архив всех релизов, всегда делайте резервную копию и проверяйте обновление на копии базы перед отправкой пользователям.