Администрирование · 11 мин
Как сделать файл обновления 1С
Как создать файл обновления 1С (.cf и .cfu) через конфигуратор, подготовить поставку и безопасно обновить базу. Пошаговая инструкция с проверками и типичными ошибками.
Файл обновления 1С — это способ перенести изменения конфигурации из одной базы в другую без ручного повторения доработок. В зависимости от задачи используют два формата: полный файл конфигурации .cf и файл обновления .cfu, который содержит только отличия между версиями. Оба создаются в режиме «Конфигуратор» и не требуют сторонних программ.
Правильно подготовленный файл обновления позволяет обновлять типовые и доработанные конфигурации, переносить изменения из тестовой базы в рабочую и распространять собственные решения между несколькими базами. Ошибки при создании файла приводят к потере доработок, конфликтам при обновлении и невозможности загрузить конфигурацию, поэтому порядок действий важно соблюдать строго.
Ниже разобран полный цикл: подготовка базы, выгрузка .cf, создание .cfu через настройку поставки, обновление целевой базы и проверка результата. Инструкция подходит для платформы 1С:Предприятие 8.3 и большинства типовых и самописных конфигураций.
Что такое файлы .cf и .cfu и когда какой нужен
Файл .cf — это полная выгрузка конфигурации: все объекты метаданных, модули, формы, макеты и роли. Он подходит для первоначального развёртывания конфигурации, переноса решения в пустую базу или создания эталонной копии. При загрузке .cf полностью заменяет конфигурацию базы, поэтому все доработки, сделанные непосредственно в целевой базе, будут потеряны.
Файл .cfu — файл обновления, который содержит только разницу между версиями конфигурации. Он применяется через «Конфигурация → Поддержка → Обновить конфигурацию» и работает корректно только если версия конфигурации в базе совпадает с той, для которой построен файл обновления. Именно .cfu используют для регулярных обновлений, потому что он сохраняет механизм поддержки и позволяет контролировать изменения объектов.
Сравнение вариантов
Подходит для развёртывания с нуля и переноса всей конфигурации. Ограничение: полностью заменяет конфигурацию базы, доработки целевой базы теряются.
Подходит для обновления базы на новую версию с сохранением поддержки. Ограничение: работает только при совпадении исходной версии.
Подходит для точечного переноса отдельных объектов и слияния доработок. Ограничение: требует ручного контроля каждого объекта.
Подготовка перед созданием файла обновления
Перед выгрузкой убедитесь, что конфигурация находится в целостном состоянии. Откройте конфигуратор, выполните «Конфигурация → Проверка конфигурации» и устраните критические ошибки — неразрешённые ссылки, синтаксические ошибки модулей, дубли объектов. Обновление, собранное из конфигурации с ошибками, с высокой вероятностью не загрузится или приведёт к сбоям в работе пользователей.
Второй обязательный шаг — резервная копия как исходной, так и целевой базы. Для файловых баз достаточно скопировать каталог с файлом 1Cv8.1CD при отсутствии активных сеансов, для клиент-серверных — сделать выгрузку .dt через конфигуратор или средствами СУБД. Без копии откат после неудачного обновления будет невозможен.
Также проверьте номер версии конфигурации в свойствах корневого узла дерева конфигурации. Если планируется создавать .cfu, версия должна быть корректно увеличена относительно предыдущей поставки — иначе файл обновления либо не построится, либо будет конфликтовать при загрузке.
Как выгрузить файл конфигурации .cf
Выгрузка полного файла конфигурации — самая простая операция. Откройте базу в конфигураторе, убедитесь, что конфигурация открыта («Конфигурация → Открыть конфигурацию»), и дождитесь построения дерева метаданных. Если конфигурация находится на поддержке с запретом изменений, выгрузка всё равно доступна — снятие с поддержки для этого не требуется.
Далее выполните последовательность действий:
- 1Откройте конфигуратор и команду «Конфигурация → Открыть конфигурацию».
- 2Выполните «Конфигурация → Сохранить конфигурацию в файл».
- 3Укажите каталог и имя файла, например MyConfig_1_2_3.cf.
- 4Дождитесь завершения выгрузки и проверьте, что файл появился и имеет ненулевой размер.
- 5Скопируйте файл в надёжное хранилище вместе с указанием версии и даты.
Рекомендуется включать номер версии в имя файла и хранить историю выгрузок. Это позволит при необходимости построить .cfu между любыми двумя версиями и быстро откатиться на предыдущее состояние конфигурации.
Как создать файл обновления .cfu через поставку конфигурации
Файл обновления строится на основе настройки поставки. Для этого конфигурация должна быть на поддержке у самой себя как у поставщика: выполните «Конфигурация → Поддержка → Настройка поддержки», включите возможность изменений и укажите себя поставщиком, если это ещё не сделано. Для типовых конфигураций от поставщика 1С этот шаг не нужен — поставка уже настроена.
Далее откройте «Конфигурация → Поставка конфигурации → Настройка поставки» и проверьте параметры: имя поставщика, имя конфигурации, список версий обновления. Затем выполните «Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления конфигурации». В диалоге укажите каталог, отметьте, что нужно создать файл обновления, и выберите предыдущие версии, с которых будет возможен переход на текущую.
По завершении в указанном каталоге появятся два файла: 1cv8.cf (полная поставка) и 1cv8.cfu (обновление). Первый используется для новых установок, второй — для обновления существующих баз. Оба рекомендуется хранить вместе с файлом описания поставки.
Как применить файл обновления к базе
Обновление через .cfu выполняется в конфигураторе целевой базы. Перед началом завершите все сеансы пользователей — для файловых баз это обязательное условие, для клиент-серверных сеансы можно заблокировать через консоль кластера. Откройте «Конфигурация → Поддержка → Обновить конфигурацию», выберите «Поиск доступных обновлений» или «Выбор файла обновления» и укажите путь к файлу .cfu.
Платформа покажет список изменённых объектов. Внимательно просмотрите его: для типовых конфигураций с доработками именно здесь видно, какие объекты будут замещены, а какие объединены. После подтверждения выполните «Конфигурация → Обновить конфигурацию базы данных» — на этом этапе происходит реструктуризация таблиц, которая при больших объёмах данных может занять продолжительное время.
Как проверить результат
В сведениях о конфигурации отображается новая версия
Версия не изменилась — обновление не применилось
База открывается, типовые операции выполняются без ошибок
Ошибки при старте, не открываются формы, ругаются модули
Собственные объекты и изменённые формы работают как раньше
Доработки исчезли или перезаписаны типовыми объектами
Нет массовых ошибок после обновления
Серии ошибок обновления данных или обращений к объектам
Обновление через сравнение и объединение
Когда .cfu не подходит — например, версия базы не совпадает с версией поставки или нужно перенести только часть изменений — используют «Конфигурация → Сравнить, объединить с конфигурацией из файла». В диалоге сравнения платформа показывает дерево различий, и вы вручную отмечаете, какие объекты переносить, а какие оставить без изменений.
Этот способ требует внимательности: для каждого изменённого объекта нужно понимать, что произойдёт при объединении. Особую осторожность проявляйте с объектами, изменёнными в обеих конфигурациях, — модулями документов, формами, ролями. Автоматическое объединение модулей часто даёт нерабочий код, поэтому текстовые изменения надёжнее переносить вручную с последующей проверкой синтаксиса.
Перед объединением выгрузите из целевой базы полный .cf — он послужит снимком состояния. Если объединение прошло неудачно, конфигурацию можно восстановить загрузкой этого файла без восстановления всей базы из архива, что заметно быстрее.
Типичные ошибки и ограничения
Чаще всего проблемы возникают не при создании файла, а при его применении. Несовпадение версий — главная причина отказа: .cfu, построенный для перехода с версии 1.2 на 1.3, не применится к базе версии 1.1. Вторая частая причина — обновление «вживую» без тестирования, когда ошибка обнаруживается уже в рабочей базе.
Учитывайте и ограничения форматов: ни .cf, ни .cfu не переносят данные — только метаданные и структуру. Данные, пользователи, настройки и расширения конфигурации в эти файлы не входят. Расширения переносятся отдельно через механизм расширений, данные — через выгрузку .dt или обработки переноса.
Что важно запомнить
Полную конфигурацию выгружайте в .cf, обновление между версиями собирайте в .cfu через поставку конфигурации. Перед применением обязательны резервная копия, завершение сеансов и проверка на тестовой базе. После обновления контролируйте версию, работоспособность доработок и журнал регистрации.
Частые вопросы
Чем отличается файл .cf от .cfu?
Файл .cf содержит конфигурацию целиком и при загрузке полностью заменяет текущую. Файл .cfu содержит только отличия между версиями и применяется через механизм обновления с сохранением поддержки. Для развёртывания с нуля нужен .cf, для обновления работающей базы — .cfu.
Можно ли создать файл обновления для типовой конфигурации 1С?
Самостоятельно собрать .cfu для типовой конфигурации обычно не требуется — поставщик публикует готовые файлы обновления. Если типовая конфигурация доработана, обновление выполняют через стандартный .cfu от поставщика с последующим контролем объединения изменённых объектов, либо через сравнение и объединение вручную.
Что делать, если при обновлении появляется сообщение о несовпадении версии?
Проверьте текущую версию конфигурации базы в настройке поддержки и сравните её с версиями, для которых построен файл обновления. Если версии не совпадают, нужен либо .cfu, включающий вашу версию, либо последовательное применение промежуточных обновлений, либо сравнение и объединение с файлом .cf.
Переносятся ли данные вместе с файлом обновления?
Нет. Файлы .cf и .cfu содержат только метаданные: структуру объектов, модули, формы, макеты и роли. Для переноса данных используют выгрузку информационной базы в файл .dt или специализированные обработки обмена.
Обязательно ли тестировать обновление на копии базы?
Для рабочих баз — практически обязательно. Тестовый прогон на копии выявляет ошибки реструктуризации, потерю доработок и проблемы в изменённых модулях до того, как они затронут пользователей. Время на создание копии несопоставимо меньше времени на восстановление после неудачного обновления.