Для пользователя все максимально просто.
Слева у него есть список, содержащий некоторое подмножество метаданных. Как формируется подмножество, я расскажу ниже. Двойной клик по реквизиту добавляет новую колонку в таблицу результата. Например:
Таблицу результата можно распечатать или сохранить в Excel, используя стандартную команду "Вывести список".
Ячейки, содержащие ссылки, слеланы открываемыми.
Перед тем, как добавлять новую колонку, можно задать значение в левом списке. Впрочем, это можно сделать и после того, как колонка добавлена.
Самое главное для пользователя заключается в том, что он не обязан знать каким образом колонка из одной таблицы может быть соединена с колонкой из другой. За него это сделает программа. Вот здесь я добавил к трем колонкам из предыдущего примера еще три.
Более того. Нет необходимости задумыватья о том, в каком порядке выбирать колонки. Ползователь действует, как у него "рука пошла". Можно сначала выбрать "участников".
А потом "мероприятия".
Удалим последнюю колонку.
И нажмем кнопку "Свернуть". Получим ответ на вопрос: "в скольких мероприятиях принимал участие тот или иной человек".
Итак. Пользователю предлагается всего две операции: добавить/удалить колонку и свернуть/развернуть таблицу. С одной стороны, эти операции нельзя назвать слишком сложными. С другой - они позволяют получить довольно широкий круг результатов. Можно сказать, что это упрощенный до предела язык запросов.
Предполагается, что обработка будет работать в любой базе, и, в частности, в любой типовой конфигурации. Но, так как разработчики типовых конфигураций явно не экономят на количестве метаданных, было бы не рациональным выкладывать пользователю все дерево. В обработке предусмотрена возможность работать по-умолчанию в режиме "избранное" и переключаться в режим "все метаданные" при необходимости.
В данной публикации представлена полностью рабочая версия, но ограниченная двумя типами объектов метаданных: "Документы" и "Справочники".
Как вам идея в целом? Хотели бы увидеть полную версию?
Обработка тестировалась на управляемых формах. Платформа 8.3.10.2667. Код обработки полностью открыт.
10.06.2019
Выпущена рабочая версия. Главные отличия от демо:
Работа с регистрами сведений.
Работа с регистрами накопления.
Сортировка таблицы результатов.
В комментариях несколько раз прозвучало предложение сделать версию, которая будет запускаться также и на обычных формах. Такая версия сделана и называется универсальной. Для тех, кому не нужна возможность запуска на обычных или управляемых формах выпущены соответственно версия для управляемых форм и версия для обычных форм.
Обработка тестировалась на управляемых и обычных формах. Платформа 8.3.13.1809. Код обработки полностью открыт.