Руководство по настройке altAwin:Пользовательские представления
Пользовательские представления
В подразделе Пользовательские представления осуществляется создание и настройка нестандартных представлений документов в дополнение к изначально существующим. При настройке пользовательского представления задаётся содержание и внешний вид записей таблицы, а также устанавливаются правила для работы с ними в интерактивном режиме.
Работа с документом «Пользовательское представление»
Создание документа осуществляется стандартным способом. В диалоговом окне документа «Пользовательское представление» расположено 6 вкладок:
- Общие данные;
- Запрос;
- Правила;
- Поля;
- Действия;
- Доступ.
Вкладка «Общие данные»
На вкладке Общие данные определяются основные настройки для пользовательского представления:
- Наименование — название пользовательского представления.
- Имя соединения — наименование подключения к БД; выбирается из числа настроенных средствами Менеджера конфигурация или задаётся произвольным образом. Если соединение не указано, то для подключения к БД используется основное. Если указанного соединения не существует, то пользовательское представление не будет открываться, хотя останется возможность его редактировать и сохранять.
- Описание — текстовое описание (сущность, назначение) пользовательского представления.
- графические изображения для визуальной идентификации пользовательского представления размером 16×16 и 32×32 пикселей соответственно. Используются в качестве иконки формы редактирования и навигационных элементов интерфейса приложения (главное меню, навигационная панели и «быстрый запуск»).
- Раздел — раздел, в котором будет отображаться данное представление. Можно выбрать один из существующих разделов altAwin или оставить поле пустым, в таком случае созданное представление будет отображаться в разделе Пользовательские представления.
- Доступно дилеру — флаговый переключатель управляет возможностью сохранения данного пользовательского представления при экспорте настроек в удалённый офис. Пользовательские представления, полученные из основного офиса, будут доступны дилеру только для чтения.
Вкладка «Запрос»
На вкладке Запрос производится задание SELECT запроса к базе данных, на основании которого будет формироваться таблица представления.
В текстовом поле отображается текст SQL-запроса, по результатам которого производится формирование представления в настоящий момент, сюда можно ввести новый текст SQL-запроса при создании нового представления или необходимости изменить заданный. При нажатии на кнопку Применить запрос выполняется и, в случае успеха, в нижнем информационно поле отображается статус «Запрос выполнен», а в таблице в нижней части окна выводятся полученные в результате запроса данные.
Использование макросов для подзапросов
Для создания сложных запросов, включающих подзапросы с указанными "WHERE" и/или "ORDER BY" используются следующие макросы: %WHERECLAUSE%, %WHERECLAUSEVALUE%, %ORDERBYCLAUSE%, %ORDERBYCLAUSEVALUE%.
Данные макросы применяются при задании фильтрации/сортировки/группировки данных в ПП:
- %WHERECLAUSE% — врезание в конечный запрос строки вида "WHERE X=Y"
- %WHERECLAUSEVALUE% — врезание в конечный запрос строки вида "AND X=Y"
- %ORDERBYCLAUSE% — врезание в конечный запрос строки вида "ORDER BY "
- %ORDERBYCLAUSEVALUE% — врезание в конечный запрос строки вида ", X"
К примеру, есть запрос:
SELECT orderid,
orderno || '_suffix' suffixedorderno
FROM orders
При фильтрации представления, например, по полю name (name = 'test') программа сгенерирует запрос вида:
SELECT id,
name
FROM
(SELECT orderid,
orderno
FROM orders
WHERE orderid < 100
AND name = 'test')
который, соответственно, не выполнится из-за отсутствия поля name в таблице orders. Для корректной генерации запроса необходимо его переписать:
SELECT id,
name
FROM
(SELECT orderid,
orderno
FROM orders
WHERE orderid < 100)
%whereclause%
в результате чего программа будет генерировать правильный запрос вида:
SELECT id,
name
FROM
(SELECT orderid,
orderno
FROM orders
WHERE orderid < 100)
WHERE name = 'test'
Вкладка «Правила»
На вкладке Правила производится определение правил выполнения типовых действий с элементами, выводимыми в представлении.
На вкладке содержится четыре ссылочных поля, связываемых со скриптами:
- Создание — скрипт, выполняемый при попытке создания записи в пользовательском представлении.
- Дублирование — скрипт, выполняемый при дублирования записи в пользовательском представлении. В скрипт передаётся массив выделенных записей SelectedRecords.
- Открытие — скрипт, выполняемый при попытке открытия записи в пользовательском представлении.
- Удаление — скрипт, выполняемый при попытке удаления записи в пользовательском представлении.
При нажатии на кнопку … соответствующего поля открывается окно редактора скриптов, где требуется записать код на языке FastScript, который будет выполняться всякий раз при попытке создать, открыть или удалить запись из представления.
При работе со скриптами внутри документов пользовательских представлений для использования доступна переменная SelectedRecords:Variant, в которую передаётся список выделенных элементов представления.
begin
d := SelectedRecords;
for i := 0 to length(d) — 1 do
begin
r := d[i];
ShowMessage(r.value['COLORID']);
end;
end;
Вкладка «Поля»
На вкладке «Поля» задаётся перечень доступных в представлении полей.
В отображаемой на вкладке таблице перечислены все поля, полученные в результате выполнения указанного на вкладке Запрос SQL-запроса. Переключатель Видимость у каждого поля определяет, будет ли выбранное поле отображаться в представлении. Кнопками в боковой панели инструментов можно изменить порядок следования полей, а также изменить состояние маркера видимости сразу для всех отобранных полей. В колонке Наименование задаётся русскоязычное название поля для отображения в представлении, в колонке Источник — название поля из результата SQL-запроса, в колонке Поле — идентификатор поля представления.
Для запросов, в которых вычисляются значения или переназначаются имена колонок, необходимо указывать источник для них. Например, для запроса:
SELECT orderid,
orderno || '_suffix' suffixedorderno
FROM orders
при создании фильтра по полю suffixedorderno (suffixedorderno like '%1%'), программа сгенерирует запрос вида:
SELECT orderid,
orderno || '_suffix' suffixedorderno
FROM orders
WHERE suffixedorderno LIKE '%1%'
в результате выполнения которого sql-сервер вернет ошибку "Column unknown."
Во избежание данной ошибки необходимо для поля suffixedorderno установить значение поля Источник равным orderno
это приведёт сгенерированный запрос к виду:
SELECT orderid,
orderno || '_suffix' suffixedorderno
FROM orders
WHERE orderno || '_suffix' LIKE '%1%'
Если среди полей с установленным флагом видимости присутствует поле DELETED, то в представлении в контекстном меню будет доступен пункт Показать удалённые, управляющий отображением записей с данным флагом.
Вкладка «Действия»
На вкладке Действия производится определение действий, доступных для вызова пользователем из панели инструментов и контекстного меню пользовательского представления. Порядок следования пунктов контекстного меню и пиктограмм действий определяется их последовательностью в таблице и может быть изменён при помощи соответствующих кнопок панели инструментов вкладки Действия.
В основе действий также лежат сценарии Fastscript.
- Идентификатор — уникальный идентификатор определяемого действия;
- Наименование — русскоязычное название определяемого действия;
- Скрипт — ссылка на сценарий FastScript, определяющий сущность выполняемого действия;
- Пиктограмма — миниатюрное графическое изображения для кнопки действия на панели инструментов.
Вкладка «Доступ»
На вкладке Доступ производится определение, кому из сотрудников и каким подразделениям будет доступно данное пользовательское представление.
Для добавления сотрудника или подразделение в список разрешённых предназначены соответствующие команды панели инструментов вкладки и контекстного меню.
Отображение пользовательских представлений
Сформированные пользовательские представления отображаются в соответствующем разделе приложения. Раздел Пользовательские представления будет виден в том случае, если есть хотя бы одно активное пользовательское представление.
В левой части пользовательского представления отображается дерево фильтров, которое функционально идентично аналогичному дереву фильтров для регулярных представлений и настраивается соответствующим образом. (см. Руководство пользователя altAwin:Правила работы с фильтрами). В верхней части пользовательского представления отображается поле быстрого фильтра, также работающее аналогично регулярным представлениям.
В нижней части таблицы пользовательского представления отображается строка суммирования числовых данных по колонкам выбранных записей.
Экспорт и импорт пользовательских представлений
Существует возможность экспорта документов пользовательских представлений во внешний файл для возможности последующего импорта в другую установку altAwin. Вместе с пользовательскими представлениями дополнительно экспортируются связанные скрипты и пользовательские диалоги. Для экспорта следует воспользоваться кнопкой "Экспорт", расположенной на панели инструментов представления "Пользовательские представления".
Импорт пользовательских представлений осуществляется при помощи кнопки "Экспорт", также расположенной на панели инструментов представления "Пользовательские представления".
Экспорт и импорт пользовательских представлений доступен под учётной записью администратора |