Формулировка проблемы: в рамках одного из
реализуемых проектов по интеграции платформы
ARTA Synergy со сторонними модулями требуется
возможность генерировать пользовательские отчёты
ARTA Synergy (отчёты, основанные на применении
технологии JasperReports) с помощью
API. Самостоятельная генерация отчётов внешним
модулем системы не подходит, так как подсистема отчётов
ARTA Synergy имеет полный доступ к базе данных
ARTA Synergy, чего внешним модулям разрешать
нельзя.
Решение: необходимо реализовать набор
API для работы с пользовательскими отчётами
ARTA Synergy, позволяющий выполнять следующие
действия:
Получение списка всех отчётов, доступных данному пользователю для генерации вместе с их параметрами.
Передача отчёту параметров, необходимых для генерации.
Генерация отчёта с именем и форматом, указанным в параметре «маска» этого отчёта, а также с возможностью явным образом указать имя и формат выходного файла.
Передача выходного файла отчёта непосредственно приложению,
вызвавшему API, либо сохранение этого файла в
хранилище ARTA Synergy (с учётом прав того
пользователя, который вызвал соответствующий метод).
Если генерация отчёта по какой-либо причине невозможна (нет доступа,
переданы не все либо неверные параметры и т.п.) вызывающий
API должен быть корректно проинформирован об этом
с указанием точной причины возникшей ошибки.
Вышеописанный набор API должен быть
задокументирован в «Справочнике API-функций» и снабжён примерами
использования.