Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Модификация базового отчета

Материал из Платформа Эра. Документации
Дополнительную информацию о разработке отчетов можно подчерпнуть в данной статье курса по разработке приложений.

Общая информация

Периодически возникает необходимость модифицировать базовый отчет, либо создать на его основе свою версию. Зачастую модификация необходима для решения следующих задач:

  • Добавление дополнительных фильтров данных
  • Вывод дополнительных данных
  • Предварительная обработка данных отчета
  • Изменение параметров визуализации

В рамках платформы Эра, задача модификации отчета решается с помощью создания собственного контрола и механизма подмен (shifts).

Общий алгоритм следующий:

  1. Найти необходимый контрол базового отчета
  2. Создать в своём пакете собственный контрол, скопировав в него все параметры базового
  3. Внести необходимые изменения в параметры контрола
  4. Заместить базовый контрол новым при помощи подмены*
  5. Применить изменения пакета

Пункт 4 является опциональным, если нет необходимости замещать базовый отчет собственной версией. Свою версию отчета можно разместить в отдельном приложении, либо сделать подмену приложения Отчеты и внести в него свой отчет отдельной вкладкой.

Далее, на примере базового отчета "Звонки по суткам" разберем весь процесс.

Шаг 1. Поиск контрола базового отчета

Отчет "Звонки по суткам"

Самый простой способ найти контрол отчета - это поиск по полному имени в пакете callcenter.

Для этого необходимо взять адрес страницы с отчетом:

https://[ERA_FQDN]/app/callcenter_reports/#/ui/callcenter/reports/seances/ArchiveSeancesByDateReport

Из него необходимо взять строку после /ui/:

Поиск контрола в приложении Builder

callcenter/reports/seances/ArchiveSeancesByDateReport

Далее, в приложении Builder, в разделе Controls необходимо выбрать пакет callcenter (все базовые отчеты хранятся именно в этом пакете) и указать полученное ранее значение в строке поиска.