Файл конфигурации .cf: что с ним можно сделать в Конфигураторе и из командной строки
Содержание
Открыть файл 1С CF можно только в Конфигураторе: создайте пустую информационную базу, зайдите в неё в режиме Конфигуратора и выполните Конфигурация → Загрузить конфигурацию из файла.... Если базу трогать не нужно и нужно лишь посмотреть, что внутри, подойдёт сравнение Конфигурация → Сравнить конфигурации... с выбором файла. Двойной щелчок по .cf ничего не даст: это не документ, а упакованная конфигурация.
Способов работы с файлом конфигурации четыре: загрузить в новую базу, сравнить без загрузки, объединить с текущей конфигурацией или выгрузить в XML-файлы для чтения кода. Первый выбирают, когда нужно запустить программу. Второй и третий — когда дорабатываете типовую. Четвёртый — когда нужно прочитать модули в редакторе или положить их в Git. Ниже каждый способ по шагам, плюс командная строка для администраторов.
Что лежит внутри файла .cf и чем он отличается от DT, CFU и CFE
Файл .cf — это вся конфигурация в одном двоичном контейнере: справочники, документы, регистры, формы, макеты, модули и сведения о поддержке. Данных пользователей в нём нет. Ни одной проводки, ни одного контрагента.
Поэтому из CF получается «голая» программа. Запустить её можно, но база будет пустой.
| Расширение | Что внутри | Чем открывают |
|---|---|---|
.cf | Полная конфигурация без данных | Конфигуратор: загрузка, сравнение, объединение |
.cfu | Файл обновления: разница между версиями | Конфигуратор: обновление базы, стоящей на поддержке |
.dt | Выгрузка базы целиком: конфигурация + данные | Конфигуратор: Администрирование → Загрузить информационную базу... |
.cfe | Расширение конфигурации | Конфигуратор: окно расширений, или режим «Предприятие» через раздел администрирования |
.epf / .erf | Внешняя обработка / внешний отчёт | Меню Файл → Открыть в режиме «Предприятие» |
Где обычно берут CF:
- 📦 в дистрибутиве типовой конфигурации — файл
1Cv8.cfрядом с1Cv8.cfu; - 💾 из рабочей базы через
Конфигурация → Сохранить конфигурацию в файл...; - 🧑💻 от программиста как результат доработки;
- 📁 из каталога шаблонов, куда установщик конфигурации распаковывает дистрибутив (по умолчанию
%APPDATA%\1C\1cv8\tmplts).
Перепутать .cf и .dt — частая история. Если вам прислали «базу» и вы ждёте внутри документы, просите .dt. Из .cf данные не достать никаким способом: их там нет.
Как открыть CF через Конфигуратор: загрузка в новую базу
Самый понятный путь. Рабочие базы при этом не затрагиваются.
Шаг 1. Создайте пустую базу
- Запустите 1С и в окне выбора баз нажмите
Добавить.... - Выберите «Создание новой информационной базы».
- На следующем шаге отметьте вариант создания базы без конфигурации — он предназначен как раз для разработки новой конфигурации или загрузки выгруженной ранее.
- Задайте имя, например «Проверка CF», и каталог на диске. Для файла на 300–500 МБ закладывайте в 3–4 раза больше места под базу.
- Завершите мастер.
Шаг 2. Загрузите файл
- Выделите новую базу и нажмите
Конфигуратор. - Откройте меню
Конфигурация → Загрузить конфигурацию из файла.... - Укажите файл .cf и подтвердите загрузку.
- На вопрос об обновлении конфигурации базы данных ответьте «Да». То же самое делает клавиша
F7или пунктКонфигурация → Обновить конфигурацию базы данных. - Примите изменения в окне реорганизации.
Если окно дерева метаданных не появилось, откройте его через Конфигурация → Открыть конфигурацию. Теперь видны все объекты, модули и формы.
Шаг 3. Запустите программу
Закройте Конфигуратор и запустите базу в режиме «1С:Предприятие». Типовые конфигурации при первом запуске показывают помощник начальной настройки. Это нормально: база пустая.
Никогда не загружайте чужой .cf в рабочую базу «чтобы посмотреть». Загрузка заменяет основную конфигурацию целиком. После обновления структуры данные объектов, которых нет в новом файле, будут удалены.
Альтернатива: база из шаблона
Если конфигурация установлена из дистрибутива через setup.exe, она попадает в каталог шаблонов. Тогда при добавлении базы выбирайте «Создание информационной базы из шаблона» и находите нужную конфигурацию и её версию в списке. 1С сама создаст базу и загрузит CF. Внутри каталога шаблона лежит тот же 1Cv8.cf.
Как посмотреть содержимое CF, не загружая его в базу
Иногда нужно понять, что за файл прислали: какая версия, какие объекты, что изменил программист. Загружать его ради этого не обязательно.
- Откройте любую базу в Конфигураторе. Подойдёт и ваша, и пустая.
- Выберите
Конфигурация → Сравнить конфигурации.... - Для одной стороны оставьте основную конфигурацию, для второй выберите вариант «конфигурация из файла» и укажите .cf.
- Нажмите «Выполнить».
Откроется дерево отличий. Двойной щелчок по модулю показывает текст обеих версий рядом. Из окна сравнения можно сформировать отчёт и сохранить его в текстовый файл — удобно для передачи программисту.
Свойства самой конфигурации (имя, синоним, версия, поставщик) видны в корне дерева. Это быстрый способ узнать, какой релиз лежит в файле.
Расшифровка файла CF: выгрузка в XML и тексты модулей
Сам .cf — сжатый двоичный формат. Блокнот покажет мусор. «Расшифровать» его штатно можно так: загрузить в базу (как выше), а затем выгрузить в обычные файлы.
- В Конфигураторе базы с загруженной конфигурацией выберите
Конфигурация → Выгрузить конфигурацию в файлы.... - Укажите пустой каталог.
- Выберите формат выгрузки. Иерархический удобнее читать: каждый объект в своей папке.
- Нажмите «Выполнить».
Что вы получите:
- 📄
.xml— описание каждого объекта метаданных: реквизиты, табличные части, свойства; - 🧾
.bsl— тексты модулей на встроенном языке, открываются любым редактором; - 🖼️ формы и макеты — в своих подкаталогах.
Такой каталог кладут в Git, сравнивают привычными инструментами или импортируют в 1С:EDT. Обратная операция — Конфигурация → Загрузить конфигурацию из файлов....
В конфигурациях с поставкой без исходных текстов часть модулей закрыта поставщиком. Их код не появится ни при выгрузке в XML, ни в Конфигураторе — это не сбой, а условие поставки. Вскрывать закрытые модули сторонними утилитами — нарушение лицензионного соглашения разработчика.
Есть и сторонние распаковщики контейнера 1С с открытым кодом (например, v8unpack). Они пригодятся, когда нет платформы под рукой, но штатная выгрузка надёжнее: формат совпадает с тем, что понимает сама 1С.
Командная строка: 1cv8.exe, а не 1cv8c.exe
В каталоге платформы (C:\Program Files\1cv8\<версия>\bin\) несколько исполняемых файлов. Для работы с CF нужен один.
| Файл | Что это | Откроет CF? |
|---|---|---|
1cv8.exe | Толстый клиент и Конфигуратор | Да, в режиме DESIGNER |
1cv8c.exe | Тонкий клиент, только режим «Предприятие» | Нет |
1cv8s.exe | Запуск толстого или тонкого клиента в зависимости от настроек базы | Нет |
1cestart.exe | Стартер: окно выбора баз и версии платформы | Только через окно выбора базы |
1cv8c.exe с файлами конфигурации не работает
вообще: у тонкого клиента
нет Конфигуратора. Все пакетные операции идут через 1cv8.exe DESIGNER.
Загрузить CF в файловую базу и сразу обновить структуру:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Test" /N"Администратор" /P"" /LoadCfg "D:\Distr\1Cv8.cf" /UpdateDBCfg /Out "D:\Logs\load.log" /DisableStartupDialogs
Для серверной базы вместо /F используйте /S"имя_сервера\имя_базы".
Создать новую базу сразу из CF:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\FromCF" /UseTemplate "D:\Distr\1Cv8.cf" /Out "D:\Logs\create.log"
Сохранить конфигурацию базы в CF и выгрузить её же в XML:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Work" /N"Администратор" /P"" /DumpCfg "D:\Backup\work.cf" /Out "D:\Logs\dump.log"
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Work" /N"Администратор" /P"" /DumpConfigToFiles "D:\Src\Work" /Out "D:\Logs\xml.log"
Подставьте свой номер платформы в путь. Результат всегда смотрите в файле из /Out: окно Конфигуратора при пакетном запуске не появляется, и ошибку легко пропустить.
/UpdateDBCfg меняет структуру таблиц базы. Для этого базе нужен монопольный доступ, поэтому запускайте команду вне рабочего времени. Пользователей, которые остались в базе, придётся предупредить и попросить выйти, иначе обновление не пройдёт.
Сравнение и объединение: CF против CFU
Если база уже работает и вы хотите перенести в неё доработки из файла, загрузка не подходит. Нужно объединение.
Объединение с конфигурацией из файла
- Сделайте резервную копию:
Администрирование → Выгрузить информационную базу...в Конфигураторе. - Выберите
Конфигурация → Сравнить, объединить с конфигурацией из файла.... - Укажите .cf. Откроется дерево различий с флажками.
- Отметьте только те объекты, которые хотите забрать. Для модулей можно настроить объединение по процедурам.
- Нажмите «Выполнить», затем обновите конфигурацию базы данных.
Обновление типовой: когда нужен CF, а когда CFU
Обновление идёт через Конфигурация → Поддержка → Обновить конфигурацию.... В мастере вы указываете файл обновления — подходит и .cf, и .cfu.
| Файл | Когда подходит | Ограничение |
|---|---|---|
.cfu | Обновление на следующий релиз | Только с тех версий, что перечислены в файле |
.cf | Переход через несколько релизов или из другой ветки | Сравнение идёт дольше, вопросов в окне объединения больше |
Если CFU выдаёт, что файл не подходит для обновления текущей версии, это значит: ваша версия в нём не указана. Берите полный 1Cv8.cf нужного релиза или поднимайтесь цепочкой промежуточных обновлений.
Откат конфигурации через файлы
CF — удобная точка возврата перед любым изменением конфигурации. Сохранить её занимает минуту: Конфигурация → Сохранить конфигурацию в файл....
Варианты отката от мягкого к жёсткому:
- Изменения ещё не применены к базе. Выберите
Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Основная конфигурация станет такой, какой работает база сейчас. Файлы не нужны. - Изменения применены, данные не пострадали. Загрузите ранее сохранённый CF через
Загрузить конфигурацию из файла...и обновите конфигурацию базы данных. - Обновление удалило или испортило данные. CF здесь не поможет: он не содержит данных. Восстанавливайте базу из .dt или из резервной копии СУБД.
Загрузка старого CF поверх новой конфигурации возвращает только структуру. Если в новой версии появились реквизиты и пользователи успели их заполнить, после отката эти значения пропадут. Откат делайте до начала работы пользователей или из полной копии базы.
💡 Хорошая практика перед обновлением: сохранить и CF, и DT. CF весит меньше и восстанавливается быстрее, DT спасает при порче данных.