Весьма интересен был бы универсальный репортер в системе, позволяющий строить отчёты по разным данным, про который говорилось на партнёрке. Не осилили? Не понятно, он то упоминается, то нет. Пока, как я понял, репортер юзается только в задачах? Ещё разговор был, каким его делать. Юра Тушинский говорил, что будут строиться отчёты по данным в пределах одного модуля, например инфоблокам, с возможностью прописывать определённым образом программные интерфейсы для получения данных репортером из нужных (в том числе своих модулей), Вадим Думбравану же говорил, что народу больше интересны отчёты, умеющие изначально брать и комбинировать данные из разных источников, а не в только в пределах модуля (я поддерживаю эту точку зрения).
Репортер на самом деле универсальный. Внедряется он примерно так: 1) необходимо описывать сущности; 2) необходимо писать бизнес-логику выборки данных; 3) необходимо делать публичный интерфейс к отчетам.
На примере задач: описаны сущности задача (модуль задач), пользователь (ядро). Логика выборки в основном упирается в права доступа - репортер должен получать только данные, к которым есть доступ, а не вообще все. В модуле задач в принципе выборки уже были. Созданы компоненты отчетов, которые по сути подключают компоненты репортера с нужными параметрами.
В основе работы репортера лежит принцип ORM. На основе описаний сущностей и связей между ними строится запрос к БД. Сущности могут быть из разных модулей. По нашей практике мы видим, что отчет "на заданную тему" может быть внедрен за пару рабочих дней. API опубликуем в начале следующего года.
Вадим, спасибо за ответ, хотя пока детально не понятно, как всё будет работать (как описываются сущности и бизнес-логика). По сути, это нужно для конструктора запросов. Будет ли возможность миновать конструктор запросов, например, предоставив готовый SQL-запрос, просто задав название для получаемых полей для вывода данных. Т.е., воспользоваться только логикой презентации данных репортера? Какие ещё возможности будут в репортере? Использование функций для полей, группировки, переходы от общего к частному (вызов "подотчётов") итп?
Будет ли возможность миновать конструктор запросов, например, предоставив готовый SQL-запрос, просто задав название для получаемых полей для вывода данных. Т.е., воспользоваться только логикой презентации данных репортера?
Штатной возможности не предусмотрено, но при необходимости реализовать будет несложно. И все же хотелось бы двигаться в сторону развития конструктора запросов и ORM, а не обходных путей
Сегодня я заканчиваю вводную статью для разработчиков про модуль конструктора отчетов. Предлагаю дождаться ее и продолжить обсуждение технических моментов в комментариях.
Спасибо, очень ждём информации. Может после её появления будет более понятно. Готовые SQL-запросы - это для случая использования не штатных таблиц и БД, так как пока не ясно, где и как будут описываться сущности.