Как использовать конструктор отчетов?

Цель данного функционала предоставить возможность создавать собственные запросы к любой сущности в системе и выбирать любые данные. Очень часто существует необходимость сделать выборку одновременно из нескольких сущностей и отобразить данные в одной таблице или же сделать некий сводный отчет, который отображает данные в заданном формате. Все эти задачи поможет решить конструктор отчетов.

Обратите внимание: данный функционал требует навыков программирования.

Создание отчёта

Перейдите в меню «Плагины — Конструктор отчетов» и нажмите на кнопку «Создать».  В форме отчета настройте доступ к отчету и панели фильтров.

После создания отчета нажмите на «HTML-блоки» в списке  и добавьте необходимые блоки для отчета.

Предусмотрено несколько типов блоков, которые помогут вам выбрать данные из  базы данных.

Отчет для печати

С помощью конструктора отчетов можно также подготовить документ для печати. В конструкторе предусмотрена  возможность вывода изображения в таблице, иметь возможность настраивать размер колонки, фильтрацию и сортировку записей в таблице. Таким образом у вас будет больше возможностей по сравнению с шаблонами для печати.

Для создания подобного отчета, в форме отчета выберите сущность и тип отчета «Отчет для печати». В этом случае появляются дополнительные настройки для печати и для отображения кнопки.

Аналогично шаблонам для печати, кнопка на данный отчет будет отображаться на странице записи.

Настройка фильтров

На вкладке «Панели фильтров» можно включить необходимые фильтры на странице отчета. Предусмотрены фильтры по дате пользователю, а также фильтры по сущности и выпадающему списку.

Включенные фильтры можно использовать в MySql запросе или PHP коде.

Обратите внимание: константа возвращает 0 если значение фильтра не выбрано. В связи с этим рекомендую следующий sql пример использования фильтров:

select *, if((field_157=[filter_by_list1] or [filter_by_list1]=0),1,0) as is_filter from app_entity_21 having is_filter=1

if((field_157=[filter_by_list1] or [filter_by_list1]=0),1,0) as is_filter — создаем условие

having is_filter=1 — добавляем фильтр

Ваш вопрос решен?

Похожие статьи