Как открыть и просмотреть файл конфигурации 1С (CF) без загрузки в информационную базу?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Выясним причину сложности прямого открытия таких файлов: формат .cf представляет собой составной сжатый контейнер (архив с алгоритмом Deflate), внутри которого программные модули, формы и описания объектов метаданных хранятся под внутренними уникальными идентификаторами (GUID). Простые текстовые редакторы или стандартные файловые просмотрщики без специализированных декодеров показывают нечитаемый бинарный код и GUID-идентификаторы. Рассмотрим подробнее основные варианты решения этой задачи — от встроенных механизмов платформы до сторонних утилит.

Способ 1. Использование механизма «Сравнение и объединение конфигураций»

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

  1. Откроем Конфигуратор любой существующей или временной информационной базы.
  2. В главном командном меню перейдем в раздел Конфигурация → Сравнить, объединить с конфигурацией из файла....
  3. В появившемся диалоговом окне выбора файла укажем путь к интересующему нас файлу с расширением .cf.
  4. Дождемся окончания анализа структуры конфигурации. На экране откроется стандартное окно сравнения и объединения.

В открывшемся дереве метаданных мы получаем полный доступ ко всем элементам конфигурации из внешнего файла:

  1. Развернем нужную ветку метаданных (например, Справочники, Документы, РегистрыНакопления).
  2. Двойным кликом по модулю объекта, модулю менеджера или модулю формы откроем окно встроенного редактора кода с подсветкой синтаксиса.
  3. При необходимости выполним сравнение текстов модулей с текущей конфигурацией базы или просто скопируем нужный фрагмент кода.

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

Способ 2. Выгрузка конфигурации в иерархию файлов и просмотр в VS Code / 1C:EDT

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

Для выгрузки содержимого .cf в набор файлов выгрузки (файлы модулей с расширением .bsl и описания в XML) воспользуемся пакетным режимом запуска Конфигуратора через командную строку. Посмотрим на пример команды:


"C:\Program Files\1cv8\8.3.25.1234\bin\1cv8.exe" DESIGNER /IBConnectionString "File=""C:\temp\EmptyIB"";" /DumpConfigToFiles "C:\temp\ConfigDump" /LoadConfigFromFiles "C:\temp\source.cf"

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


ibcmd infobase config dump-to-files --data-dir="C:\temp\standalone_db" --out="C:\temp\ConfigDump" "C:\temp\source.cf"

После выполнения команды каталог C:\temp\ConfigDump будет содержать полную структуру исходных кодов конфигурации. Откроем эту папку в редакторе Visual Studio Code с установленным расширением для языка 1С (BSL Language Server) или в среде разработки 1C:Enterprise Development Tools (1C:EDT). Это позволит использовать мгновенный поиск по всем файлам проекта (комбинация клавиш Ctrl + Shift + F), навигацию по методам и удобную работу с исходным кодом.

Способ 3. Использование специализированных утилит и просмотрщиков (CF-Reader, V8Unpack)

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

  1. 1C CF Reader / V8Reader — компактные автономные приложения, которые читают заголовочные блоки архива .cf, сопоставляют внутренние GUID с именами метаданных из таблицы metadata и отображают дерево конфигурации в графическом интерфейсе.
  2. V8Unpack — консольная утилита для распаковки файлов контейнеров 1С (включая .cf, .epf, .erf), позволяющая извлечь вложенные файлы и распаковать вложенные блоки Deflate для последующего анализа.
  3. Плагины для файловых менеджеров (Total Commander, FAR Manager) — плагины типа 1CV8Viewer и специализированные WCX-модули. Следует учитывать, что базовые плагины показывают только имена внутренних потоков (GUID), поэтому для полноценного чтения структуры требуются плагины с поддержкой разбора заголовков метаданных 1С.

Способ 4. Программная обработка и чтение через скрипты OneScript

Проанализируем сценарий автоматизации, когда необходимо быстро извлечь текст модуля или проверить свойства объекта из консоли. В среде OneScript для работы с внутренними контейнерами платформы применяется специализированная библиотека v8files или библиотека работы с метаданными.

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


// Пример распаковки контейнера конфигурации с помощью пакета v8files
ПодключитьВнешнююКомпоненту("v8files");

ПутьКФайлуCF = "C:\temp\source.cf";
КаталогВыгрузки = "C:\temp\unpacked_cf";

Контейнер = Новый ЧитательКонтейнера1С();
Контейнер.Открыть(ПутьКФайлуCF);
Контейнер.РаспаковатьВсе(КаталогВыгрузки);
Контейнер.Закрыть();

Сообщить("Распаковка файла конфигурации успешно завершена в каталог: " + КаталогВыгрузки);

Итоги и рекомендации

Подведем итог: выбор способа зависит от текущей задачи:

  1. Для быстрого интерактивного изучения дерева объектов и модулей оптимально использовать стандартное Сравнение и объединение конфигураций в Конфигураторе без сохранения результатов.
  2. Для глобального поиска по коду конфигурации и анализа архитектуры лучше всего выгрузить конфигурацию в файлы через /DumpConfigToFiles и открыть полученную структуру в VS Code.
  3. Для автоматических сценариев или работы без графического интерфейса платформы используем скрипты OneScript или утилиты разборки контейнеров.
← На главную