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