Статья посвящена SQLVantage — легковесной веб-системе отчётов, объединяющей SQL-запросы, параметрические формы и представление результатов в едином рабочем процессе. Рассматриваются архитектура системы, установка и развёртывание, управление полным жизненным циклом отчёта, а также ключевой компонент — дизайнер отчётов с модулями SQL, FORM и HTML. Обсуждаются сценарии применения и практические ограничения.
Готовое к использованию веб-приложение для отчётов, помогающее легко справиться с полным циклом: запрос данных, формы параметров и представление результатов.
В повседневной деятельности предприятия отчёты данных — неотъемлемая часть. Будь то финансовая сверка, анализ продаж или операционный мониторинг, практически каждый отдел не обходится без отчётов в различных форматах.
Однако на практике мы часто сталкиваемся со следующими проблемами:
Таким образом, возникает потребность в легковесной системе отчётов, которая обеспечивает единое управление определениями отчётов, поддерживает параметризованные запросы, автоматически генерирует результаты в различных форматах и обеспечивает изоляцию прав доступа.
Недавно я познакомился с системой отчётов под названием SQLVantage (версия v1.0.2, выпущенная 2026-07-15), которая как раз решает эти проблемы. Её дизайн понятен: единый стандартный процесс связывает три задачи — «SQL-запрос, форма параметров, представление результатов», — чтобы весь жизненный цикл отчёта был прозрачен и отслеживаем.
В этой статье я опишу её ключевой дизайн и сценарии использования на основе официальной документации, чтобы помочь быстро понять, подходит ли она вашей команде.
SQLVantage — это система отчётов с чисто веб-архитектурой. Её ключевые особенности:
| Понятие | Описание |
|---|---|
| Отчёт | Один отчёт = SQL-запрос + форма параметров (FORM) + представление результатов (HTML) + три конфигурационных JSON, относится к определённой «ответственности» |
| Ответственность | Каталог классификации отчётов, соответствует концепции ответственности в Oracle EBS, используется для группировки отчётов по модулям для пользователя |
| Параметр | Условие запроса (дата, клиент, организация и т. д.), после отправки пользователем привязывается к SQL как именованный параметр |
| Запрос | Конкретная задача выполнения отчёта пользователем; система выполняет асинхронно и генерирует файл результата |
| Авторизация | Файл License, контролирующий максимальное количество отчётов и срок использования |
Система разделяет две роли с полностью отдельными точками входа и правами:
Способ развёртывания SQLVantage можно назвать весьма прагматичным.
Распакуйте дистрибутив в любой каталог (например, D:\SQLVantage), дважды щёлкните SQLVantage.exe для запуска. По умолчанию прослушивается 127.0.0.1:8080 — откройте в браузере и работайте.
Распакуйте в /opt/sqlvantage, выдайте права на выполнение и запускайте через nohup или systemd в фоновом режиме. Порт по умолчанию также 8080.
При первом запуске система автоматически выполняет следующие действия, что очень удобно для администраторов:
Такой подход сводит к минимуму затраты на «пробное использование с нуля».
Администратор может создавать обычных пользователей (роль normal), устанавливать статус active или inactive (при увольнении — отключить, без удаления учётной записи).
Управление ответственностями соответствует концепции ответственности в Oracle EBS и также может создаваться вручную. Отчёт должен быть привязан к определённой ответственности — тогда в пользовательском интерфейсе меню отчётов будет автоматически сгруппировано по ответственностям, обеспечивая ясную навигацию.
У отчёта есть три состояния:
Опубликованный отчёт нельзя удалить напрямую — сначала нужно перевести его в статус черновика или архивный. Это решение хорошо защищает от случайного удаления производственных отчётов.
На странице списка поддерживается «двойной щелчок по ячейке для прямого редактирования» названия, описания и статуса — небольшая деталь, повышающая эффективность работы.
Файл авторизации conf/license.dat контролирует максимальное количество отчётов и срок действия. Без авторизации или при истёкшем сроке система позволяет создать не более 3 отчётов; при превышении создать новый или отправить запрос будет невозможно.
Этот механизм удобен для коммерческой версии или внутреннего пробного использования — сохраняется полный функционал, но устанавливается разумный ограничительный порог.
Если в SQLVantage и есть функция, заслуживающая детального изучения, — это дизайнер отчётов.
Он разделяет процесс разработки отчёта на три независимых, но взаимосвязанных модуля, объединённых в одном интерфейсе.
Откройте список отчётов, нажмите кнопку «Код» (фиолетовая) в строке отчёта — откроется крупный дизайнер, занимающий около 98% экрана. Интерфейс разделён на:
Такой макет «слева код + справа конфигурация + предпросмотр в реальном времени» очень интуитивен для разработчика.
Используется синтаксис Oracle, условия запроса задаются именованными параметрами-плейсхолдерами :имя_параметра:
SELECT company_name, ou_id, amount
FROM fnd_ou_tl
WHERE ou_id = :P_OU_ID
Здесь P_OU_ID должно совпадать с именем параметра, определённым в модуле FORM.
На правой панели можно настроить для каждого столбца:
Эта конфигурация напрямую определяет профессиональный уровень экспорта в Excel — заголовки на русском, выравнивание чисел по правому краю, разделители тысяч, процентные форматы — всё настраивается здесь за один раз.
Иными словами, достаточно настроить метаданные столбцов, и качество экспорта в Excel больше не зависит от дополнительного бэкенд-кода.
Это точка входа для взаимодействия с отчётом. В правой «таблице конфигурации параметров» каждая строка определяет один параметр запроса:
| Поле | Описание |
|---|---|
| Имя параметра field | Должно строго совпадать с :имя_параметра в SQL |
| Метка label | Текст, отображаемый в форме |
| Тип компонента type | text / number / select / radio / date / month / datetime / hidden / temp |
| Статические опции static_options | Формат ключ:значение,ключ:значение |
| Динамический API / SQL | Поддерживает плейсхолдеры {имя_переменной} для связывания параметров |
Это весьма полезная функция модуля FORM: когда подчинённый выпадающий список зависит от вышестоящего параметра (например, после «выбора организации» загружается «список отделов»), в api_url или query_sql можно использовать плейсхолдер вида {P_OU_ID}.
При изменении значения вышестоящего параметра система автоматически обновляет опции подчинённого списка — без дополнительного JavaScript-кода.
В нижней части правой панели также есть область предпросмотра в реальном времени: после настройки параметров сразу виден результат рендеринга, а сгенерированный HTML-код можно одной кнопкой «скопировать и применить» в редакторе.
После выполнения отчёта, в каком виде результаты представляются пользователю? Этим занимается модуль HTML.
На правой панели «Конфигурация компонентов HTML-представления» можно определить несколько блоков отображения, каждый из которых включает:
В итоге, когда пользователь скачивает HTML-результат, система динамически рендерит полную страницу с таблицами, диаграммами и KPI-карточками, причём параметры запроса также отображаются в верхней части результата.
Этот уровень дизайна делает «презентационную часть» отчёта также конфигурируемой — больше не нужно писать отдельную фронтенд-страницу для каждого отчёта.
Весь процесс проходит по одной линии:
Путь обычного пользователя очень прост:
Queued (в очереди) → Processing (выполняется) → Success (успешно) → Error (ошибка) → Terminated (превышено время ожидания)
Система опрашивает очередь задач каждые 3 секунды, уровень параллелизма настраивается, по умолчанию одновременно выполняется не более 3 задач. Тайм-аут по умолчанию — 30 минут, настраивается в конфигурации.
SQL, FORM и HTML имеют каждый как «код», так и «JSON-конфигурацию» — это оставляет пространство для дальнейшего управления версиями и переиспользования шаблонов.
Это не «сначала экспорт, потом постобработка» — стиль Excel определяется на этапе проектирования. Это означает: разработчик отчёта полностью контролирует качество вывода, без необходимости в дополнительных скриптах постобработки.
Механизм плейсхолдеров для реализации зависимости параметров снижает порог фронтенд-разработки.
Обычный пользователь видит только свои записи запросов; администратор — все. При отправке ERP-пользователем система также проверяет организационные права OU/ORG, предотвращая несанкционированный доступ.
Все бизнес-данные хранятся в conf/data.dat, файлы результатов создаются в каталоге data/. При миграции достаточно скопировать каталоги conf/ и data/ — всё предельно ясно.
Общее впечатление от SQLVantage: прагматичность, сдержанность, удобство.
Система не гонится за «всем и сразу», а сосредотачивается на ключевом сценарии «отчёты», связывая управление SQL, взаимодействие через параметры, представление результатов и изоляцию прав в единую прозрачную цепочку.
Для команд, испытывающих трудности с управлением отчётами, SQLVantage — достойный вариант: его можно использовать как производственный инструмент или как учебный пример для понимания дизайна легковесных веб-систем отчётов.
Если вы тоже ищете простую в использовании, саморазвёртываемую систему отчётов — стоит начать с SQLVantage.
Данная статья подготовлена на основе официальной документации SQLVantage v1.0.2 (выпуск 2026-07-15). Подробнее — в многоязычной документации, поставляемой с проектом (каталог docs/).