Платформа Flexberry позволяет реализовывать решения для разнообразных бизнес-требований. Очень часто в информационных системах встречается логика построения отчётов. Платформа Flexberry позволяет оптимальным образом реализовать логику асинхронного построения отчётов с отправкой уведомления пользователю. Данное решение основано как на сторонних компонентах, таких, как Quartz.Net, так и на компонентах платформы Flexberry. Такая комбинация даёт максимальную скорость и качество разработки и сопровождения.
Применение решения с отчётами демонстрируется на примере в открытом репозитории. Отчеты формируются асинхронно и по расписанию. Кроме того, присутствует возможность использования пользовательского шаблона для форм отчётов. По окончании операции построения отчёта всплывает соответствующее уведомление, которое дублируется на почту.
Техническое описание примера: применяется OData в качестве бакэнда и Ember в качестве фронтенда, в качестве БД – PostgreSQL, в качестве сервиса авторизации пользователей показан Keycloak. SignalR-соединение с пользователем осуществляется через Web Socket для отправки уведомлений о формировании отчетов. Если нет соединения с пользователем по SignalR, то на почту с помощью MailKit отправляется уведомление по шаблонам Т4 или Razor.
Особенности сервиса Quartz: на каждое задание инициализируется свой интерфейс с соответствующим уровнем прав. Его инициализация зависит от параметров запуска отчета в части пользователя и его ролей.
Для построения DOCX-отчетов используется специальный пакет с отчетами, который представляет из себя доработку базового пакета. Он предоставляет более широкий набор функционала по поиску и замене параметров при формировании отчетов.