Загрузка данных



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

&НаКлиенте
Процедура РассчитатьСебестоимость(Команда)
	РассчитатьСебестоимостьНаСервере();
КонецПроцедуры