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

файл

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

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

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

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

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

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

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

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

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

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