Первичный документ / Форма списка / Модуль формы

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

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

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

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

&НаКлиенте
Процедура ОтборОрганизацияПриИзменении(Элемент)

	ОтборыСписковКлиентСервер.ИзменитьЭлементОтбораСписка(
		Список, 
		"Организация", 
		ОтборОрганизация, 
		ЗначениеЗаполнено(ОтборОрганизация));

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

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

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

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