В Дизайнере ELMA запрос может быть написан на языке HQL и/или SQL. Язык HQL работает с объектами системы, а язык SQL – с элементами базы данных (таблицами, столбцами, записями и т.д.). Язык запроса выбирается при создании или редактировании источника.
В левой части вкладки Источники данных находится боковая панель, в который располагаются данные, которые могут быть использованы в запросе. При использовании языка HQL данные на боковой панели сгруппированы по объектам (рис. 1), а при использовании языка SQL структура данных представляется в виде набора таблиц и их полей (рис. 2).
Рис. 1. Боковая панель инструментов при использовании языка HQL
Рис. 2. Боковая панель инструментов при использовании языка SQL
Для удобства элементы с боковой панели могут быть перенесены в текст запроса путем зажатия требуемого элемента кнопкой мыши и переноса его в необходимое место в правой части окна.
Вкладка "Объекты БД" (при использовании языка SQL)
На данной вкладке (рис. 2) отображены таблицы и поля базы данных, расположенные в системе ELMA. Группировка полей на данной вкладке осуществляется в зависимости от их отношения к той или иной таблице в базе данных.
Вкладка "Объекты" (при использовании языка HQL)
На данной вкладке (рис. 1) отображены все объекты, расположенные в системе ELMA. Каждый объект имеет свойства, которые отображаются на один уровень иерархии ниже объекта в дереве.
Синим цветом на данной вкладке обозначены свойства всех базовых классов – родительских объектов, от которых был унаследован объект.
На данной вкладке (рис. 3) отображены процессы и их контекстные переменные, существующие в системе. При добавлении процесса на вкладке Процессы Дизайнера ELMA новый процесс автоматически добавляется на данную вкладку.
Рис. 3. Вкладка "Процессы"
На данной вкладке (рис. 4) отображены типы проектов и их атрибуты, существующие в системе. Данная вкладка доступна только при наличии активированного приложения Проекты+.
Рис. 4. Вкладка "Проекты"
На данной вкладке (рис. 5) отображены типы документов и их атрибуты, существующие в системе. В том случае, если в системе активировано приложение ECM+, на вкладке Документооборот Дизайнера ELMA могут быть созданы новые типы документов и их атрибуты, которые будут в дальнейшем отображены на данной вкладке.
Рис. 5. Вкладка "Документы"
На данной вкладке (рис. 6) отображены группы перечислений и все перечисления, существующие в системе. При добавлении перечисления на вкладке Объекты Дизайнера ELMA в блоке Перечисления данное перечисление автоматически добавляется на вкладку Перечисления.
Рис. 6. Вкладка "Перечисления"
В качестве примера использования перечислений может быть рассмотрено создание отчета, в который будут выведены задачи с определенным статусом. В данном случае требуемое значение статуса задачи будет добавляться в запрос со вкладки Перечисления. из группы Задачи (рис. 6).
Вкладка "Системные параметры"
На данной вкладке (рис. 7) отображены системные параметры ("Текущий пользователь" и "Текущая дата"), которые могут быть добавлены в запрос.
Рис. 7. Вкладка "Системные параметры"
Рис. 8. Вкладка "Параметры"
Особенности написания запросов
При составлении запроса на вкладке Источники данных необходимо учитывать следующие особенности, которые применимы для всех источников данных:
-
запрос должен начинаться с ключевого слова select;
-
не использовать сортировку результирующей выборки;
-
не использовать ключевое слово order by;
-
учитывать ограничения на длину псевдонима базы данных для следующих СУБД:
MSSQL Server – 128 символов;
Firebird 2.5 – 255 символов;
PostgreSQL – 63 символа;
Oracle – 30 символов (с версии 12.2 и выше – 128 символов).
-
не использовать количественные ограничения для результирующей выборки. Следует использовать ключевые слова для СУБД:
Firebird – FIRST, SKIP;
PostgreSQL – OFFSET, LIMIT;
MS SQL Server – OFFSET, FETCH NEXT.
-
для источника типа Внутренний (HQL) необходимо указывать псевдоним базы данных. Это необходимо для осуществления сортировки и группировки данных из выборки.
Пример запроса для отображения отчета с настраиваемой таблицей
Рассмотрим пример. Создадим отчет с выборкой всех пользовательских задач (входящих, исходящих) и их исполнителей. При этом макет отчета (с настраиваемой таблицей) будет формироваться с помощью запроса.
Рис. 9. Вкладка "Источники данных"
Рис. 10. Блок "Макет отчета". Вкладка "Настройки отображения"
Рис. 11. Кнопка "Шаблон – Шаблон таблицы". Вкладка "Макет отчета (.NET Razor)"
Рис. 12. Диалоговое окно "Мастер созданий макета отчета"
Рис. 13. Вкладка "Макет отчета (.NET Razor)"
На рис. 14 представлен внешний вид данного отчета в веб-приложении.
Рис. 14. Отчет в веб-приложении
Данные в таблице могут быть отсортированы, сгруппированы, может быть изменено количество отображаемых в таблице данных и др.. Подробнее о настройке таблицы данных см. соответствующий раздел справки.
Внимание!
Для СУБД Oracle сортировка и/или группировка данных в таблице недоступна по колонкам с типом Строка.
|
Следует отметить, что настройки отображения таблицы сохраняются индивидуально для каждого пользователя. В случае изменения отчета в Дизайнере, все пользовательские настройки будут сброшены.
См. также: