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

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

Как создать файл обновления CFU в 1С

Как создать файл обновления CFU в 1С через конфигуратор: подготовка, выбор версий, настройка поставки, проверка результата и типичные ошибки.

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

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

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

Что такое файл CFU и чем он отличается от CF

CF (Configuration File) — полный файл конфигурации. Он содержит все метаданные: справочники, документы, отчёты, роли, формы и модули. Такой файл используют для первичной установки конфигурации или для полной загрузки через «Загрузить конфигурацию из файла».

CFU (Configuration Update) — файл обновления. В нём хранятся только отличия новой версии от одной или нескольких предыдущих. Применить CFU можно только к базе, конфигурация которой совпадает с одной из версий, указанных при создании файла. Если база пользователя находится на версии, не входящей в список, обновление откажется устанавливаться.

Сравнение вариантов

CF (полная конфигурация)

Подходит для первичной установки и восстановления. Размер большой, применяется к любой базе, но затирает текущую конфигурацию при полной загрузке.

CFU (обновление)

Подходит для регулярных обновлений рабочих баз на поддерживаемых версиях. Компактный, сохраняет данные, но требует точного совпадения исходной версии.

На практике разработчики и франчайзи распространяют оба файла: CF — для новых клиентов, CFU — для тех, кто уже работает на предыдущем релизе. Это стандартная схема поставки, которую использует и сама фирма «1С» для типовых решений.

Подготовка: что нужно перед созданием CFU

Перед созданием файла обновления убедитесь, что у вас есть три вещи. Первая — актуальная конфигурация базы разработчика, в которой внесены все изменения новой версии. Вторая — CF-файлы всех предыдущих версий, с которых должно быть возможно обновление (обычно это последний выпущенный релиз, иногда несколько последних). Третья — корректно указанный номер версии в свойствах конфигурации.

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

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

Создание CFU через меню поставки конфигурации

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

В диалоге укажите каталог, куда будут сохранены файлы, и отметьте, что нужно создать: файл поставки (CF), файл обновления (CFU) или оба. Для CFU нажмите кнопку выбора версий обновления — откроется список, куда нужно добавить CF-файлы предыдущих версий. Платформа сравнит текущую конфигурацию с каждой из них и сформирует обновления.

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

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

Настройка файла поставки для регулярных обновлений

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

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

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

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

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

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

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

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

Определение файла платформой
Норма

CFU распознаётся как обновление с корректными номерами версий

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

Сообщение о несоответствии версии или отказ загружать файл

Обновление конфигурации БД
Норма

Реорганизация проходит без ошибок, принятие изменений доступно

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

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

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

Изменённые объекты открываются и функционируют

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

Ошибки при открытии форм, отсутствие ожидаемых изменений

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

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

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

Типичные ошибки
01
Не сохранён CF предыдущего релиза — невозможно собрать CFU для пользователей этой версии.
02
Не изменён номер версии в свойствах конфигурации — обновление не определяется как новое.
03
В список версий обновления включена не та конфигурация — CFU не устанавливается на реальные базы.
04
Сборка из базы с необновлённой конфигурацией БД — в файл попадают непроверенные изменения.
05
CFU не протестирован на копии базы — ошибки обнаруживаются уже у пользователей.

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

Альтернативные способы и автоматизация сборки

Для автоматизации релизного цикла создание CFU можно выполнять из командной строки с помощью пакетного режима конфигуратора (параметры запуска платформы с командами поставки) или через инструменты сборки вроде OneScript с библиотеками для работы с конфигурациями. Это удобно, когда релизы выпускаются часто и собираются на выделенном сервере.

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

Удобная практика — называть файлы по шаблону с номером версии, например MyConfig_1_2_3.cfu, и хранить рядом текстовый файл со списком версий, с которых применимо обновление. Это избавляет от вопросов при передаче файла коллегам или клиентам.
ПЗ
Практическое замечание
Итог

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

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

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

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

Нет. Файл обновления строится как разница между текущей конфигурацией и указанными предыдущими версиями. Если CF предыдущего релиза утерян, восстановить его можно из копии базы на той версии (через «Сохранить конфигурацию в файл»), либо придётся распространять полный CF.

Чем CFU отличается от файла выгрузки DT?

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

Почему платформа отказывается применять CFU к базе?

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

Можно ли включить в один CFU несколько предыдущих версий?

Да, при создании файла в список версий обновления добавляется несколько CF-файлов. Тогда пользователи разных релизов смогут обновиться одним файлом. Учтите, что размер CFU при этом растёт, а время сборки увеличивается.

Нужно ли обновлять конфигурацию базы данных перед созданием CFU?

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

Как обновить базу пользователя файлом CFU?

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