Цены (прайс-лист) / Модуль менеджера

файл
#Если Сервер Тогда

#Область ДлительныеОперации

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

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

	КоличествоОбработанныхДанных = ТаблицаЗначений.количество() / 10;
	ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(Замер, КоличествоОбработанныхДанных);
	
КонецПроцедуры

Процедура ИзменитьЦеныНаСервере(Параметры, АдресХранилища) Экспорт
	
	СтруктураФормы 		= Параметры[0].СтруктураФормы;
	ПараметрыРасчета 	= Параметры[0].ПараметрыРасчета;
	
	УстановкаЦенСервер.ИзменитьЦены(СтруктураФормы, ПараметрыРасчета);
	
	РезультатВыполнения = Новый Структура;
	РезультатВыполнения.Вставить("СтруктураФормы", СтруктураФормы);	
	
	АдресХранилища = ПоместитьВоВременноеХранилище(РезультатВыполнения, АдресХранилища);
КонецПроцедуры

Процедура ИзменитьЦеныНаПроцентНаСервере(Параметры, АдресХранилища) Экспорт
	
	СтруктураФормы 		= Параметры[0].СтруктураФормы;
	ПараметрыРасчета 	= Параметры[0].ПараметрыРасчета;
	
	УстановкаЦенСервер.ИзменитьЦеныНаПроцент(СтруктураФормы, ПараметрыРасчета);
	
	РезультатВыполнения = Новый Структура;
	РезультатВыполнения.Вставить("СтруктураФормы", СтруктураФормы);	
	
	АдресХранилища = ПоместитьВоВременноеХранилище(РезультатВыполнения, АдресХранилища);
КонецПроцедуры

Процедура РассчитатьЦеныНаСервере(Параметры, АдресХранилища) Экспорт
	
	СтруктураФормы 		= Параметры[0].СтруктураФормы;
	ПараметрыРасчета 	= Параметры[0].ПараметрыРасчета;
	
	УстановкаЦенСервер.РассчитатьЦены(СтруктураФормы, ПараметрыРасчета);
	
	РезультатВыполнения = Новый Структура;
	РезультатВыполнения.Вставить("СтруктураФормы", СтруктураФормы);	
	
	АдресХранилища = ПоместитьВоВременноеХранилище(РезультатВыполнения, АдресХранилища);
КонецПроцедуры

Процедура ЗаполнитьЦеныИзДокументов(Параметры, АдресХранилища) Экспорт
	
	СтруктураФормы 		= Параметры[0].СтруктураФормы;
	ПараметрыРасчета 	= Параметры[0].ПараметрыРасчета;
	
	УстановкаЦенСервер.ЗаполнитьЦеныИзДокументов(СтруктураФормы, ПараметрыРасчета);
	
	РезультатВыполнения = Новый Структура;
	РезультатВыполнения.Вставить("СтруктураФормы", СтруктураФормы);	
	
	АдресХранилища = ПоместитьВоВременноеХранилище(РезультатВыполнения, АдресХранилища);
КонецПроцедуры


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

#КонецЕсли

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