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

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

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

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

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

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

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

Что такое файл обновления и чем он отличается от .cf

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

Ключевое отличие — в логике применения. При загрузке .cf платформа просто заменяет конфигурацию, а при обновлении через .cfu выполняется сравнение с текущей конфигурацией базы, и пользователь может контролировать объединение объектов. Именно поэтому .cfu безопаснее для баз, где велись собственные доработки.

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

Файл .cf (полная поставка)

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

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

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

Сравнение и объединение с файлом

Ручной вариант через «Сравнить, объединить с конфигурацией из файла». Гибче, но требует участия специалиста на каждой базе.

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

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

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

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

Пошаговое создание файла обновления .cfu

Сама сборка выполняется штатными средствами конфигуратора и занимает несколько минут. Ниже — стандартная последовательность действий.

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

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

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

Настройка поставки и файла описания

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

Рядом с файлом .cfu полезно класть текстовый файл с описанием изменений и порядком установки. Платформа сама формирует служебные манифесты внутри пакета, а ваше сопроводительное описание — это информация для администратора, который будет применять обновление.

Применение файла обновления на рабочей базе

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

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

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

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

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

Номер версии в сведениях о конфигурации
Норма

Соответствует версии собранного обновления

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

Остался старый номер — обновление не применилось

Обновление конфигурации базы данных
Норма

Завершилось без ошибок, реструктуризация выполнена

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

Ошибки реструктуризации или конфигурация БД не обновлена

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

Новые объекты доступны, отчёты и документы открываются без ошибок

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

Ошибки обращения к объектам, отсутствуют ожидаемые изменения

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

Типичные ошибки
01
Не включена версия получателя в список при сборке — платформа сообщит, что обновление не предназначено для текущей конфигурации, и файл придётся пересобирать.
02
Сборка из несохранённой конфигурации — в файл попадают не все изменения, и после обновления часть доработок отсутствует.
03
Применение обновления без резервной копии базы — при ошибке реструктуризации откат становится сложным и долгим.
04
Обновление рабочей базы в разгар рабочего дня — монопольный режим и реструктуризация блокируют работу пользователей.
05
Игнорирование ручного объединения доработанных объектов — автоматический режим может затереть прикладные изменения, сделанные прямо в базе клиента.

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

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

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

Если получателей немного и у каждого свои доработки, файл обновления может быть неудобен. Альтернатива — выгрузка конфигурации в файлы XML («Конфигурация → Выгрузить конфигурацию в файлы») и перенос через систему контроля версий, например через хранилище конфигурации 1С или EDT с Git. Это требует дисциплины, но даёт историю изменений и возможность точечного переноса.

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

Маршрут решения

Как выбрать способ доставки изменений

Несколько баз с одинаковой конфигурацией и известными версиямиСоберите файл обновления .cfu с включением всех актуальных версий
Базы сильно доработаны индивидуальноИспользуйте сравнение и объединение с .cf на каждой базе вручную
Ведётся командная разработка с историей измененийРассмотрите хранилище конфигурации или выгрузку в XML с Git
Нужно развернуть решение с нуляИспользуйте полный файл поставки .cf

FAQ

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

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

Чем отличаются .cf и .cfu на практике?

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

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

Это значит, что версия конфигурации базы не входит в список версий, указанных при сборке .cfu. Уточните текущую версию базы в сведениях о конфигурации и пересоберите файл обновления, добавив эту версию, либо примените обновление через сравнение и объединение с .cf.

Нужно ли делать резервную копию перед применением .cfu?

Да, обязательно. Обновление изменяет структуру базы данных, и при ошибке реструктуризации или обрыве процесса восстановление без копии может оказаться невозможным. Делайте выгрузку .dt или средствами СУБД перед каждым обновлением.

Можно ли обновить базу, которая пропустила несколько релизов?

Да, если при сборке .cfu в список версий включена именно та версия, которая стоит на базе. Один файл обновления может содержать различия сразу для нескольких исходных версий, поэтому промежуточные релизы устанавливать не обязательно.

Что произойдёт с доработками, сделанными прямо в базе клиента?

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

Итог

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

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