Что хранится в файле .cf и чего в нём нет: структура конфигурации 1С 8.3

· 9 мин

Содержание

Файл конфигурации 1С — это файл с расширением .cf, в котором лежит описание прикладного решения: дерево метаданных (справочники, документы, регистры), программные модули, формы, макеты печатных форм, роли и свойства конфигурации. Данных учёта в нём нет: ни документов, ни остатков, ни списка пользователей. Его получают в Конфигураторе командой Конфигурация → Сохранить конфигурацию в файл, а открывают обратной командой Конфигурация → Загрузить конфигурацию из файла.

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

Файл конфигурации 1С и соседние форматы: что есть что

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

ФайлЧто внутриГде берут
.cfПолная конфигурация: метаданные, код, формы, ролиКонфигуратор, сохранение в файл; поставка от фирмы-разработчика
.cfuОбновление: отличия новой версии от одной или нескольких предыдущихДистрибутив обновления типовой конфигурации
.cfeРасширение конфигурации (доработки поверх типовой)Конфигуратор, меню расширений
.dtВыгрузка всей базы: конфигурация + данные + пользователиАдминистрирование → Выгрузить информационную базу
1Cv8.1CDФайловая информационная база целикомКаталог файловой базы
.epf, .erfВнешняя обработка и внешний отчётСохраняются из Конфигуратора отдельно

Отсюда главный практический вывод. Для резервной копии .cf не годится: из него не восстановить ни одного документа. Копию базы делают через .dt или копированием каталога файловой базы, а для SQL-варианта — средствами СУБД.

Файл .cf обычно весит десятки или сотни мегабайт, хотя внутри только описание структуры. Типовая Бухгалтерия предприятия 3.0 содержит тысячи объектов и сотни тысяч строк кода, поэтому размер вас не должен пугать.

Как устроен .cf физически

Файл .cf — это контейнер собственного формата 1С. Внутри — набор сжатых блоков, каждый из которых отвечает за объект метаданных, модуль, форму или макет. Блокнотом его не прочитать: вы увидите двоичный мусор.

Есть сторонняя открытая утилита v8unpack, которая распаковывает контейнер в набор файлов. Она полезна для исследования, но не поддерживается фирмой 1С. Для повседневной работы удобнее штатная выгрузка в XML, о ней ниже.

Где конфигурация живёт внутри базы

В информационной базе хранится не одна, а до трёх конфигураций:

  • 🧩 основная конфигурация — та, которую вы редактируете в Конфигураторе;
  • 🗄️ конфигурация базы данных — та, по которой реально работают пользователи;
  • 📦 конфигурация поставщика — если решение стоит на поддержке, это эталон от разработчика для сравнения при обновлении.

Пока вы не выполнили Конфигурация → Обновить конфигурацию базы данных (клавиша F7), правки в основной конфигурации пользователи не видят. В SQL-базах эти конфигурации лежат в служебных таблицах Config и ConfigSave. Лезть туда напрямую нельзя: так база ломается быстрее всего.

Метаданные и константы: из чего состоит дерево конфигурации

Откройте Конфигуратор и выполните Конфигурация → Открыть конфигурацию. Слева появится дерево — это и есть содержимое файла .cf в читаемом виде.

Ветка «Общие»

Здесь лежат объекты, которые не относятся к конкретному справочнику или документу:

  • 📁 подсистемы — разделы интерфейса («Банк и касса», «Зарплата и кадры»);
  • 🧠 общие модули — код, который вызывают из разных мест;
  • 🔑 роли — наборы прав;
  • 🔄 планы обмена — описание того, какие объекты участвуют в обмене;
  • ⏰ регламентные задания и подписки на события;
  • ⚙️ функциональные опции — переключатели, которые включают или прячут части программы;
  • 🌐 HTTP-сервисы, web-сервисы, XDTO-пакеты — для интеграций;
  • 🖼️ общие формы, общие макеты, общие картинки, стили, языки.

Прикладные объекты

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

У каждого объекта в .cf записаны:

  1. Реквизиты и табличные части с типами данных.
  2. Модуль объекта и модуль менеджера.
  3. Формы с элементами и модулями форм.
  4. Макеты, в том числе печатные формы.
  5. Команды и права, которые на него выдают роли.

Константы: описание есть, значения нет

Константа в конфигурации — это только объявление: имя, тип, синоним. Значение, например «Основная организация» или «Использовать несколько складов», хранится в базе. Поэтому, загрузив .cf в новую пустую базу, вы получите все константы незаполненными.

То же касается планов счетов. Предопределённые счета (60, 62, 68.02) описаны в конфигурации, а добавленные пользователем субсчета — уже данные базы.

Пользователи и права доступа: что в файле, а что в базе

Это самый частый источник недоразумений. Права в 1С складываются из двух частей, и лежат они в разных местах.

ЧтоГде хранитсяПопадает в .cf
Роли и права на объектыКонфигурацияДа
Ограничения доступа на уровне записей (RLS) в роляхКонфигурацияДа
Список пользователей, их пароли, назначенные ролиИнформационная базаНет
Справочник «Пользователи», группы доступа, профили (в конфигурациях на БСП)Информационная базаНет
Персональные настройки форм и отчётовИнформационная базаНет

Список пользователей информационной базы смотрят в Конфигураторе: Администрирование → Пользователи. В файловой базе он физически записан в служебную таблицу V8Users внутри 1Cv8.1CD.

В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) права раздают в пользовательском режиме: Администрирование → Настройки пользователей и прав. Там работают профили групп доступа, которые внутри ссылаются на роли из конфигурации.

Если перенести в новую базу только .cf, пользователей там не будет. Нужен перенос через .dt или повторное создание пользователей.

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

Свойства конфигурации и технические параметры платформы

Кликните правой кнопкой по корню дерева и выберите «Свойства». Откроется палитра с параметрами, которые тоже сохраняются в .cf:

  • 🏷️ Имя, синоним, версия, поставщик — по версии программа понимает, какое обновление подходит;
  • 🧭 Режим совместимости — под поведение какой версии платформы работает конфигурация;
  • 🔒 Режим управления блокировкой данных — автоматический, управляемый или смешанный;
  • 🪟 Режим использования модальности и синхронных вызовов;
  • 👤 Основные роли — что получает пользователь, если список пользователей пуст;
  • 🌍 Основной язык и основной режим запуска.

Файлы настроек самой платформы

Часть «технических параметров» вообще не относится к .cf. Это обычные текстовые файлы на компьютере или сервере:

ФайлГде лежитЗа что отвечает
ibases.v8i%APPDATA%\1C\1CEStart\Список баз в окне запуска
1cestart.cfg%APPDATA%\1C\1CEStart\Настройки стартера, общие списки баз
conf.cfgкаталог conf в папке установленной версииПараметры платформы, например язык интерфейса, отключение защиты от опасных действий
logcfg.xmlкаталог confНастройка технологического журнала
nethasp.iniкаталог confПоиск сетевого ключа HASP

Эти файлы правят Блокнотом при закрытой программе. Их путают с «файлом конфигурации» из-за названия, но на состав прикладного решения они не влияют.

Как посмотреть и изменить содержимое файла конфигурации

Править .cf можно только через информационную базу. Отдельного редактора для файла нет.

Способ 1. Через Конфигуратор

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

Не загружайте чужой .cf в рабочую базу без копии. Загрузка полностью заменяет конфигурацию. Если в новом файле нет какого-то объекта, при обновлении структуры его данные будут удалены.

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

Способ 2. Выгрузка в XML-файлы

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

Configuration.xml
Catalogs\Контрагенты.xml
Catalogs\Контрагенты\Ext\ObjectModule.bsl
Catalogs\Контрагенты\Ext\ManagerModule.bsl
Catalogs\Контрагенты\Forms\ФормаЭлемента\Ext\Form.xml
Catalogs\Контрагенты\Forms\ФормаЭлемента\Ext\Form\Module.bsl
CommonModules\ОбщегоНазначения\Ext\Module.bsl
Roles\ПолныеПрава\Ext\Rights.xml

Код модулей лежит в .bsl как обычный текст. Права ролей — в Rights.xml. Обратная загрузка — Конфигурация → Загрузить конфигурацию из файлов.

Способ 3. Из командной строки

Для регулярных выгрузок, например ночной копии конфигурации, Конфигуратор запускают в пакетном режиме:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpCfg "D:\Backup\buh.cf" /Out "D:\Backup\dump.log"

Для загрузки служит /LoadCfg, для обновления структуры базы — /UpdateDBCfg, для выгрузки в XML — /DumpConfigToFiles. Номер платформы в пути подставьте свой. Пароль в bat-файле храните только на защищённом сервере.

Что вам нужно сделать с конфигурацией?

Обновление и обмен данными: какую роль играют .cf и .cfu

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

Разница между форматами здесь принципиальная:

  • 📦 .cfu подходит только к конкретным предыдущим версиям. Если ваша версия в их число не входит, появится сообщение «Файл не содержит доступных обновлений этой конфигурации». Тогда ставят промежуточные релизы по цепочке.
  • 📄 .cf — полный дистрибутив. Им можно обновиться с любой версии, но объединение займёт больше времени.

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

Обмен данными

План обмена в .cf описывает только правила: какие объекты регистрируются для передачи. Узлы обмена, адреса, расписание синхронизации и очередь изменений — это данные базы. После загрузки .cf в новую базу синхронизацию придётся настраивать заново.

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

Частые ошибки при работе с файлом конфигурации

  • ❌ Хранить .cf как резервную копию. После сбоя окажется, что структура есть, а данных нет. Копия базы — только .dt или копия каталога и СУБД.
  • ❌ Загружать .cf вместо объединения. Все доработки, которых нет в файле, исчезнут. Для переноса правок используйте сравнение и объединение.
  • ❌ Забыть обновить конфигурацию базы данных. Изменения сохранены, а пользователи их не видят. Появляется сообщение «Конфигурация базы данных не соответствует сохраненной конфигурации» — нажмите F7 в Конфигураторе.
  • ❌ Снимать конфигурацию с поддержки ради мелкой правки. Следующее обновление превратится в ручное сравнение тысяч объектов. Мелкие доработки удобнее делать расширением .cfe.
  • ❌ Править конфигурацию прямо в рабочей базе в рабочее время. Сохранение мелких изменений проходит без остановки работы, но обновление структуры с изменением реквизитов потребует, чтобы все пользователи вышли из программы. Планируйте его на вечер.

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

Можно ли открыть файл .cf без установленной 1С?
Нет, штатно только через Конфигуратор платформы 1С:Предприятие. Сторонняя утилита v8unpack распаковывает контейнер, но это не официальный инструмент.
Чем файл конфигурации отличается от выгрузки .dt?
В .cf только структура и код. В .dt — конфигурация плюс все данные и пользователи базы.
Есть ли в файле конфигурации данные о лицензиях?
Нет. Лицензии платформы и программные ключи хранятся на компьютере или сервере, а не в конфигурации.
Можно ли загрузить .cf, сохранённый в более новой платформе?
Если конфигурация использует возможности новой версии платформы, старая её не откроет. Обновите платформу до номера не ниже того, в котором файл создан.
Откуда взять .cf типовой конфигурации?
Из дистрибутива на сайте обновлений по подписке ИТС или из любой базы с этой конфигурацией: откройте её в Конфигураторе и сохраните конфигурацию в файл.