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