Урок 7. Практика разработки. Часть 4
Сайт: | Система дистанционного обучения ФГБОУ ВО ЮГУ |
Курс: | Тест Глобал |
Книга: | Урок 7. Практика разработки. Часть 4 |
Напечатано:: | Гость |
Дата: | воскресенье, 20 апреля 2025, 08:21 |
Описание
Цель данного урока познакомить слушателя с различными возможностями классов и выборок
1. Сервис универсальных коллекций (v-collection)
Универсальные коллекции – это коллекции, для которых в качестве мастера могут выступать объекты разных классов.
Для изучения смотри:
2. Денормализация классов-деревьев
В нашем случае под денормализацией понимается вспомогательный класс, который обеспечивает более быстрый доступ к данным по иерархичным связям, чем рекурсивные запросы.
Для изучения смотри:
3. Режимы редактирования выборки
Для отображения имеется 3 варианта редактируемости, которые указываются в свойстве отображения editMode
в разметке (файле avm
):
edit
- Разрешено редактирование данных. Можно запретить редактированиеnotEdit
- Запрещено редактирование данных. Можно разрешить редактированиеreadOnly
- Запрещено редактирование данных.
Для редактируемых списков доступна операция allowEdit, которая меняет режим редактирования.
4. Передача параметров в выборку
Передача параметров в выборку – способ передачи данных между выборками, которые не зависят друг от друга. По умолчанию такая передача используется при открытии карточки, в которую передаются id объекта и режим редактирования.
В передаче дополнительных параметров при создании объекта в карточке используется метод insert_Params()
, который можно переопределить для расширения списка параметров без переопределния всего метода создания.
Для изучения смотри:
5. Клонируемые операции
Операции, которые размножаются по результату запроса. Запрос для размножения операции может быть указан в аннотации @Oper
в свойстве cloneQuery
или в разметке в блоке oper
в свойстве cloneQuery
Результат запроса должен содержать поля:
sName – системное имя операции
nImageIndex – номер изображения для операции
sCaption – отображаемое имя операции
Получение значений атрибутов запроса происходит как обычное получение атрибутов через getVar
. Для получения значений атрибутов выборки, откуда была вызвана операция, необходимо добавить super$
к имени атрибута
6. Фильтры
Фильтрация набора данных производится с помощью макроса фильтра, генерируемого на основе условий с признаком isExpression="true"
или непосредственного добавления условия в запрос получения данных. Имя макроса берется из разметки фильтра и подставляется с префиксом &
. Например, для <macros name="DefFltReferenceMacro">
в запрос необходимо подставить &DefFltReferenceMacro
, в котором будет сгенерирован макрос фильтра.
По умолчанию для справочников и классов с группировкой в Dvi
генерируется подстановка макроса фильтра в запрос с помощью prepareSelectStatement
Разметка для фильтров аналогична разметке атрибутов. Атрибуты фильтров выводятся на панели фильтрации и имеют свои собственные сеттеры. По умолчанию для справочников генерируется фильтр «Отображать неиспользуемые». В свойствах фрейма можно отключить отображение панели фильтрации с помощью свойства frame
«filter.isVisible
» (по умолчанию отображение отключено для карточки).
Пример условия для частичного совпадения по тексту
expression="upper(t.sCode) like upper('%'||:flt_sCode||'%')"