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