В ходе работы над проектом, связанным с интеграцией (да и не только), часто возникает потребность получить описание структуры хранения данных определенной базы, либо для дальнейшего анализа, либо для вставки в техническое задание или другую проектную документацию. Для решения этой задачи существует множество обработок и публикаций с разными способами получения подобного описания. Данная обработка имеет простой интерфейс (одна кнопка «сделать всё»), но выводит максимальное количество полезной для анализа информации и поддерживает сохранение табличного документа во внешний файл Excel.
На текущий момент в табличный документ выводятся следующие классы метаданных (колонка Тип таблицы) и группы полей (колонка Тип группы):
- Справочники, Документы, БизнесПроцессы, Задачи, ПланыВидовХарактеристик, ПланыОбмена:
СтандартныеРеквизиты + Реквизиты + ОбщиеРеквизиты + ТабличныеЧасти
- РегистрыСведений, РегистрыНакопления, РегистрыБухгалтерии, РегистрыРасчета:
СтандартныеРеквизиты + Измерения + Ресурсы + Реквизиты + ОбщиеРеквизиты
- Перечисления:
(СтандартныеРеквизиты) + ЗначенияПеречисления
- ПланыВидовРасчета:
СтандартныеРеквизиты + Реквизиты + ОбщиеРеквизиты + ТабличныеЧасти + СтандартныеТабличныеЧасти
- ПланыСчетов:
СтандартныеРеквизиты + Реквизиты + ОбщиеРеквизиты + ТабличныеЧасти + СтандартныеТабличныеЧасти + ПризнакиУчета + ПризнакиУчетаСубконто
- ОбщиеРеквизиты (выводятся в составе других таблиц):
Справочники, Документы, БизнесПроцессы, Задачи, ПланыВидовХарактеристик, ПланыОбмена,
РегистрыСведений, РегистрыНакопления, РегистрыБухгалтерии, РегистрыРасчета,
ПланыВидовРасчета, ПланыСчетов,
ЖурналыДокументов
- Константы
Для всех таблиц и полей выводится внутреннее имя (как в конфигураторе) и синоним (как на форме).
Для всех полей выводится комментарий из конфигуратора.
Для всех полей, кроме Значений перечисления, выводится Тип и Уточнение типа, а также Обязательность заполнения (свойство Проверка заполнения = Выдавать ошибку). В качестве уточнения типа для ссылочных типов выводится тип ссылки (имя ссылочного объекта), а для примитивных типов квалификаторы. Примеры:
- Строка: П256 – переменная длина 256 символов; Ф10 – фиксированная строка 10 символов (будет дополняться пробелами справа до указанной длины).
- Число: (10, 3) неотр. – разрядность 10, разрядность дробной части 3, допустимый знак – неотрицательный.
- Дата: Дата, Время, Дата и время
- Справочник: Номенклатура
Для полей составного типа в колонку Тип выводится признак «Составной» и в уточнение типа указывается количество входящих в него типов. Отдельно выполняется проверка на вхождение таких группировочных типов, как ЛюбаяСсылка, СправочникСсылка, ДокументСсылка и т.д., они выводятся одной строкой. Затем перечисляются все прочие типы. Типы отсортированы по алфавиту в возрастающем порядке.
Для реквизитов иерархических справочников в колонке «Тип группы» также указывается использование:
- Рекв (Гр/Эл) – реквизит есть у групп и элементов
- Рекв (Эл) – реквизит есть только у элементов
- Рекв (Гр) – реквизит есть только у групп
Обработка тестировалась на платформе 8.3.17 в обычном и управляемом режиме, в файловой и клиент-серверной базе. Также проверялись режимы совместимости от 8.1 до 8.3.17.
В качестве основной идеи брал бесплатную обработку MetadataToXML, которая выгружает структуру данных в XML. Укажу автора, если смогу вспомнить, т.к. скачивал обработку давно, а тот сайт теперь не работает.
В тонком клиенте при включении флажка сохранения файла на сервере необходимо проверить наличие у службы сервера доступа к выбранной папке для сохранения внешнего файла Excel. А лучше сохранять отображенный табличный документ с клиента через Ctrl+S с выбором формата xlsx.
Во вложении архив с обработкой и результатом выгрузки метаданных, и тестовая конфигурация для проверки