Как выгрузить структуру информационной базы 1С 8.3 и перенести данные между одинаковыми конфигурациями?

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

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

Рассмотрим подробнее основные способы выгрузки структуры метаданных и варианты выборочного переноса данных.

Выгрузка структуры метаданных для конфигурации «Конвертация данных»

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

  1. Поиск внешней обработки: Для платформы 1С 8.3 в редакции «Конвертация данных 2.1» применяется обработка MD83Exp.epf (для более старых релиза — MD82Exp.epf). Обработка входит в комплект поставки «Конвертации данных» и после установки шаблона находится в папке с материалами конфигурации (в каталоге шаблонов 1С).
  2. Запуск обработки в выгружаемой базе: Запустим 1С:Предприятие, откроем файл обработки MD83Exp.epf через меню Файл — Открыть.
  3. Формирование файла структуры: В интерфейсе обработки выберем необходимые объекты метаданных (справочники, документы, регистры) и укажем путь для сохранения итогового XML-файла. Нажмем кнопку выгрузки. Полученный XML-файл в дальнейшем загружается в конфигурацию «Конвертация данных» для создания правил обмена (ПКО, ПКС).

Для современной версии «Конвертация данных 3.0» выгрузка через обработку не требуется: структура выгружается штатно через меню Конфигуратора Конфигурация — Выгрузить конфигурацию в файлы (в формате XML/EDT), после чего каталог загружается непосредственно в КД 3.0.

Быстрое получение отчета по структуре в Конфигураторе

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

  1. Откроем информационную базу в режиме Конфигуратор.
  2. В главном меню перейдем в раздел Конфигурация — Отчет по конфигурации...
  3. В открывшемся окне настроим состав выгружаемых объектов и состав их свойств.
  4. Сформируем отчет и сохраним его в удобном формате (табличный документ, PDF или HTML).

Перенос данных между одинаковыми конфигурациями без КД

Проанализируем ситуацию, когда требуется перенести выборочную информацию из одной базы в другую с точно такой же конфигурацией (например, между двумя одинаковыми узлами или копиями). Настраивать правила в «Конвертации данных» в этом случае избыточно.

Оптимальным решением является использование специализированной обработки ВыгрузкаЗагрузкаДанныхXML83.epf (или аналогичных инструментов из Библиотеки Стандартных Подсистем — БСП):

  1. Откроем обработку ВыгрузкаЗагрузкаДанныхXML в базе-источнике.
  2. Отметим галочками только те типы объектов (справочники, документы за период), которые требуется перенести.
  3. Выгрузим данные в файл XML. Обработка автоматически сохраняет подчиненные ссылки и уникальные идентификаторы (GUID) объектов.
  4. Откроем эту же обработку в базе-приемнике на вкладке загрузки и выполним загрузку XML-файла. При этом существующие объекты обновятся без создания дублей.

Программное получение структуры хранилища баз данных

Для программистов, которым необходимо получить имена физических таблиц и полей СУБД (Microsoft SQL Server, PostgreSQL и др.), платформа 1С предоставляет встроенную функцию ПолучитьСтруктуруХраненияБазДанных().

Посмотрим на пример кода для получения таблиц базы данных:


ИменаИзолированныхТаблиц = Новый Массив;
ИменаИзолированныхТаблиц.Добавить("Справочник.Номенклатура");

СтруктураХранения = ПолучитьСтруктуруХраненияБазДанных(ИменаИзолированныхТаблиц, Истина);

Для Каждого СтрокаТаблицы Из СтруктураХранения Цикл
    Сообщить("Имя объекта: " + СтрокаТаблицы.ИмяМетаданных + " -> Таблица СУБД: " + СтрокаТаблицы.ИмяТаблицыХранения);
КонецЦикла;

Этот метод позволяет сопоставить объекты конфигурации Метаданные с реальными таблицами в базе данных SQL для оптимизации сложных запросов и анализа хранения информации.

← На главную