Подбор с использованием множественного выбора
страницаПодбор с использованием множественного выбора
В режиме «Конфигуратор»
Еще одним способом организации подбора является возможность выделения в списке сразу нескольких строк.
Режим множественного выделения в списке устанавливается, как правило, во всех формах списков по умолчанию.
Однако возможность выбрать сразу несколько элементов из списка по умолчанию, как правило, отключена.
Поэтому для того, чтобы в форме списка справочника Номенклатура можно было не только отметить, но и выбрать сразу несколько элементов, мы снова воспользуемся одним из параметров расширения формы динамического списка - МножественныйВыбор.
В форме документа ПриходнаяНакладная изменим текст обработчика команды Подбор следующим образом (листинг 26.4).
Листинг 26.4. Обработчик нажатия кнопки «Подбор»
&НаКлиенте
Процедура Подбор(Команда)
ПараметрыФормы = Новый Структура("МножественныйВыбор", Истина);
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элементы.Материалы);
КонецПроцедуры
При множественном выборе форма выбора будет возвращать уже не один элемент, а массив элементов.
Поэтому в обработчик события ОбработкаВыбора добавим обход массива переданных элементов (листинг 26.5).
Листинг 26.5. Обработчик события «ОбработкаВыбора» таблицы «Материалы»
&НаКлиенте
Процедура МатериалыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Для Каждого ВыбранныйЭлемент Из ВыбранноеЗначение Цикл
НоваяСтрока = Объект.Материалы.Добавить();
НоваяСтрока.Материал = ВыбранныйЭлемент;
КонецЦикла;
КонецПроцедуры