Как достать cf файл из базы 1С, созданной из dt, и почему в новой базе могут появиться данные

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

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

Различие между файлами .dt и .cf

Для начала проанализируем, чем принципиально отличаются эти два формата, чтобы понимать механику процесса:

  1. Файл выгрузки (.dt): Это полный слепок информационной базы. Он включает в себя и структуру метаданных (конфигурацию), и все накопленные данные (записи в таблицах документов, справочников, регистров), и служебную информацию. При загрузке .dt в новую базу мы получаем полную копию оригинала.
  2. Файл конфигурации (.cf): Это только «скелет» системы. Он содержит описание объектов: справочников, документов, модулей кода, форм и макетов. В нем физически отсутствуют строки из таблиц базы данных.

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

Пошаговая инструкция по извлечению .cf из существующей базы

Рассмотрим стандартный и наиболее надежный способ получения файла конфигурации. Для этого нам понадобится доступ в режим Конфигуратор.

Шаг 1. Открытие конфигурации
Запустите информационную базу в режиме «Конфигуратор». Если дерево объектов слева не отображается, выберите в главном меню пункт Конфигурация — Открыть конфигурацию. Если этот пункт неактивен, значит, конфигурация уже открыта.

Шаг 2. Сохранение в файл
Перейдите в меню Конфигурация и выберите пункт Сохранить конфигурацию в файл.... Укажите путь и имя файла с расширением .cf. В этот момент система сформирует файл, содержащий текущую структуру вашей базы.

Шаг 3. Создание новой базы
Создайте новую информационную базу через диалоговое окно запуска 1С (кнопка «Добавить» — «Создание новой информационной базы без конфигурации»).

Шаг 4. Загрузка конфигурации
Зайдите в Конфигуратор новой пустой базы. Перейдите в меню Конфигурация — Загрузить конфигурацию из файла... и выберите ваш сохраненный .cf. После завершения процесса обязательно выполните обновление конфигурации базы данных (клавиша F7 или синий бочонок на панели инструментов).

Почему в «чистой» базе всё равно видны данные?

Многие пользователи сталкиваются с «мистикой»: загрузили .cf, запустили базу, а в ней уже есть записи в справочниках или настройки. Проанализируем реальные причины этого явления:

1. Предопределенные элементы
В 1С существуют объекты, созданные разработчиком непосредственно в дереве метаданных (они помечены иконкой с желтым кружком). Это могут быть статьи затрат, типы цен, валюты или папки в справочниках. Поскольку они прописаны в структуре метаданных, они всегда будут присутствовать в любой базе, созданной на основе этого .cf. Это не пользовательские данные, а часть программного кода.

2. Механизмы БСП и начальное заполнение
Современные конфигурации (УТ 11, БП 3.0, ERP) построены на базе Библиотеки стандартных подсистем (БСП). При первом запуске «пустой» базы срабатывают обработчики начального заполнения. Система видит, что база пуста, и автоматически создает необходимые записи: константы, классификаторы единиц измерения, курсы валют или учетные политики по умолчанию. Пользователю может показаться, что это данные из старой базы, но на самом деле это результат работы программного кода при первом старте.

3. Ошибка при загрузке (Замещение vs Загрузка)
Важно не путать команду Загрузить информационную базу... (которая работает с .dt и стирает всё) с командой Загрузить конфигурацию из файла.... Если вы случайно выбрали пункт «Сравнить и объединить», то старые данные (если они были в базе) никуда не денутся, к ним просто применится новая структура.

Использование конфигурации поставщика

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

  1. Зайдите в меню Конфигурация — Поддержка — Настройка поддержки.
  2. В открывшемся окне нажмите кнопку Сохранить конфигурацию поставщика в файл.

Этот метод гарантирует, что вы получите оригинальный .cf, соответствующий релизу, без учета ваших изменений в основной конфигурации.

Как проверить, есть ли данные в базе программно?

Если вы сомневаетесь, пустая ли ваша база после загрузки .cf, можно воспользоваться простым кодом в консоли запросов или внешней обработке, чтобы проверить наличие записей, например, в справочнике Номенклатура:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |   Номенклатура.Ссылка КАК Ссылка
    |ИЗ
    |   Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |   НЕ Номенклатура.Предопределенный";

РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
    Сообщить("Пользовательских данных в справочнике нет.");
Иначе
    Сообщить("Обнаружены записи, созданные пользователем!");
КонецЕсли;

Использование условия НЕ Номенклатура.Предопределенный в запросе критически важно, так как оно позволяет отсечь системные элементы, которые «приехали» вместе с .cf, от реально введенных пользователем данных.

Резюме

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

← На главную