При работе с конфигурациями 1С:Предприятие часто возникает необходимость получить полное описание структуры информационной базы или выгрузить метаданные для последующего переноса данных. Вариант решения зависит от конечной цели: создание правил обмена в конфигурации «Конвертация данных», перенос информации между идентичными базами или просмотр структуры физических таблиц СУБД.
Рассмотрим подробнее основные способы выгрузки структуры метаданных и варианты выборочного переноса данных.
Если задача заключается в настройке правил конвертации или обмена данными с помощью конфигурации «Конвертация данных» (КД), выгрузка структуры производится с помощью специальной внешней обработки.
MD83Exp.epf (для более старых релиза — MD82Exp.epf). Обработка входит в комплект поставки «Конвертации данных» и после установки шаблона находится в папке с материалами конфигурации (в каталоге шаблонов 1С).MD83Exp.epf через меню Файл — Открыть.Для современной версии «Конвертация данных 3.0» выгрузка через обработку не требуется: структура выгружается штатно через меню Конфигуратора Конфигурация — Выгрузить конфигурацию в файлы (в формате XML/EDT), после чего каталог загружается непосредственно в КД 3.0.
Если вам необходимо просмотреть или сохранить текстовое/графическое описание структуры конфигурации для документации или анализа без использования сторонних программ, разберем простой штатный механизм:
Проанализируем ситуацию, когда требуется перенести выборочную информацию из одной базы в другую с точно такой же конфигурацией (например, между двумя одинаковыми узлами или копиями). Настраивать правила в «Конвертации данных» в этом случае избыточно.
Оптимальным решением является использование специализированной обработки ВыгрузкаЗагрузкаДанныхXML83.epf (или аналогичных инструментов из Библиотеки Стандартных Подсистем — БСП):
ВыгрузкаЗагрузкаДанныхXML в базе-источнике.Для программистов, которым необходимо получить имена физических таблиц и полей СУБД (Microsoft SQL Server, PostgreSQL и др.), платформа 1С предоставляет встроенную функцию ПолучитьСтруктуруХраненияБазДанных().
Посмотрим на пример кода для получения таблиц базы данных:
ИменаИзолированныхТаблиц = Новый Массив;
ИменаИзолированныхТаблиц.Добавить("Справочник.Номенклатура");
СтруктураХранения = ПолучитьСтруктуруХраненияБазДанных(ИменаИзолированныхТаблиц, Истина);
Для Каждого СтрокаТаблицы Из СтруктураХранения Цикл
Сообщить("Имя объекта: " + СтрокаТаблицы.ИмяМетаданных + " -> Таблица СУБД: " + СтрокаТаблицы.ИмяТаблицыХранения);
КонецЦикла;
Этот метод позволяет сопоставить объекты конфигурации Метаданные с реальными таблицами в базе данных SQL для оптимизации сложных запросов и анализа хранения информации.