Выделение (SELECT)
Операторы выделения создают свойства, сообщающие о выделении пользователем строк и колонок в группе объектов:
- свойство набора объектов возвращает
TRUE, если этот набор сейчас выделен (отмечен) пользователем в группе, иNULLв противном случае; - свойство группы в целом возвращает
TRUE, если пользователь выделил в группе строки, иNULLв противном случае; - свойство колонки возвращает
TRUE, если эта колонка сейчас выделена пользователем, иNULLв противном случае.
Пока пользователь не выделил ни одной строки, свойство набора объектов возвращает TRUE для текущей строки группы объектов; когда выделение появилось - для выделенных строк, прошедших все критерии фильтрации на форме. Выделенные строки задаются диапазоном в текущем порядке группы объектов, поэтому при изменении порядка набор выделенных строк пересчитывается. Колонка, в которой находится текущая ячейка, считается выделенной.
Язык
Для объявления этих свойств используются операторы SELECT, SELECT ACTIVE и SELECT PROPERTY.
Примеры
CLASS Store;
name = DATA STRING[100] (Store);
FORM stores
OBJECTS s = Store
PROPERTIES(s) name
;
selectedCount 'Количество выделенных складов' () = GROUP SUM 1 IF [ SELECT stores.s](Store s);
selectActive 'Выделение задано' () = [ SELECT ACTIVE stores.s]();
nameSelected 'Свойство name выделено' () = [ SELECT PROPERTY stores.name(s)]();