При работе со списками на управляемых формах 1С:Предприятия 8.3 разработчики и пользователи часто сталкиваются с ситуацией, когда выделение нескольких строк клавишей Shift или Ctrl не работает так, как в стандартных таблицах: выделяется только одна строка. Разберем причины такого поведения и выясним, как правильно настроить свойства элемента формы в Конфигураторе.
Главная причина путаницы заключается в разграничении двух разных свойств формы:
РежимВыделения) — относится непосредственно к визуальному элементу формы типа Таблица. Это свойство определяет, может ли пользователь физически выделять мышью или клавиатурой сразу несколько строк. Если оно установлено в значение Одиночный, выделить диапазон с зажатой клавишей Shift не получится. Для работы диапазона необходимо установить значение Множественный.МножественныйВыбор) — относится к динамическому списку или форме подбора. Оно регулирует возможность передачи выбранного массива элементов в вызывающую форму, но само по себе не включает интерфейсный режим выделения нескольких строк в таблице.Рассмотрим по шагам, как настроить таблицу управляемой формы для выделения нескольких строк:
Истина.Проанализируем ситуацию, когда в Конфигураторе выставлен множественный режим, но на форме диапазон строк по-прежнему не выделяется мышью:
Посмотрим на пример кода, который позволяет получить массив выбранных пользователем строк во встроенном языке 1С:
МассивВыделенныхСтрок = Элементы.Список.ВыделенныеСтроки;
Для Каждого ИдентификаторСтроки Из МассивВыделенныхСтрок Цикл
// Обработка каждого выделенного элемента
КонецЦикла;
Свойство ВыделенныеСтроки возвращает массив идентификаторов строк таблицы, с которыми дальше можно производить групповые операции.