Загрузка данных



&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)  	
КонецПроцедуры

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

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

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