Определяет, имеется ли в данной коллекции выделенных строк указанная строка табличного поля.
Синтаксис
Содержит(<Строка>)Полное описание, параметры и ограничения
ВыделенныеСтрокиТабличногоПоля.Содержит (TableBoxSelectedRows.Contains)
ВыделенныеСтрокиТабличногоПоля (TableBoxSelectedRows)
Содержит (Contains)
Доступен, начиная с версии 8.0.
Синтаксис:
Содержит(<Строка>)
Параметры:
<Строка> (обязательный)
Строка табличного поля, наличие которой определяется в коллекции выделенных строк.
Возвращаемое значение:
Тип: Булево.
Описание:
Определяет, имеется ли в данной коллекции выделенных строк указанная строка табличного поля.
Доступность:
Толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Выделить две строки, снять одно выделение и очистить
Коллекция выделенных строк содержит объекты собственных строк, а не копию таблицы данных. Проверяем, что снятие выделения не удаляет товары.
Где и как запускать
Модуль новой обычной формы внешней обработки. Только толстый клиент, обычные формы; не серверный модуль и не управляемая форма.
Подготовка
Это обычная форма, не управляемая: используйте толстый клиент с обычными формами в отдельной учебной базе. Создайте новую внешнюю обработку, обычную форму и её реквизит Товары типа ТаблицаЗначений. Рабочие документы и справочники не нужны.
В редакторе формы добавьте табличное поле ТаблицаТоваров, свойство Данные свяжите с реквизитом Товары. Добавьте обычную кнопку УчебнаяКоманда, её действие свяжите с процедурой УчебнаяКоманда. ПриОткрытии свяжите с одноимённым событием формы.
Каждый урок — отдельный полный модуль этой учебной формы. Он заново создаёт в памяти Книгу (3) и Ручку (1), а СоздатьКолонки удаляет прежние колонки только своего табличного поля. Не вставляйте код в рабочую форму с настроенными колонками.
Откройте форму, затем нажмите учебную кнопку. Изменения данных и оформления относятся только к реквизиту внешней обработки в памяти. Здесь нет Записать, обращения к рабочим данным или проверки интерфейса реальной УТ 10.3.
Процедура ПриОткрытии()
Товары = Новый ТаблицаЗначений;
Товары.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Товары.Колонки.Добавить("Выбран", Новый ОписаниеТипов("Булево"));
Книга = Товары.Добавить();
Книга.Код = "A-01";
Книга.Наименование = "Книга";
Книга.Количество = 3;
Книга.Выбран = Ложь;
Ручка = Товары.Добавить();
Ручка.Код = "B-02";
Ручка.Наименование = "Ручка";
Ручка.Количество = 1;
Ручка.Выбран = Ложь;
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Таблица.СоздатьКолонки();
Таблица.АвтоВводНовойСтроки = Ложь;
Если Товары.Количество() <> 2 Тогда
ВызватьИсключение "Ожидались два собственных учебных товара";
КонецЕсли;
Таблица.ТекущаяСтрока = Товары[0];
Таблица.РежимВыделения = РежимВыделенияТабличногоПоля.Множественный;
КонецПроцедуры
Процедура УчебнаяКоманда(Кнопка)
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Выделенные = Таблица.ВыделенныеСтроки;
Выделенные.Очистить();
Выделенные.Добавить(Товары[0]);
Выделенные.Добавить(Товары[1]);
Если Выделенные.Количество() <> 2 Тогда
ВызватьИсключение "Ожидались две выделенные учебные строки";
КонецЕсли;
Сообщить(Выделенные.Содержит(Товары[0]));
Сообщить(Выделенные.Получить(0) <> Неопределено);
Выделенные.Удалить(Товары[1]);
Сообщить(Выделенные.Количество() = 1);
Сообщить(Не Выделенные.Содержит(Товары[1]));
Выделенные.Очистить();
Сообщить(Выделенные.Количество() = 0);
Сообщить(Товары.Количество() = 2 И Товары.Итог("Количество") = 4);
КонецПроцедурыРазбор по шагам
Множественный режим допускает выделение нескольких строк.
Сначала очищаем только выделение своей формы, затем добавляем две существующие строки.
Количество проверено до Получить(0). Содержит ищет объект строки, не её наименование.
Удалить получает строку Ручка, не индекс 1.
После Очистить выделений 0, но товаров осталось 2 и количество 4.
Как проверить результат
Шесть сообщений Истина.
Повторное нажатие выполняет тот же цикл без накопления выделений.
Ожидаемый результат
Жизненный цикл выделения отделён от удаления данных.
На что обратить внимание
Свойство ВыделенныеСтроки нельзя подменить другим массивом, но его коллекцию можно изменять.
Код работает с собственными строками таблицы значений; идентификаторы другого источника данных могут иметь иной тип.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.