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

Администрирование · 12 мин

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

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

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

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

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

Чем файл .cf отличается от файла .cfu

Файл .cf — это полный снимок конфигурации. Его можно загрузить в пустую базу и получить рабочую систему с нуля. Именно такой файл выгружается командой «Конфигурация → Сохранить конфигурацию в файл» и используется для первичной установки или полной замены конфигурации.

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

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

Файл .cf

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

Файл .cfu

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

Автообновление через интернет

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

Для типовых конфигураций поставщик (фирма «1С») распространяет комплект, где есть и полный файл, и файлы обновления с нескольких предыдущих релизов. Тот же подход рекомендуется и для собственных конфигураций: клиенты могут отставать по версиям, и обновление должно «подхватывать» их с разных точек.

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

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

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

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

Создание и настройка файла поставки

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

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

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

Формирование файла обновления .cfu пошагово

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

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

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

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

Проверка результата перед отправкой клиенту

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

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

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

Файл .cfu создан в указанном каталоге
Норма

Файл существует, размер заметно меньше полного .cf

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

Файла нет или его размер равен полному .cf — обновление не сформировалось

Тестовое обновление на копии базы
Норма

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

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

Ошибка «версия не поддерживается» или конфликты при реструктуризации

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

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

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

Версия не изменилась — обновление не применилось

Работа ключевых функций
Норма

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

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

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

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

Типичные ошибки и как их избежать

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

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

Ещё одна ошибка — попытка применить .cfu через «Загрузить конфигурацию из файла». Эта команда предназначена для полных файлов .cf; файл обновления загружается только через «Конфигурация → Поддержка → Обновить конфигурацию». Неправильный выбор команды приводит к ошибке формата, которую часто ошибочно принимают за повреждение файла.

Альтернативы: когда файл обновления не нужен

Если база единственная и вы сами её администрируете, проще обновлять конфигурацию напрямую в Конфигураторе без создания дистрибутива: загрузка полного .cf или сравнение и объединение с файлом новой версии. Файл обновления оправдан, когда баз много, они территориально распределены или обновление выполняют сами клиенты.

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

Как выбрать способ распространения

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

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

FAQ

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

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

Чем открыть или применить файл .cfu на стороне клиента?

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

Почему при обновлении возникает ошибка несоответствия версий?

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

Нужно ли монопольный доступ к базе для создания файла обновления?

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

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

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

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

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

Итог

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

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