1С 8.3: Реализация множественного подбора из справочника в табличной части внешней обработки - ЗУП по зубам - Всё для ЗУП 3.1 на 1С 8.3

1С 8.3: Реализация множественного подбора из справочника в табличной части внешней обработки

Как реализовать множественный подбор из справочника в табличной части внешней обработки в 1С 8.3? С помощью 2 процедур, которые надо добавить в модуль формы вашей обработки. Добавьте табличную часть «Сотрудники» и реквизит «Сотрудник» в табличной части. Создайте форму, разместив на ней табличную часть.

События в табличной части 1С 8.3

На форме в свойствах табличной части укажите процедуры: СотрудникиПередНачаломДобавления и СотрудникиОбработкаВыбора.

&НаКлиенте
Процедура СотрудникиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
	
	Отказ = Истина;
	ПараметрыФормыВыбора = Новый Структура;
	ПараметрыФормыВыбора.Вставить("ЗакрыватьПриВыборе", Истина);
	ПараметрыФормыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина);
	ПараметрыФормыВыбора.Вставить("МножественныйВыбор", Истина);
	ПараметрыФормыВыбора.Вставить("РежимВыбора", Истина);
	
	ОткрытьФорму("Справочник.Сотрудники.ФормаВыбора", ПараметрыФормыВыбора, Элементы.Сотрудники, , , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
	
КонецПроцедуры

&НаКлиенте
Процедура СотрудникиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	Если Не ЗначениеЗаполнено(ВыбранноеЗначение) Или ТипЗнч(ВыбранноеЗначение) <> Тип("Массив") Тогда
		Возврат;
	КонецЕсли;
	
	СтандартнаяОбработка = Ложь;
	
	Для каждого СтрокаВыбранноеЗначение Из ВыбранноеЗначение Цикл
		Найденные = Объект.Сотрудники.НайтиСтроки(Новый Структура("Сотрудник", СтрокаВыбранноеЗначение));
		
		Если Найденные.Количество() > 0 Тогда
			Элементы.Сотрудники.ТекущаяСтрока = Найденные[0].ПолучитьИдентификатор();
		Иначе
			СтрокаТаблицы = Объект.Сотрудники.Добавить();
			СтрокаТаблицы.Сотрудник = СтрокаВыбранноеЗначение;
			ИдентификаторСтроки = СтрокаТаблицы.ПолучитьИдентификатор();
			Элементы.Сотрудники.ТекущаяСтрока = ИдентификаторСтроки;
			
		КонецЕсли;
	КонецЦикла; 
	
КонецПроцедуры

Теперь при нажатии кнопки «Добавить» будет открываться форма выбора справочника «Сотрудники» с возможностью выбрать сразу несколько сотрудников.

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *