584 документа
← К списку

В 1C:EDT

страница

Подбор с использованием множественного выбора

В 1C:EDT

Еще одним способом организации подбора является возможность выделения в списке сразу нескольких строк.

Режим множественного выделения в списке устанавливается, как правило, во всех формах списков по умолчанию.

Однако возможность выбрать сразу несколько элементов из списка по умолчанию, как правило, отключена.

Поэтому, чтобы в форме списка справочника Номенклатура можно было не только отметить, но и выбрать сразу несколько элементов, вы снова воспользуетесь одним из параметров расширения формы динамического списка – МножественныйВыбор.

В форме документа ПриходнаяНакладная измените текст обработчика команды Подбор следующим образом (листинг 27.4).

Листинг 27.4. Обработчик команды «Подбор»

&НаКлиенте

Процедура Подбор(Команда)

 

ПараметрыФормы = Новый Структура("МножественныйВыбор", Истина);

ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элементы.Материалы);

 

КонецПроцедуры

При множественном выборе форма выбора будет возвращать уже не один элемент, а массив элементов.

Поэтому в обработчик события ОбработкаВыбора() добавьте обход массива переданных элементов (листинг 27.5).

Листинг 27.5. Обработчик события «ОбработкаВыбора» таблицы «Материалы»

&НаКлиенте

Процедура МатериалыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

 

Для Каждого ВыбранныйЭлемент Из ВыбранноеЗначение Цикл

НоваяСтрока = Объект.Материалы.Добавить();

НоваяСтрока.Материал = ВыбранныйЭлемент;

 

КонецЦикла;

 

КонецПроцедуры