Соглашения об условиях закупок / Форма элемента / Модуль формы

файл
#Область ОписаниеПеременных

&НаКлиенте
Перем КэшированныеЗначения; //используется механизмом обработки изменения реквизитов ТЧ

#КонецОбласти

#Область ОбработчикиСобытийФормы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	УстановитьУсловноеОформление();
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;

	ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);

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

	// СтандартныеПодсистемы.РаботаСФайлами
	ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
	ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
	РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	УстановитьВидимостьОплатаВВалюте();
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.Свойства
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)

	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.УправлениеДоступом
	
	ПриЧтенииСозданииНаСервере();
	
	УправлениеСвойствами.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

	МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
	
	ДоставкаТоваров.ПриЧтенииСозданииРаспоряженийНаСервере(Элементы, Объект);
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	Если ТекущийОбъект.ИспользоватьУказанныеАгентскиеУслуги = Ложь Тогда
		ТекущийОбъект.АгентскиеУслуги.Очистить();
	КонецЕсли;	
	
	// Обработчик механизма "Свойства"
	УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтаФорма, ТекущийОбъект);

	МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтаФорма, Отказ, ТекущийОбъект, ПараметрыЗаписи);

	// ИнтеграцияС1СДокументооборотом
	ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
	// Конец ИнтеграцияС1СДокументооборотом
	
КонецПроцедуры

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)

	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
	// Конец СтандартныеПодсистемы.УправлениеДоступом
	
	УстановитьДоступностьЭлементовПоСтатусуСервер();
	
	МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект, ПараметрыЗаписи);

КонецПроцедуры

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
	
	Оповестить("Запись_СоглашенияСПоставщиками",ПараметрыЗаписи,Объект.Ссылка);
	
	Если ОбновитьИнтерфейс Тогда
		ОбновитьИнтерфейс = Ложь;
		ОбновитьИнтерфейс();
	КонецЕсли;

	МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтаФорма, ПараметрыЗаписи);
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
		МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
		МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

КонецПроцедуры

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

КонецПроцедуры

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
	
	Если ИсточникВыбора.ИмяФормы = "ОбщаяФорма.ПодборАгентскихУслуг" Тогда
		Модифицированность = Истина;
		ОбновитьУслугиПоОтборуНаСервере(ВыбранноеЗначение);
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура СпособМестоДоставкиПеревозчикПриИзменении(Элемент)
	
	ЗаполнитьУстановитьРеквизитыДоставкиСервер(Элемент.Имя);
	
КонецПроцедуры

&НаКлиенте
Процедура АдресДоставкиПриИзменении(Элемент)
	
	ИменаРеквизитовАдресовДоставки = ДоставкаТоваровКлиентСервер.ИменаРеквизитовАдресовДоставки(
																		ПолучитьИмяРеквизитаАдресаДоставки(Элемент));
	
	ДоставкаТоваровКлиент.ПриИзмененииПредставленияАдреса(
		Элемент,
		Объект[ИменаРеквизитовАдресовДоставки.ИмяРеквизитаАдресаДоставки],
		Объект[ИменаРеквизитовАдресовДоставки.ИмяРеквизитаАдресаДоставкиЗначенияПолей]);
	
КонецПроцедуры

&НаКлиенте
Процедура АдресДоставкиОчистка(Элемент, СтандартнаяОбработка)
	
	АдресДоставкиПриИзменении(Элемент);
	
КонецПроцедуры

&НаКлиенте
Процедура АдресДоставкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ИменаРеквизитовАдресовДоставки = ДоставкаТоваровКлиентСервер.ИменаРеквизитовАдресовДоставки(
																		ПолучитьИмяРеквизитаАдресаДоставки(Элемент));
	
	ДоставкаТоваровКлиент.ОткрытьФормуВыбораАдресаИОбработатьРезультат(
		Элемент,
		Объект,
		ИменаРеквизитовАдресовДоставки,
		СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура АдресДоставкиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	АдресДоставкиПриИзменении(Элемент);
	
	ДоставкаТоваровКлиент.АдресДоставкиОбработкаВыбора(Элементы, Объект, Элемент.Имя, ВыбранноеЗначение);
	
	Модифицированность = Истина;
	
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьИмяРеквизитаАдресаДоставки(Элемент)
	
	Если СтрНайти(Элемент.Имя, "АдресДоставкиПеревозчика") > 0 Тогда
		ИмяРеквизитаАдреса = "АдресДоставкиПеревозчика";
	Иначе
		ИмяРеквизитаАдреса = "АдресДоставки";
	КонецЕсли;
	
	Возврат ИмяРеквизитаАдреса;
	
КонецФункции

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ПартнерПриИзменении(Элемент)
	
	Объект.АгентскиеУслуги.Очистить();
	ОбновитьВидимостьАгентскихУслуг();
	
	Если Не ЗначениеЗаполнено(Объект.Партнер) Тогда
		Возврат;
	КонецЕсли;
	
	ПриИзмененииПартнераСервер();

КонецПроцедуры

&НаКлиенте
Процедура СтатусПриИзменении(Элемент)
	
	Если СтатусСоглашения <> Объект.Статус
		И Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто") 
		И (Объект.ДатаОкончанияДействия > НачалоДня(ОбщегоНазначенияКлиент.ДатаСеанса()) 
			ИЛИ НЕ ЗначениеЗаполнено(Объект.ДатаОкончанияДействия))Тогда
			
		Если Объект.ДатаОкончанияДействия > НачалоДня(ОбщегоНазначенияКлиент.ДатаСеанса()) Тогда
			ТекстВопроса = НСтр("ru='При закрытии соглашения необходимо, чтобы дата окончания действия соответствовала дате закрытия.
				|Скорректировать дату окончания действия?'");
		Иначе
			ТекстВопроса = НСтр("ru='При закрытии соглашения необходимо, чтобы дата окончания действия была заполнена.
				|Скорректировать дату окончания действия?'");
		КонецЕсли;
		ПоказатьВопрос(Новый ОписаниеОповещения("СтатусПриИзмененииЗавершение", ЭтотОбъект), ТекстВопроса, РежимДиалогаВопрос.ДаНет);
		Возврат;
		
	КонецЕсли;
	
	СтатусПриИзмененииФрагмент();
КонецПроцедуры

&НаКлиенте
Процедура ХозяйственнаяОперацияПриИзменении(Элемент)
	
	ПриИзмененииХозяйственнойОперацииСервер();
	
КонецПроцедуры

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

&НаКлиенте
Процедура СпособРасчетаВознагражденияПриИзменении(Элемент)
	
	СпособРасчетаВознагражденияПриИзмененииСервер();
	
КонецПроцедуры

&НаКлиенте
Процедура ИспользуютсяДоговорыКонтрагентовПриИзменении(Элемент)
	
	Объект.ИспользуютсяДоговорыКонтрагентов = Булево(ИспользуютсяДоговорыКонтрагентов);
	
	НастроитьЭлементыДоговорыКонтрагентовИПорядокРасчетов();
	ЗаполнитьПорядокРасчетов();
	УстановитьВидимостьОплатаВВалюте();
	
КонецПроцедуры

&НаКлиенте
Процедура СкладПриИзменении(Элемент)
	
	УстановитьВидимостьВариантаОформленияПриходныхОрдеровНаТовары();
	
КонецПроцедуры

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

	ОткрытьФорму("Справочник.СоглашенияСПоставщиками.Форма.ФормаОплаты", ПараметрыФормы, ЭтаФорма,,,, Новый ОписаниеОповещения("НадписьОплатаНажатиеЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
	
КонецПроцедуры

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

КонецПроцедуры

&НаКлиенте
Процедура ВозвращатьМногооборотнуюТаруПриИзменении(Элемент)
	
	Если Не Объект.ВозвращатьМногооборотнуюТару Тогда
		Объект.ТребуетсяЗалогЗаТару = Ложь;
	КонецЕсли;
	
	ОбновитьДоступностьЭлементовВозвратнойТары(ЭтаФорма);
	
КонецПроцедуры

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

КонецПроцедуры

&НаКлиенте
Процедура ПерейтиВсеУслугиНажатие(Элемент)
	ПараметрыФормы = Новый Структура("УникальныйИдентификатор, Принципал, ЭтоПодбор",
							УникальныйИдентификатор, Объект.Партнер, Ложь);
	ОткрытьФорму("ОбщаяФорма.ПодборАгентскихУслуг", ПараметрыФормы, ЭтаФорма);
КонецПроцедуры

&НаКлиенте
Процедура ПерейтиВыбранныеУслуги(Элемент)
	АдресВХранилище = ПоместитьУслугиВХранилище(
			Объект.АгентскиеУслуги,
			УникальныйИдентификатор);

	ПараметрыФормы = Новый Структура("УникальныйИдентификатор, Принципал, ЭтоПодбор",
						АдресВХранилище, Объект.Партнер, Истина);
	ОткрытьФорму("ОбщаяФорма.ПодборАгентскихУслуг", ПараметрыФормы, ЭтаФорма);
КонецПроцедуры

&НаКлиенте
Процедура ТипыУслугПриИзменении(Элемент)
	ОбновитьВидимостьАгентскихУслуг();
КонецПроцедуры

&НаКлиенте
Процедура КонтрагентПриИзменении(Элемент)
	
	Объект.АгентскиеУслуги.Очистить();
	ОбновитьВидимостьАгентскихУслуг();
	
КонецПроцедуры

&НаКлиенте
Процедура ВалютаВзаиморасчетовПриИзменении(Элемент)
	
	ЗаполнитьОплатуВВалютеГруппуФинансовогоУчета(
		Объект.Организация,
		Объект.ВалютаВзаиморасчетов,
		Объект.ОплатаВВалюте,
		Объект.ГруппаФинансовогоУчета,
		Объект.ИспользуютсяДоговорыКонтрагентов,
		Объект.ХозяйственнаяОперация);
	УстановитьВидимостьОплатаВВалюте();
		
КонецПроцедуры

&НаКлиенте
Процедура СтатусПриИзмененииЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
	
	Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
		
		Объект.ДатаОкончанияДействия = НачалоДня(ОбщегоНазначенияКлиент.ДатаСеанса());
		
	КонецЕсли;
	
	СтатусПриИзмененииФрагмент();
	
КонецПроцедуры

&НаКлиенте
Процедура СтатусПриИзмененииФрагмент()
	
	СтатусСоглашения = Объект.Статус;
	
	Если Объект.Согласован
		И Объект.Статус <> ПредопределенноеЗначение("Перечисление.СтатусыСоглашенийСПоставщиками.Действует")
		И Объект.Статус <> ПредопределенноеЗначение("Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто") Тогда
		
		Объект.Согласован = Ложь;
		
	КонецЕсли;
	
	УстановитьДоступностьЭлементовПоСтатусуСервер();
КонецПроцедуры

&НаКлиенте
Процедура ОплатаВВалютеПриИзменении(Элемент)
	
	ЗаполнитьГруппуФинансовогоУчета(Объект.Организация, Объект.ВалютаВзаиморасчетов, Объект.ХозяйственнаяОперация, Объект.ГруппаФинансовогоУчета);
	
КонецПроцедуры

&НаКлиенте
Процедура РазбиватьОтчетПоДокументамПриИзменении(Элемент)
	Объект.РазбиватьОтчетПоДокументам = РазбиватьОтчет;
	Если РазбиватьОтчет Тогда
		ИспользуютсяДоговорыКонтрагентов = 1;
		Объект.ИспользуютсяДоговорыКонтрагентов = Истина;
	КонецЕсли;
	НастроитьЭлементыДоговорыКонтрагентовИПорядокРасчетов();
	
КонецПроцедуры

&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
	ВалютаРегламентированногоУчета = ЗначениеНастроекКлиентСерверПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
	УстановитьВидимостьОплатаВВалюте();
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
	 РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
	 РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// Конец СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки

&НаКлиенте
Процедура УстановитьИнтервалВыполнить(Команда)
	
	ОбщегоНазначенияУТКлиент.РедактироватьПериод(Объект, 
		Новый Структура("ДатаНачала, ДатаОкончания", "ДатаНачалаДействия", "ДатаОкончанияДействия"));
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_СвойстваВыполнитьКоманду(ЭлементИлиКоманда, НавигационнаяСсылка = Неопределено, СтандартнаяОбработка = Неопределено)
	УправлениеСвойствамиКлиент.ВыполнитьКоманду(ЭтотОбъект, ЭлементИлиКоманда, СтандартнаяОбработка);
КонецПроцедуры

// ИнтеграцияС1СДокументооборотом
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)
	
	ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиент.ВыполнитьПодключаемуюКомандуИнтеграции(Команда, ЭтотОбъект, Объект);
	
КонецПроцедуры
// Конец ИнтеграцияС1СДокументооборотом

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

// СтандартныеПодсистемы.Свойства

&НаКлиенте
Процедура ОбновитьЗависимостиДополнительныхРеквизитов()
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПриИзмененииДополнительногоРеквизита(Элемент)
	УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
КонецПроцедуры

// Конец СтандартныеПодсистемы.Свойства

&НаСервере
Процедура УстановитьУсловноеОформление()

	УсловноеОформление.Элементы.Очистить();

	//

	Элемент = УсловноеОформление.Элементы.Добавить();

	ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ДатаНачалаДействия.Имя);

	ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Регулярное");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ОтборЭлемента.ПравоеЗначение = Истина;

	ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ДатаНачалаДействия");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
	Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина);

	//
	
	Элемент = УсловноеОформление.Элементы.Добавить();

	ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Организация.Имя);

	ГруппаОтбораИ = Элемент.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбораИ.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;

	ОтборЭлемента = ГруппаОтбораИ.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Организация");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
	ОтборЭлемента.ПравоеЗначение = Истина;
	
	ОтборЭлемента = ГруппаОтбораИ.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ХозяйственнаяОперация");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ОтборЭлемента.ПравоеЗначение = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ОказаниеАгентскихУслуг");

	ОтборЭлемента = ГруппаОтбораИ.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Статус");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
	СписокЗначений = Новый СписокЗначений;
	СписокЗначений.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыСоглашенийСПоставщиками.Действует"));
	СписокЗначений.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто"));
	ОтборЭлемента.ПравоеЗначение = СписокЗначений;
	
	Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина); 
	
	//
	
	Элемент = УсловноеОформление.Элементы.Добавить();

	ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Организация.Имя);

	ГруппаОтбораИ = Элемент.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбораИ.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;

	ОтборЭлемента = ГруппаОтбораИ.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Организация");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
	ОтборЭлемента.ПравоеЗначение = Истина;
	
	ГруппаОтбораИЛИ = ГруппаОтбораИ.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбораИЛИ.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИЛИ;
	
	ОтборЭлемента = ГруппаОтбораИЛИ.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ХозяйственнаяОперация");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
	ОтборЭлемента.ПравоеЗначение = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ОказаниеАгентскихУслуг");

	ОтборЭлемента = ГруппаОтбораИЛИ.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Статус");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке;
	СписокЗначений = Новый СписокЗначений;
	СписокЗначений.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыСоглашенийСПоставщиками.Действует"));
	СписокЗначений.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто"));
	ОтборЭлемента.ПравоеЗначение = СписокЗначений;
	
	Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь); 
	
	//
	
	Элемент = УсловноеОформление.Элементы.Добавить();

	ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Организация.Имя);

	ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Организация");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
	ОтборЭлемента.ПравоеЗначение = Истина;
	
	Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь); 
	
КонецПроцедуры

#Область ПриИзмененииРеквизитов

&НаСервере
Процедура ПриИзмененииПартнераСервер()
	
	СправочникОбъект = РеквизитФормыВЗначение("Объект");
	СправочникОбъект.ЗаполнитьРеквизитыПоУмолчанию();
	ЗначениеВРеквизитФормы(СправочникОбъект, "Объект");
	
	ЗаполнитьУстановитьРеквизитыДоставкиСервер("Партнер");


КонецПроцедуры

&НаСервере
Процедура ПриИзмененииХозяйственнойОперацииСервер()

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

#КонецОбласти

#Область Прочее

&НаСервере
Процедура ПриЧтенииСозданииНаСервере()
	
	СтатусСоглашения = Объект.Статус;
	РассчитыватьДатуВозвратаТарыПоКалендарю = Число(Объект.РассчитыватьДатуВозвратаТарыПоКалендарю);
	
	ИспользоватьЗаказыПоставщикам = ПолучитьФункциональнуюОпцию("ИспользоватьЗаказыПоставщикам");
	
	//++ Локализация
	ИспользоватьВыплатыСамозанятым = ПолучитьФункциональнуюОпцию("ИспользоватьВыплатыСамозанятым");
	//-- Локализация
	
	УстановитьДоступностьЭлементовПоСтатусуСервер();
	УстановитьВидимостьЭлементовПоОперацииСервер();
	УстановитьОтметкуНезаполненногоВидаЦеныПоставщика();
	УстановитьВидимостьВариантаОформленияПриходныхОрдеровНаТовары();
	НадписьОплата = ЭтапыОплатыКлиентСервер.НадписьЭтапыОплатаДляСоглашений(ЭтаФорма);
	ИспользуютсяДоговорыКонтрагентов = Число(Объект.ИспользуютсяДоговорыКонтрагентов);
	НастроитьЭлементыДоговорыКонтрагентовИПорядокРасчетов();
	ОбновитьДоступностьЭлементовВозвратнойТары(ЭтаФорма);
	РассчитатьКоличествоАгентскихУслуг();
	УстановитьВидимостьАгентскихУслуг();
	УстановитьПараметрыВыбораСтатьиДвиженияДенежныхСредств();
	
КонецПроцедуры

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

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

&НаСервере
Процедура УстановитьОтметкуНезаполненногоВидаЦеныПоставщика()
	
	Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаХранениеСПравомПродажи Тогда
		Элементы.ВидЦенПоставщика.АвтоОтметкаНезаполненного = Истина;
	Иначе
		Элементы.ВидЦенПоставщика.АвтоОтметкаНезаполненного = Ложь;
		Элементы.ВидЦенПоставщика.ОтметкаНезаполненного = Ложь;
	КонецЕсли;

КонецПроцедуры

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

&НаСервере
Процедура ОбновитьЭлементыДополнительныхРеквизитов()
	
	УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтаФорма);
	
КонецПроцедуры

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

&НаСервере
Функция ПоместитьВоВременноеХранилищеНаСервере()
	
	Возврат ПоместитьВоВременноеХранилище(Объект.ЭтапыГрафикаОплаты.Выгрузить());
	
КонецФункции

&НаСервере
Процедура ЗаполнитьЭтапыОплатыИзВременногоХранилищаСервер(АдресВоВременномХранилище)
	
	ЭтапыОплаты = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);
	
	Для Каждого ТекСтрока Из ЭтапыОплаты Цикл
		НоваяСтрока = Объект.ЭтапыГрафикаОплаты.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтрока);
	КонецЦикла;
	
КонецПроцедуры

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
	
	// СтандартныеПодсистемы.Свойства
	УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтаФорма, Отказ, ПроверяемыеРеквизиты);
	// Конец СтандартныеПодсистемы.Свойства
	
	Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаХранениеСПравомПродажи Тогда
		
		Для Каждого ЭтапГрафикаОплаты Из Объект.ЭтапыГрафикаОплаты Цикл
			
			Если ЭтапГрафикаОплаты.ВариантОплаты <> Перечисления.ВариантыКонтроляОплатыПоставщику.КредитСдвиг
				И ЭтапГрафикаОплаты.ВариантОплаты <> Перечисления.ВариантыКонтроляОплатыПоставщику.КредитПослеПоступления Тогда
				
				ТекстОшибки = НСтр("ru='Вариант контроля оплаты ""%ВариантОплаты%"" нельзя использовать'") + Символы.ПС;
				ТекстОшибки = ТекстОшибки + НСтр("ru='при установленной хозяйственной операции ""Прием на хранение с правом продажи""'");
				ТекстОшибки = СтрЗаменить(ТекстОшибки, "%ВариантОплаты%", ЭтапГрафикаОплаты.ВариантОплаты);
				
				ОбщегоНазначения.СообщитьПользователю(
					ТекстОшибки,
					,
					"НадписьОплата",
					,
					Отказ);
				
			КонецЕсли;
			
		КонецЦикла;
	
	ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию Тогда
	
		Для Каждого ЭтапГрафикаОплаты Из Объект.ЭтапыГрафикаОплаты Цикл
			
			Если ЭтапГрафикаОплаты.ВариантОплаты <> Перечисления.ВариантыКонтроляОплатыПоставщику.КредитСдвиг
				И ЭтапГрафикаОплаты.ВариантОплаты <> Перечисления.ВариантыКонтроляОплатыПоставщику.КредитПослеПоступления Тогда
				
				ТекстОшибки = НСтр("ru='Вариант контроля оплаты ""%ВариантОплаты%"" нельзя использовать'") + Символы.ПС;
				ТекстОшибки = ТекстОшибки + НСтр("ru='при установленной хозяйственной операции ""Прием на комиссию""'");
				ТекстОшибки = СтрЗаменить(ТекстОшибки, "%ВариантОплаты%", ЭтапГрафикаОплаты.ВариантОплаты);
				
				ОбщегоНазначения.СообщитьПользователю(
					ТекстОшибки,
					,
					"НадписьОплата",
					,
					Отказ);
				
			КонецЕсли;
			
		КонецЦикла;
		
	КонецЕсли;
	
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ЗаполнитьГруппуФинансовогоУчета(Организация, ВалютаВзаиморасчетов, ХозяйственнаяОперация, ГруппаФинансовогоУчета)
	
	ГруппаФинансовогоУчета = Справочники.ГруппыФинансовогоУчетаРасчетов.ПолучитьГруппуФинансовогоУчетаПоУмолчанию(Организация, ВалютаВзаиморасчетов, ХозяйственнаяОперация);
	
КонецПроцедуры

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

&НаСервере
Процедура ЗаполнитьПорядокРасчетов()
	
	Если Объект.ИспользуютсяДоговорыКонтрагентов Тогда
		Объект.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПустаяСсылка();
	ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПриемНаКомиссию 
			  ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОказаниеАгентскихУслуг 
			  ИЛИ НЕ ИспользоватьЗаказыПоставщикам Тогда
		Объект.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоНакладным;
	ИначеЕсли НЕ ЗначениеЗаполнено(Объект.ПорядокРасчетов) Тогда
		Объект.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоЗаказам;
	КонецЕсли;
	
КонецПроцедуры

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

&НаСервере
Процедура ЗаполнитьПроизводственныйКалендарьНаСервере()
	
	КалендарныеГрафики.ЗаполнитьПроизводственныйКалендарьВФорме(ЭтаФорма, "Объект.КалендарьВозвратаТары");
	
КонецПроцедуры

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

&НаСервере
Процедура ОбновитьУслугиПоОтборуНаСервере(АдресВоВременномХранилище)
	
	Объект.АгентскиеУслуги.Очистить();
	ТаблицаАгентскиеУслуги = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);
	Для Каждого ТекСтрока Из ТаблицаАгентскиеУслуги Цикл
		ПараметрыОтбора = Новый Структура;
		ПараметрыОтбора.Вставить("Номенклатура", ТекСтрока.Номенклатура);
		ПараметрыОтбора.Вставить("Характеристика", ТекСтрока.Характеристика);
		НайденныеСтроки = Объект.АгентскиеУслуги.НайтиСтроки(ПараметрыОтбора); 
		
		Если НайденныеСтроки.Количество() = 0 Тогда
			НоваяСтрока = Объект.АгентскиеУслуги.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекСтрока);
		КонецЕсли;
	КонецЦикла;
	
	РассчитатьКоличествоВыбранныхУслуг();
	
КонецПроцедуры

&НаСервере
Функция ПоместитьУслугиВХранилище(Знач Услуги, УникальныйИдентификатор)

	АдресВХранилище = ПоместитьВоВременноеХранилище(
		Услуги.Выгрузить(,"Номенклатура, Характеристика"),
		УникальныйИдентификатор);
		
	Возврат АдресВХранилище;
	
КонецФункции

&НаСервере
Процедура РассчитатьКоличествоАгентскихУслуг()
	
	РассчитатьКоличествоВыбранныхУслуг();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Номенклатура.Ссылка КАК Номенклатура,
	|	ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
	|	ЛОЖЬ КАК Выбран
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	НЕ Номенклатура.ЭтоГруппа
	|	И Номенклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
	|	И Номенклатура.Принципал = &Принципал
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Номенклатура.Ссылка,
	|	ХарактеристикиНоменклатуры.Ссылка,
	|	ЛОЖЬ
	|ИЗ
	|	Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
	|		ПО (ВЫБОР
	|				КОГДА Номенклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры)
	|					ТОГДА Номенклатура.Ссылка
	|				КОГДА Номенклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры)
	|					ТОГДА Номенклатура.ВидНоменклатуры
	|				КОГДА Номенклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры)
	|					ТОГДА Номенклатура.ВладелецХарактеристик
	|				ИНАЧЕ НЕОПРЕДЕЛЕНО
	|			КОНЕЦ = ХарактеристикиНоменклатуры.Владелец)
	|ГДЕ
	|	Номенклатура.ИспользованиеХарактеристик В (ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры), ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры), ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры))
	|	И ХарактеристикиНоменклатуры.Принципал = &Принципал";
	
	Запрос.УстановитьПараметр("Принципал", Объект.Партнер);
	Выборка = Запрос.Выполнить().Выбрать();
	
	ТекстЗаголовка = НСтр("ru = 'Перейти (%Количество% шт.)'");
	ТекстЗаголовка = СтрЗаменить(ТекстЗаголовка, "%Количество%", Выборка.Количество());
	ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "ПерейтиВсеУслуги", "Заголовок", ТекстЗаголовка);
	
КонецПроцедуры

&НаСервере
Процедура РассчитатьКоличествоВыбранныхУслуг()
	
	ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,"ПерейтиВыбранныеУслуги",
				"Заголовок", НСтр("ru = 'Перейти ('") +Объект.АгентскиеУслуги.Количество()+ " " + НСтр("ru = 'шт.)'"));
	
КонецПроцедуры

&НаСервере
Процедура УстановитьВидимостьАгентскихУслуг()
	Если Объект.ИспользоватьУказанныеАгентскиеУслуги Тогда
		ТипыУслуг = "ДляВыбранныхУслуг";
	Иначе
		ТипыУслуг = "ДляВсехУслуг";
	КонецЕсли;
	
	РазбиватьОтчет = ?(Объект.РазбиватьОтчетПоДокументам, 1, 0);
	
	ОбновитьВидимостьАгентскихУслуг();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ЗаполнитьОплатуВВалютеГруппуФинансовогоУчета(Организация, Валюта, ОплатаВВалюте, ГруппаФинансовогоУчета, ИспользуютсяДоговорыКонтрагентов, ХозяйственнаяОперация)
	
	Если НЕ ИспользуютсяДоговорыКонтрагентов Тогда
		ОплатаВВалюте = ВзаиморасчетыСервер.ПолучитьОплатуВВалютеПоУмолчанию();
	КонецЕсли;
	
	ЗаполнитьГруппуФинансовогоУчета(Организация, Валюта, ХозяйственнаяОперация, ГруппаФинансовогоУчета);
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьВидимостьОплатаВВалюте()
	Элементы.ОплатаВВалюте.Видимость = 
		Объект.ВалютаВзаиморасчетов <> ВалютаРегламентированногоУчета
		Или Объект.ОплатаВВалюте;
КонецПроцедуры

&НаСервере
Процедура УстановитьПараметрыВыбораСтатьиДвиженияДенежныхСредств()

	СписокПараметров = Новый Массив;
	
	СписокХозяйственныхОпераций = Новый Массив;
	СписокХозяйственныхОпераций.Добавить(Перечисления.ХозяйственныеОперации.ОплатаПоставщику);
	
	ДенежныеСредстваСервер.ДополнитьПараметрыВыбораСпискомХозяйственныхОпераций(
		СписокПараметров, СписокХозяйственныхОпераций);
	
	Элементы.СтатьяДвиженияДенежныхСредств.ПараметрыВыбора = Новый ФиксированныйМассив(СписокПараметров);

КонецПроцедуры

#КонецОбласти

#Область КонтрольНесогласованныхИзменений

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеПриИзменении(Элемент)
	Если Элемент.Имя = "Партнер" Тогда
		ПартнерПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "Контрагент" Тогда
		КонтрагентПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "ВалютаВзаиморасчетов" Тогда
		ВалютаВзаиморасчетовПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "Склад" Тогда
		СкладПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "ХозяйственнаяОперация" Тогда
		ХозяйственнаяОперацияПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "ОплатаВВалюте" Тогда
		ОплатаВВалютеПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "ИспользуютсяДоговорыКонтрагентов" Тогда
		ИспользуютсяДоговорыКонтрагентовПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "ВозвращатьМногооборотнуюТару" Тогда
		ВозвращатьМногооборотнуюТаруПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "РассчитыватьДатуВозвратаТарыПоКалендарю" Тогда
		РассчитыватьДатуВозвратаТарыПоКалендарюПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "НеРассчитыватьДатуВозвратаТарыПоКалендарю" Тогда
		РассчитыватьДатуВозвратаТарыПоКалендарюПриИзменении(Элемент);
	ИначеЕсли Элемент.Имя = "Организация" Тогда
		ОрганизацияПриИзменении(Элемент);
	Иначе
		ОбщегоНазначенияУТКлиент.КонтрольНеСогласованныхИзмененийВызватьИсключение(ЭтаФорма, Элемент);
	КонецЕсли;
КонецПроцедуры

// Параметры:
//	Команда - КомандаФормы - 
&НаКлиенте
Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеКоманды(Команда)
	Если Команда.Имя = "УстановитьИнтервал" Тогда
		УстановитьИнтервалВыполнить(Команда);
	Иначе
		ОбщегоНазначенияУТКлиент.КонтрольНеСогласованныхИзмененийВызватьИсключение(ЭтаФорма, Команда);
	КонецЕсли;
КонецПроцедуры

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеНажатие(Элемент)
	ОбщегоНазначенияУТКлиент.КонтрольНеСогласованныхИзмененийВызватьИсключение(ЭтаФорма, Элемент);
КонецПроцедуры

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеПередНачаломИзменения(Элемент, Отказ)
	ОбщегоНазначенияУТКлиент.КонтрольНеСогласованныхИзмененийВызватьИсключение(ЭтаФорма, Элемент);
КонецПроцедуры

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеПередУдалением(Элемент, Отказ)
	ОбщегоНазначенияУТКлиент.КонтрольНеСогласованныхИзмененийВызватьИсключение(ЭтаФорма, Элемент);
КонецПроцедуры

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
	ОбщегоНазначенияУТКлиент.КонтрольНеСогласованныхИзмененийВызватьИсключение(ЭтаФорма, Элемент);
КонецПроцедуры

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура Подключаемый_ПриИзменении_УстановитьДоступностьЭлементовПоСтатусуСервер(Элемент)
	
	Если ОбщегоНазначенияУТКлиент.ПриДействииСЭлементомЗависящимОтСтатуса(ЭтаФорма) Тогда
		Возврат;
	КонецЕсли;
	
	Если СтруктураДействийКонтрольНеСогласованныхИзменений.ПриИзменении.Свойство(Элемент.Имя) Тогда
		КонтрольНеСогласованныхИзмененийОбработатьСобытиеПриИзменении(Элемент);
	КонецЕсли;
	
КонецПроцедуры

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура Подключаемый_Нажатие_УстановитьДоступностьЭлементовПоСтатусуСервер(Элемент)
	
	Если ОбщегоНазначенияУТКлиент.ПриДействииСЭлементомЗависящимОтСтатуса(ЭтаФорма) Тогда
		Возврат;
	КонецЕсли;
	
	Если СтруктураДействийКонтрольНеСогласованныхИзменений.Нажатие.Свойство(Элемент.Имя) Тогда
		КонтрольНеСогласованныхИзмененийОбработатьСобытиеНажатие(Элемент);
	КонецЕсли;
	
КонецПроцедуры

// Параметры:
//	Команда - КомандаФормы - 
&НаКлиенте
Процедура Подключаемый_Команда_УстановитьДоступностьЭлементовПоСтатусуСервер(Команда)
	
	Если ОбщегоНазначенияУТКлиент.ПриДействииСЭлементомЗависящимОтСтатуса(ЭтаФорма) Тогда
		Возврат;
	КонецЕсли;
	
	Если СтруктураДействийКонтрольНеСогласованныхИзменений.Команды.Свойство(Команда.Имя) Тогда
		КонтрольНеСогласованныхИзмененийОбработатьСобытиеКоманды(Команда);
	КонецЕсли;
	
КонецПроцедуры

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура Подключаемый_ПередНачаломИзменения_УстановитьДоступностьЭлементовПоСтатусуСервер(Элемент, Отказ)
	
	Если ОбщегоНазначенияУТКлиент.ПриДействииСЭлементомЗависящимОтСтатуса(ЭтаФорма) Тогда
		Возврат;
	КонецЕсли;
	
	Если СтруктураДействийКонтрольНеСогласованныхИзменений.ПередНачаломИзменения.Свойство(Элемент.Имя) Тогда
		КонтрольНеСогласованныхИзмененийОбработатьСобытиеПередНачаломИзменения(Элемент, Отказ);
	КонецЕсли;
	
КонецПроцедуры

// Параметры:
//	Элемент - ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы - ЭлементФормы
&НаКлиенте
Процедура Подключаемый_ПередУдалением_УстановитьДоступностьЭлементовПоСтатусуСервер(Элемент, Отказ)
	
	Если ОбщегоНазначенияУТКлиент.ПриДействииСЭлементомЗависящимОтСтатуса(ЭтаФорма) Тогда
		Возврат;
	КонецЕсли;
	
	Имя = Элемент.Имя;
	Если СтруктураДействийКонтрольНеСогласованныхИзменений.ПередУдалением.Свойство(Имя) Тогда
		КонтрольНеСогласованныхИзмененийОбработатьСобытиеПередУдалением(Элемент, Отказ);
	КонецЕсли;
	
КонецПроцедуры

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

&НаКлиенте
Процедура Подключаемый_ПриИзмененииРеквизитаЗависящегоОтСтатуса()
	
	УстановитьДоступностьЭлементовПоСтатусуСервер();
	ОбщегоНазначенияУТКлиент.ПослеИзмененияРеквизитаЗависящегоОтСтатуса(ЭтаФорма);
	
КонецПроцедуры

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);
КонецПроцедуры

&НаСервере
Процедура Подключаемый_ВыполнитьКомандуНаСервере(Контекст, Результат) Экспорт
	ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры

&НаКлиенте
Процедура СпособДоставкиПриИзменении(Элемент)
	
	ЗаполнитьУстановитьРеквизитыДоставкиСервер(Элемент.Имя);
	
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьУстановитьРеквизитыДоставкиСервер(ИмяЭлементаФормы)
	
	ДоставкаТоваров.ЗаполнитьРеквизитыДоставки(Элементы, ИмяЭлементаФормы, Объект);
	
КонецПроцедуры

&НаКлиенте
Процедура ДополнитьИнформациюПоДоставкеКонтактами(Команда)
	ДополнитьИнформациюПоДоставкеКонтактамиСервер();
КонецПроцедуры

&НаСервере
Процедура ДополнитьИнформациюПоДоставкеКонтактамиСервер()
	ДоставкаТоваров.ДополнитьИнформациюПоДоставкеКонтактами(Объект);
КонецПроцедуры

#КонецОбласти

#КонецОбласти

Связанные материалы