Номенклатура / История цен номенклатуры / Модуль формы

файл

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

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

	СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);

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

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

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

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

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

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

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

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

&НаКлиенте
Процедура ВидЦеныПоставщикаПриИзменении(Элемент)
	
	ВидЦеныПоставщикаПриИзмененииНаСервере();
	
КонецПроцедуры

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

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

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

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

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

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

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

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

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

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

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

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

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

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