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