ВЫБОРКА

ОБЩИЕ СВЕДЕНИЯ

Выборка — это базовый объект платформы. С помощью выборок разработчик визуализирует весь пользовательский интерфейс разрабатываемого приложения.
Выборка — это обертка SQL запроса типа SELECT, которую платформа Эскулап интерпритирует как источник данных для последующего автоматического формирования объектов пользовательского интерфейса и отображения данных.
Идеология построения пользовательского интерфеса на базе выборок схематично представлена на рисунке и состоит из следующих шагов:
1. Создание объекта ВЫБОРКА
2. Написание SQL запросов к базе данных, для отображения данных и осуществления редактирования этих данных пользователями
3. Настройка свойств выборки
4. Настройка полей выборки возвращаемых SQL запросом
5. Настройка входных параметров выборки (при необходимости)
6. Связь выборки с другими объектами (при необходимости)

Выборка может быть как самостоятельным объектом пользовательского интерфейса и служить для построения простой формы, так и входить в состав сложных форм.
Описанный процесс, начиная от создания объекта ВЫБОРКА и до автоматического построения формы очень прост и занимает минимум времени.



СОЗДАНИЕ ВЫБОРКИ

Запустите рабочий стол. Выберете конфигурацию. В списке объектов выберете группу в которую нужно поместить выборку. Если подходящей группы нет, то ее нужно предварительно создать. Нажмите кнопку создать выборку.
 

Примечание: выборка также может быть создана из графического редактора базы данных на базе таблицы.

СВОЙСТВА ВЫБОРКИ

После нажатия на кнопку Создать выборку откроется инспектор объектов выборки, с помощью которого устанавливаются свойства выборки. Свойства выборки влияюют на внешний вид визуальных объектов пользовательского интерфейса которые строятся на базе этой выборки.


  1. Имя выборки. Имя выборки - это системное уникальное название выборки. При создании новой выборки имя создается автоматически, но разработчик может его изменить на свое усмотрение. Имя выборки используется для ее идентификации в дереве объектов рабочего стола, а также в качестве указателя на выборку в процессе разработки.

  2. Заголовок выборки. Это текст, который будет отображаться в качестве заголовка окна при визуализации выборки. Разработчик задает заголовок выборки на свое усмотрение.

  3. Группа выборки. Свойство отображает текущую группу которой принадлежит выборка. Изменяя это свойство, можно перемещать выборку из одной группы в другую. Свойство является справочным, поэтому для перемещения выборки необходимо в справочнике выбрать нужную группу. Примечание: Перемещать выборку из группы в группу можно перетаскиванием выборки в дереве объектов рабочего стола. Нахождение выборки в той или иной группе никак не влияет ни на процесс разработки ни на конечный результат.

  4. Ключевое поле выборки. Это поле выборки, которое будет использоваться в качестве ключа, если выборка используется как справочник для выбора значения.

  5. Кнопка печати. Данное свойство имеет два значения включено или выключено. Если свойство включено, то на панели инструментов автономной выборки появляется значок принтера. Если выборке будут назначены отчеты, то по нажатию на значок принтера откроется диалоговое окно со списком отчетов для печати или просмотра.

  6. Перечитать после Post. Если установлен данный признак, то после сохранения записи, находящейся в режиме изменения или вставки, происходит перечитка данных выборки путем перевыполнения SQL запроса типа select.

  7. Заголовок формы по умолчанию. Если выборка входит в состав сложной формы, то можно динамически задать заголовок окна этой сложной формы. Заголовок окна, в данном случае, будет получен в результате выполнения SQL запроса, который нужно прописать в данном свойстве. SQL запрос может принимать в качестве параметров значения полей выборки, а также входные параметры самой выборки, если они  у нееимеются. Примечание: данное свойство работает в паре со свойством "Форма для которой формируется заголовок окна" (смотрите свойство № 8).

  8. Форма для которой формируется заголовок окна. Если задан SQL запрос (смотрите свойство № 7), который динамически формирует заголовок окна сложной формы в которую входит данная выборка, то в значении этого свойства нужно обязательно указать название сложной формы, для которого будет сформирован заголовок. Примечание: данное свойство работает в паре со свойством "Заголовок формы по умолчанию" (смотрите свойство № 7).

  9. Запрос для получения доп. информации по логированию. Дополнение к системе логирования платформы Эскулап. Позволяет дополнительно логировать недостающую информацию. Дополнительные данные которые нужно логировать определяются SQL запросом. Результат выполнения SQL запроса будет залогирован вместе основными данными при логировании.

  10. Визуализация AfterPost. Свойство заполняется для случая, когда выборка входит в состав сложных форм. В этом случае можно указать, какие действия с данными нужно предпринмать для остальных выборок в сложной форме после сохранения данных в текущей выборке.Возможные варианты - перечитать все данные или только одну строку.

  11. Визуализация AfterRefresh. Свойство заполняется для случая, когда выборка входит в состав сложных форм. В этом случае можно указать, какие действия с данными нужно предпринмать для остальных выборок в сложной форме после перечитывания одной записи в текущей выборке. Возможные варианты - перечитать все данные или только одну строку.

  12. Визуализация AfterDelete. Свойство заполняется для случая, когда выборка входит в состав сложных форм. В этом случае можно указать, какие действия с данными нужно предпринмать для остальных выборок в сложной форме после удалени одной записи в текущей выборке. Возможные варианты - перечитать все данные или только одну строку.

  13. Использовать грид с группировками. При включении данного свойства, у пользователя появляется возможность осуществлять группировку данных по любым столбцам таблицы. Для этого пользователю необходимо перетащить заголовок колонки таблицы в специальную облать вверху таблицы. Внимание! При включение данного свойства таблица становится доступной только для чтения данных. Вставка, редактирование и удаление данных будут невозможными.

  14. Нет сортировки. Отключает сортировку по всем полям выборки.

  15. Нет горизонтальных линий. В таблице не прорисовываются горизонтальные линии.

  16. Нет вертикальных линий. В таблице не прорисовываются вертикальные линии.

  17. В виде иерархии. Переключает внешний вид из табличного представления в древовидную структуру. Для этого в выборке должны быть определены два поля, которые задают иерархию — это ключевое и родительское поля (смотрите свойства 18 и 19).

  18. Ключ иерархии. Выбирается из полей выборки. Как правило является ключевым полем выборки.

  19. Родитель иерархии. Выбирается из полей выборки. Указывает на поле которое определяет принадлежность записи к родителю.

  20. Форма-карточка. Если указано данное свойство, то для редактирования или добавления данных выборки используется специальный объект - Карточка. Карточка открывается автоматически при переходе данных выборки в режим редактированияили или вставки, и дальнейшие манипуляции с данными происходят уже в карточке. Карточка - это о дна из разновидностей сложных форм.
    Форма-карточка должна быть предварительно создана, а ее название указано в данном свойстве.
    (используется совместно со свойством номер 21)

  21. Входной параметр карточки. Карточка создана на основе выборки, SQL которой возвращает данные объекта который нужно редактировать. В этом SQL, в условии where содержится параметр, в который, как правило, подставляется значение ключевого поле выборки из которой вызывается карточка. Другими словами, в этот параметр передается идентификатор объекта который нужно редактировать. (используется совместно со свойством номер 20)

  22. Переоткрывать после закрытия карточки. После закрытия карточки переоткрывает (перечитывает) набор данных выборки из которой была вызвана карточка.

  23. Разрешать менять в сетке. Назначение карточки выборке предполагает, что любые изменения данных будут проводится исключительно в карточке. Однако, если включить опцию "Разрешать менять в сетке", то редактирование данных будет доступно как из выборки, так и из формы-карточки. В этом случае вызов карточки будет осуществлятся только по нажатию соответствующей кнопки на панели инструментов.

  24. Зависимости. Показывает все объекты, которые зависят от данной выборки или все объекты в которые входит данная выборка. Это могут быть сложные формы, пункты меню, отчеты и операции.

  25. Копировать выборку. Если необходимо создать выборку похожую на одну из существующих, то ее можно скопировать. При этом копируюся все SQL выборки, ее свойства, описания полей и параметры.

  26. SQL's. При нажатии на данную кнопку открывается редактор SQL запросов выборки. Чтобы выборка стала "рабочей", т.е. возвращала данные необходимо, как минимум, прописать SQL в разделе SELECT редактора. Для вставки, изменнения и удаления данных необходимо прописать SQL в разделах INSERT, UPDATE и DELETE, соответственно. Если нужно, чтобы после каждого изменения данных, обновлялась текущая редактируемая строка, то необходимо прописать SQL в разделе REFRESH.

  27. Показать форму. Визуализирует выборку и отображает ее в виде простой формы.  Данное действие будет полезно, чтобы на этапе разработки увидеть как будет выглядеть выборка в процессе эксплуатации пользователями.

  28. Права на текущую выборку. В платформу "Эскулап" встроен гибкий и мощный механизм разграничения прав пользователей. Для каждой выборки можно определить каким пользователям или ролям доступны вставка, изменение или удаление данных. Изменение данных может быть условным, т.е. данные можно изменять, если выполняется заданное условие. Правила изменения данных могут быть определены как для всей строки выборки, так и для одного конкретного поля. Все настройки по разграничения прав выборки делаются в форме "Права на текущую выборку".

  29. Список отчетов выборки. При нажатии на данную кнопку откроется окно со списком отчетов, привязанных к выборке. Из этого списка можно удалить отчет или добавить новый. Таким образом, осуществляется привязка отчета и выборки. Если отчет привязан к выборке, то его можно вызвать на просмотр и последующую печать. Диалоговое окно для вызова привязанных к выборке отчетов  открывается нажатием на кнопку принтера (смотрите свойство номер 5).

  30. Визуализация AfterPost. Если выборка входит в состав сложных форм, то в момент сохранения данных этой выборки, можно управлять визуализацией данных других выборок, входящих в состав сложных форм. В этом случае, можно указать, что нужно перечитать текущую строку или весь набор данных.

  31. Входные параметры карточки. Если помимо параметра ключевого идентификатора объекта, в SQL запросе карточки присутсвуют другие параметры, которые нужно передать из выборки, то это можно сделать здесь.

  32. Справка выборки. При нажатии на данную кнопку, открывается специальное окно, с помощью которого, к каждой выборке можно привязать произвольную справочную информацию в формате RTF. В последующем, пользователь может прочитать текст справки, нажав на иконку справки на панели инструментов выборки.

Помимо свойств выборки может понадобится настроить поля и параметры выборки, которые являются  непосредственными ее атрибутами. Также с выборкой можно связать операции и отчеты, которые являются независимыми от нее объектами.