Дополнительные действия
AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) Нет описания правки |
||
Строка 14: | Строка 14: | ||
#Если на шаге 2 был выбран сервис, то данный сервис необходимо разработать и протестировать | #Если на шаге 2 был выбран сервис, то данный сервис необходимо разработать и протестировать | ||
#Создать контрол необходимого для отчёта типа. Настроить у контрола dataSource с необходимым способом получения данных, фильтрами и обработками. Удобнее всего начать с контрола с типом table, даже если целевой отчёт не должен быть таблицей. В таблице удобно протестировать создаваемый отчет, его фильтры и обработки. Уже после тестирования можно создать новый контрол другого типа и перенести все настройки в него | #Создать контрол необходимого для отчёта типа. Настроить у контрола dataSource с необходимым способом получения данных, фильтрами и обработками. Удобнее всего начать с контрола с типом table, даже если целевой отчёт не должен быть таблицей. В таблице удобно протестировать создаваемый отчет, его фильтры и обработки. Уже после тестирования можно создать новый контрол другого типа и перенести все настройки в него | ||
#Произвести мелкие настройки контрола, например разрешить или запретить сортировку и изменение состава колонок. Этот этап в целом является опциональным, перечень параметров, доступных для настройки можно найти в [[Отображение данных. Таблицы и карточки#Табличный контрол|статье по контролам]]. | #Произвести мелкие настройки контрола, например разрешить или запретить сортировку и изменение состава колонок. Этот этап в целом является опциональным, перечень параметров, доступных для настройки можно найти в [[Отображение данных. Таблицы и карточки#Табличный контрол|статье по контролам]]. Обращаем внимание, что особые настройки контрола становятся доступными после сохранения контрола с определенным типом. Тип контрола после сохранения изменять нельзя. | ||
Версия от 13:21, 11 марта 2025
Предыдущая статья курса: Работа с универсальным источником данных
Общая информация
В качестве отчётов, в рамках приложений на платформе Эра, выступают особым образом настроеные контролы. В платформе изначально предусмотрен достаточно исчерпывающий перечень видов контролов, которые закрывают подавляющее большинство задач по разработке отчёта. Полный список базовых видов контролов можно посмотреть в статье этого курса, посвещенной контролам.
Общий алгоритм разработки отчёта следующий:
- Определение источников данных для отчёта. Это могут быть данные объектов, перечислений, информация из внешней системы, константы и т.д.
- Определение логики построения отчёта и выбор способа сбора данных. На этом этапе необходимо понять, как из исходных данных собрать целевой отчёт и какой из инструментов платформы подойдет для этого лучше. Выбранный источник данных должен быть настроен в соответствующем контроле с помощью универсального источника данных, рассмотренного в предыдущей статье. Возможные варианты:
- Получение данных классов напрямую из хранилища. Фильтрация, группировка и преобразование данных выполняется на уровне dataSource
- Разработка сервиса, подготавливающего данные для отчёта
- Использование внешнего источника данных (URL)
- Если на шаге 2 был выбран сервис, то данный сервис необходимо разработать и протестировать
- Создать контрол необходимого для отчёта типа. Настроить у контрола dataSource с необходимым способом получения данных, фильтрами и обработками. Удобнее всего начать с контрола с типом table, даже если целевой отчёт не должен быть таблицей. В таблице удобно протестировать создаваемый отчет, его фильтры и обработки. Уже после тестирования можно создать новый контрол другого типа и перенести все настройки в него
- Произвести мелкие настройки контрола, например разрешить или запретить сортировку и изменение состава колонок. Этот этап в целом является опциональным, перечень параметров, доступных для настройки можно найти в статье по контролам. Обращаем внимание, что особые настройки контрола становятся доступными после сохранения контрола с определенным типом. Тип контрола после сохранения изменять нельзя.
В общем виде любой сложный отчёт состоит из двух частей:
- Сервис, который принимает Invocation с параметрами, реализует логику построения отчёта, совершает внутренние и внешние вызовы для сбора данных, подготавливает данные в структуру JSON и возвращает их.
- Контрол необходимого для отчёта типа, с набором необходимых фильтров, набором настроек интерфейса, облегчающих работу с отчётом, а также dataSource, сконфигурированный для работы с созданным сервисом.
Для простых отчётов, сервис может отсутствовать, например если данные для отчёта получаются напрямую из объектов опредленного класса и не требуется какие-либо сложные операции.
Следующая статья курса: Задание 11. Разработка кастомного отчета
Предыдущая статья курса: Работа с универсальным источником данных