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


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

	Выборка = Запрос.Выполнить().Выбрать();
	
	МассивЦен = Новый Массив;
	
	Пока Выборка.Следующий() Цикл
		Элемент = Новый Структура;
		Элемент.Вставить("guid", Строка(Выборка.Номенклатура.УникальныйИдентификатор()));
		Элемент.Вставить("name", СокрЛП(Строка(Выборка.Номенклатура)));
		Элемент.Вставить("last_price", Выборка.Цена);
		Элемент.Вставить("avg_price", Выборка.СредняяЦена);
		МассивЦен.Добавить(Элемент);
	КонецЦикла;
	
	ДанныеJSON = ОбщегоНазначения.ЗначениеВJSON(МассивЦен);
	
КонецПроцедуры