Файл конфигурации .cf: что с ним делать в Конфигураторе 1С 8.3
Содержание
Файл CF в 1С открывают только Конфигуратором: Файл → Открыть — для просмотра без изменения базы, Конфигурация → Загрузить конфигурацию из файла — чтобы заменить им конфигурацию базы. Выгружают CF командой Конфигурация → Сохранить конфигурацию в файл, а файл обновления CFU делают из CF через Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления.
Какой способ выбрать, зависит от задачи. Посмотреть, что внутри чужой доработки, — открыть файл. Перенести конфигурацию в пустую базу — загрузить. Обновить типовую базу — пропустить CF или CFU через механизм поддержки. Всё это общее для платформы 8.3 и одинаково работает в БП 3.0, ЗУП 3.1, УТ 11 и любой другой конфигурации.
Чем CF отличается от CFU, DT и CFE
Файл .cf — это полная конфигурация в одном файле: метаданные, модули, формы, макеты, роли. Данных базы (документов, справочников, остатков) в нём нет. Поэтому CF весит десятки мегабайт, а не гигабайты.
Рядом с ним встречаются ещё три формата. Их путают чаще всего:
| Расширение | Что внутри | Где получают | Для чего |
|---|---|---|---|
.cf | Полная конфигурация без данных | Сохранение конфигурации в файл, шаблоны поставщика | Перенос, обновление, сравнение, архив доработок |
.cfu | Только разница между версиями | Поставщик конфигурации или своя «Поставка конфигурации» | Обновление с конкретных предыдущих версий |
.dt | Конфигурация плюс все данные базы | Администрирование → Выгрузить информационную базу | Резервная копия, перенос базы целиком |
.cfe | Расширение конфигурации | Сохранение расширения в файл | Доработка без снятия типовой с поддержки |
Главное отличие CF от CFU — самодостаточность. CF можно загрузить в любую пустую базу и получить рабочую конфигурацию. CFU без базы предыдущей версии бесполезен: он «знает» только то, что изменилось по сравнению с перечисленными в нём старыми версиями.
Если нужно отдать коллеге базу «как есть», с документами, — это .dt, а не .cf. Загрузка CF в пустую базу даст правильную структуру, но пустые справочники.
Как открыть файл CF в Конфигураторе
Двойной щелчок по CF в Проводнике ничего полезного не делает: файл не связан с программой, а внутри — двоичный контейнер. Рабочих вариантов два.
Просмотр без изменения базы
Подходит, когда нужно посмотреть код доработки, найти модуль или сравнить объект вручную.
- Запустите 1С в режиме Конфигуратор для любой базы, хоть пустой учебной.
- Выберите
Файл → Открытьи укажите файл.cf. - Откроется отдельное окно с деревом метаданных из файла. Конфигурация базы при этом не меняется.
В таком окне можно читать модули, открывать формы и макеты, искать по тексту. Сохранить изменения можно только обратно в файл.
Загрузка в информационную базу
Нужна, когда конфигурацию из файла надо запустить в режиме 1С:Предприятие: проверить доработку, развернуть новую базу, восстановить конфигурацию из архива.
- Создайте новую пустую базу в окне запуска:
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Откройте её в Конфигураторе.
- Выполните
Конфигурация → Открыть конфигурацию, затемКонфигурация → Загрузить конфигурацию из файла. - Подтвердите замену конфигурации и согласитесь на обновление конфигурации
базы данных (то же самое — клавиша
F7). - Запустите базу в режиме 1С:Предприятие. Типовая конфигурация при первом запуске выполнит начальное заполнение.
Загрузка CF полностью заменяет конфигурацию базы. Все доработки, которых нет в файле, исчезнут, а данные объектов, удалённых из структуры, будут потеряны при обновлении базы данных. В рабочей базе перед загрузкой сделайте выгрузку .dt.
Из командной строки
Для пакетной работы и регламентных заданий есть параметры пакетного режима Конфигуратора. Пример загрузки CF в файловую базу и обновления её структуры:
"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" DESIGNER /F "D:\Bases\Test" /N "Администратор" /P "" /LoadCfg "D:\cf\1Cv8.cf" /UpdateDBCfg /Out "D:\cf\load.log"
Номер платформы в пути подставьте свой. Лог /Out пригодится, если что-то пошло не так: пакетный режим не показывает окон с ошибками.
Выгрузка конфигурации в файл CF
Сохранить конфигурацию в CF стоит перед любой серьёзной правкой: обновлением, загрузкой чужой доработки, сравнением и объединением. Это минута работы и полный откат конфигурации, если что-то сломается.
- Откройте базу в Конфигураторе.
- Выполните
Конфигурация → Сохранить конфигурацию в файл. - Укажите папку и имя. Удобно включать в имя версию и дату:
BP_3.0.xxx_до_обновления.cf.
В Конфигураторе у базы две конфигурации, и сохранить можно каждую:
- 🛠️ основная конфигурация (та, что редактирует разработчик) — команда выше;
- 🗄️ конфигурация базы данных (та, с которой реально работают пользователи) —
Конфигурация → Конфигурация базы данных → Сохранить конфигурацию БД в файл.
Если разработчик внёс правки и не обновил базу, эти две конфигурации различаются. Для архива «как сейчас работает» берите конфигурацию базы данных.
Аналог из командной строки — параметр /DumpCfg:
"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "" /DumpCfg "D:\cf\Buh.cf" /Out "D:\cf\dump.log"
Выгрузка CF не заменяет резервную копию. Если в базе есть данные, сохраняйте и .dt: CF восстановит программу, но не документы.
Для системы контроля версий есть ещё один формат: Конфигурация → Выгрузить конфигурацию в файлы сохраняет конфигурацию набором XML-файлов и текстов модулей. Такую выгрузку удобно хранить в Git и сравнивать построчно, а обратно её загружают командой Загрузить конфигурацию из файлов.
Конвертация CF в CFU и обратно
Прямого конвертера между форматами нет, и это не случайность. CFU описывает разницу относительно конкретных версий. Значит, чтобы получить CFU, нужны минимум два CF: текущий и тот, с которого будут обновляться.
Как сделать CFU из CF
Сценарий типичен для франчайзи и внутренних разработчиков, которые распространяют свою конфигурацию по нескольким базам.
- Откройте в Конфигураторе базу с новой версией конфигурации. В свойствах конфигурации должна быть заполнена версия, например
1.2.0.0. - Выполните
Конфигурация → Поставка конфигурации → Создать файлы поставки и обновления. - Отметьте создание файла поставки (это и есть
.cf) и файла обновления (.cfu), укажите пути. - В списке версий, с которых возможно обновление, добавьте CF прошлых версий:
1.0.0.0,1.1.0.0и так далее. - Нажмите
Выполнить.
Получится CFU, который обновит базу только с тех версий, что вы перечислили. Базу версии 1.0.5.0, не попавшей в список, этим файлом обновить не получится.
Чем больше старых версий добавлено в список, тем больше получится CFU. Если файл разросся почти до размера CF, проще раздавать полный CF.
Как получить CF из CFU
Из одного CFU полный CF не собрать: в нём нет неизменившихся объектов. Порядок такой:
- Возьмите базу (или пустую базу с загруженным CF) той версии, с которой CFU умеет обновлять.
- Обновите её через
Конфигурация → Поддержка → Обновить конфигурацию, указав CFU. - После обновления сохраните результат:
Конфигурация → Сохранить конфигурацию в файл.
Для типовых конфигураций проще: дистрибутив обновления поставщика при установке кладёт в каталог шаблонов оба файла — 1Cv8.cf и 1Cv8.cfu. По умолчанию это %APPDATA%\1C\1cv8\tmplts\1c\ и подпапка с именем конфигурации и номером версии. Нужен полный CF — берите его оттуда.
Обновление типовой конфигурации из файла CF или CFU
Типовую базу на поддержке обновляют не загрузкой, а через механизм поддержки. Так сохраняются настройки поддержки и доработки, если они есть.
- Сохраните
.dtи CF текущей конфигурации. - Откройте Конфигуратор:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Поддержка → Обновить конфигурацию. - Укажите
Выбор файла обновленияи задайте путь к.cfuили.cf. - На экране сравнения проверьте объекты с двойным изменением (изменены и у вас, и у поставщика). Для каждого решите, что взять.
- Нажмите
Выполнить, затемF7— обновление конфигурации базы данных. - Запустите 1С:Предприятие и дождитесь окончания обработки обновления данных.
Когда что указывать:
| Ситуация | Какой файл |
|---|---|
| Обновление на следующий релиз по цепочке | .cfu из дистрибутива |
| Текущего релиза нет в списке версий CFU | .cf нужного релиза или промежуточные CFU по порядку |
| Конфигурация снята с поддержки | Сначала сравнение и объединение с .cf поставщика |
| База без доработок, нужен «чистый» релиз | Можно загрузить .cf, если база не на поддержке и потеря доработок не важна |
Обновление структуры базы (F7) требует монопольного доступа. Перед ним попросите пользователей выйти и сохранить работу: открытые сеансы помешают обновлению, а принудительное завершение оборвёт несохранённые документы. Делайте это вне рабочего времени.
Для серверной базы с большим объёмом данных обновление структуры может идти долго. Пробный прогон на копии базы покажет реальное время.
Сравнение двух файлов конфигурации CF
Сравнение нужно, чтобы понять, что изменил подрядчик, чем отличается выгрузка «до» от выгрузки «после» или почему две базы ведут себя по-разному.
- Откройте любую базу в Конфигураторе.
- Выполните
Конфигурация → Сравнить конфигурации. - В левом и правом списках выберите источники. Кроме основной конфигурации и конфигурации базы данных, там есть вариант «Конфигурация из файла» — для него укажите путь к CF.
- Нажмите
ОК. Откроется дерево объектов с отметками отличий. - Чтобы увидеть разницу в модуле, вызовите на объекте сравнение текстов из контекстного меню.
Для документирования изменений есть отчёт о сравнении: его формируют из окна сравнения и сохраняют в файл. Удобно приложить к задаче или акту работ.
Если нужно не только посмотреть, но и перенести изменения в свою конфигурацию, используйте Конфигурация → Сравнить, объединить с конфигурацией из файла. Галочками отмечаются объекты, которые возьмутся из файла. Неотмеченные останутся как есть.
Сравнение двух выгрузок в XML-файлы через Git или любую программу сравнения текстов часто быстрее штатного окна, когда отличий сотни.
Частые ошибки при работе с файлами CF
Ещё две ситуации, которые не всегда видны как ошибка:
- 🔒 Конфигурация поставляется без возможности изменения. Модули в таком CF можно смотреть, а правка закрыта политикой поставщика. Доработки в этом случае делают расширением
.cfe. - 🔑 Часть модулей закрыта паролем или поставлена без исходных текстов. Это решение разработчика, обходить его не нужно и незаконно. Вопросы по доработке — к автору конфигурации.
Частые вопросы
Можно ли открыть файл CF без установленной 1С?
Сколько весит CF и почему он намного меньше базы?
Можно ли загрузить CF от БП в базу ЗУП?
Чем «Сохранить конфигурацию в файл» отличается от «Выгрузить информационную базу»?
Подходит ли CF из каталога шаблонов для обновления?
1Cv8.cf и 1Cv8.cfu в каталоге шаблонов — те же, что в дистрибутиве релиза. Их указывают в окне выбора файла обновления.