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

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

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

Как выгрузить CF-файл конфигурации 1С через конфигуратор, подготовить его к обновлению, проверить результат и избежать типичных ошибок при переносе.

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

Создать CF-файл может любой пользователь с правами администратора и доступом к конфигуратору. Процедура занимает несколько минут, но требует соблюдения порядка действий: ошибка на этапе выгрузки или путаница между CF и DT может привести к потере данных или невозможности обновления.

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

Что такое CF-файл и когда он нужен

CF (Configuration File) — это файл с расширением .cf, в который платформа 1С сохраняет конфигурацию целиком. Внутри — только метаданные и программный код: структура объектов, формы, макеты, модули, роли. Данных (документов, записей справочников, проводок) в CF-файле нет, поэтому его размер обычно существенно меньше размера самой базы.

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

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

Подготовка базы перед выгрузкой

Перед созданием CF-файла убедитесь, что у вашей учётной записи есть права администратора и не установлен запрет на запуск конфигуратора. В файловой базе достаточно монопольного доступа; в клиент-серверном варианте права проверяются на уровне кластера и самой базы.

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

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

Пошаговое создание CF-файла

Основная операция выполняется через конфигуратор и занимает от одной до нескольких минут в зависимости от размера конфигурации и скорости дисковой подсистемы.

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

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

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

cmd
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /N Админ /P пароль /DumpCfg "D:\Backup\trade.cf"

Загрузка CF-файла для обновления целевой базы

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

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

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

Способы переноса конфигурации

Полная загрузка CF

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

Сравнение и объединение с CF

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

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

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

Проверка результата после обновления

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

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

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

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

Запуск в режиме «Предприятие»
Норма

База открывается без сообщений об ошибках компиляции модулей

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

Ошибки вида «Процедура или функция не обнаружена» — конфигурация загружена не полностью или конфликтует с расширениями

Окно реструктуризации
Норма

Список изменений соответствует ожидаемым доработкам, нет удаления нужных объектов

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

Платформа предлагает удалить объекты, которые должны остаться — признак неправильного CF-файла

Версия конфигурации
Норма

В «О программе» отображается ожидаемая версия

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

Версия старая — обновление конфигурации базы данных не выполнено

Типичные ошибки и ограничения

Самая частая проблема — попытка загрузить CF, выгруженный из более новой версии платформы, в базу на старой платформе. Проверяйте совместимость версий технологической платформы на обеих базах заранее: файл, созданный на платформе 8.3.22, может не загрузиться на 8.3.18.

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

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

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

Часто задаваемые вопросы

Чем CF-файл отличается от CFU-файла?

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

Можно ли создать CF-файл без остановки работы пользователей?

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

Почему платформа выдаёт ошибку «Нарушена целостность структуры конфигурации» при загрузке CF?

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

Переносятся ли пользователи и права через CF-файл?

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

Можно ли обновить рабочую базу CF-файлом из тестовой, если версии конфигураций различаются?

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

Как автоматизировать регулярную выгрузку CF для хранения версий?

Используйте пакетный запуск конфигуратора с параметром /DumpCfg через планировщик задач. Для полноценного контроля версий лучше подключить хранилище конфигурации или выгрузку в файлы конфигурации (XML) с интеграцией с Git — это даёт историю изменений по объектам, а не только монолитные снимки.