Tab.MultiSelection

From SunFlurry wiki
Revision as of 12:20, 6 July 2020 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  MultiSelection (Таблица выделения)
Объект:Таблица
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Доступность:Только чтение
Визуальность:Да

Получить таблицу, описывающую все регионы, выделенные пользователем, для визуальных таблиц с возможностью выделения регионов (опция isMultiSelectAllowed в редакторе форм или объекте экранного элемента). Таблица не будет содержать ни одной строки, если таблица не привязана к визуальному объекту, либо в объекте не выбрана ни одна строка. Таблица имеет два столбца с именами BEGLINE и ENDLINE, каждая строка представляет собой отдельный регион выделения, регионы могут пересекаться, проверка уникальности строк в регионах не ведется.

Синтаксис

Tab.MultiSelection:<Таблица с выбранными регионами (TAB)>

Возвращаемое значение

Возвращает таблицу, перечисляющую все текущие выделенные регионы таблицы.

Примеры

//Фрагмент, подсчитывающий сумму всех столбиков "масса" в выделенных строках.
//Фрагмент также показывает, как можно обойти проблему пересекающихся регионов.
If Таб.SelectedLine=0 Then
  Exit;
EndIf;
aTab:=Таб.MultiSelection;
Чл:=0;
aList:=List.Create();
aTab.Select();
While aTab.Next() Do
  aBeg:=aTab.BegLine;
  aEnd:=aTab.EndLine;
  For i:=aBeg To aEnd Do
    If aList.Find(i)=0 Then
      aList.Add(i);
      If i<=Таб.Size() Then
        Чл:=Чл+Таб.Get(i,"Масса");
      EndIf;  
    EndIf;
  EndDo;
EndDo;
Message("Результат: "+Чл);