Урок 7. Практика разработки. Часть 4
| Сайт: | Система дистанционного обучения ФГБОУ ВО ЮГУ |
| Курс: | Тест Глобал |
| Книга: | Урок 7. Практика разработки. Часть 4 |
| Напечатано:: | Гость |
| Дата: | пятница, 31 октября 2025, 00:10 |
Описание
Цель данного урока познакомить слушателя с различными возможностями классов и выборок
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||'%')"