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