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