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