Как объединить данные из файла .dt и конфигурацию .cf в 1С:Предприятие 8

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

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

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

Понимание основ: в чем разница между .dt и .cf?

Для начала четко определим, с какими типами файлов мы имеем дело:

Наша цель — развернуть данные из .dt и применить к ним новую структуру из .cf.

Пошаговый алгоритм: «Женим» DT и CF

Рассмотрим самый простой и надежный классический способ решения этой задачи через Конфигуратор. Выполним следующие шаги:

  1. Создание чистой информационной базы. Запустим стартер 1С и добавим новую пустую информационную базу (без типовой конфигурации).
  2. Развертывание данных. Запустим созданную базу в режиме Конфигуратор. Перейдем в меню Администрирование — Загрузить информационную базу... и выберем наш файл .dt. После завершения загрузки конфигуратор перезапустится. На этом этапе мы получили рабочую базу со всеми старыми данными и старой структурой.
  3. Интеграция новой конфигурации. Теперь нам нужно применить файл .cf. Для этого перейдем в меню Конфигурация. Если конфигурация закрыта, откроем ее (Конфигурация — Открыть конфигурацию).
  4. Далее выберем один из двух путей в зависимости от задачи (подробное сравнение путей приведено ниже):
    • Если нам нужно полностью заменить старую структуру новой: выберем Конфигурация — Загрузить конфигурацию из файла... и укажем наш файл .cf.
    • Если в базе есть уникальные доработки, которые нужно объединить с изменениями из файла: выберем Конфигурация — Сравнить, объединить с конфигурацией из файла....
  5. Применение изменений к базе данных. Это критически важный шаг. После загрузки или объединения изменения применились только к «Основной конфигурации». Чтобы изменения вступили в силу на уровне физических таблиц СУБД, необходимо нажать клавишу F7 (или выбрать Конфигурация — Обновить конфигурацию базы данных).

Важный выбор: «Загрузить конфигурацию» или «Сравнить и объединить»?

Разберем подробнее разницу между этими операциями, так как неправильный выбор может привести к потере уникальных доработок.

Способ А: Загрузить конфигурацию из файла

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

Этот способ идеально подходит, когда вы обновляете типовую конфигурацию (например, «Бухгалтерия предприятия») на более свежий релиз той же конфигурации, предоставленный в формате .cf. Он гарантирует сохранение корректных внутренних идентификаторов (GUID) объектов конфигурации поставщика.

Способ Б: Сравнить, объединить с конфигурацией из файла

Этот инструмент незаменим, если ваша база, развернутая из .dt, содержит собственные доработки (например, добавленные вручную реквизиты, измененные модули), и при этом файл .cf также несет в себе новые изменения, которые нужно внедрить избирательно.

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

Понятие трех слоев конфигурации и завершение процесса

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

  1. Основная конфигурация — рабочая область программиста. Именно сюда попадают изменения в момент загрузки .cf.
  2. Конфигурация базы данных — реальная структура таблиц в базе, в которой работают пользователи.
  3. Конфигурация поставщика — эталонная конфигурация от разработчика решения (например, фирмы «1С»), которая используется для последующих обновлений.

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

Что делать, если конфигурация находится на поддержке?

Проанализируем ситуацию: вы развернули .dt, попытались сделать сравнение и объединение с .cf, но система заблокировала возможность редактирования (напротив объектов стоят значки «замочков»).

Чтобы решить эту проблему, выполните следующие действия:

  1. Перейдите в меню Конфигурация — Поддержка — Настройка поддержки.
  2. В открывшемся окне нажмите кнопку Включить возможность изменения.
  3. В правилах поддержки установите значение «Объект поставщика редактируется с сохранением поддержки» для необходимых типов объектов и нажмите «ОК».

После этого элементы метаданных станут доступными для редактирования и объединения.

Альтернатива: перенос данных через XML (когда структуры разные)

Рассмотрим сценарий, когда конфигурация в файле .cf (например, «ERP Управление предприятием») принципиально отличается от конфигурации в базе .dt (например, «Управление торговлей»). Попытка прямого объединения таких файлов через конфигуратор приведет к разрушению структуры метаданных и полной потере работоспособности системы.

В этом случае действовать нужно по следующей схеме:

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

← На главную