
Получение наиболее поздних записей регистра сведений через срез последних на дату в 1С 8.3
✍️ @odin1C_rus
&НаСервере
Процедура ПолучениеНаиболееПозднихЗаписей()
// Параметры виртуальной таблицы СрезПоследних:
// 1. Период (включительно)
// 2. Условие (например, Организация = &ВыбОрганизация)
// Получение цен на Молоко 3,2% для каждого контрагента на конец 2 квартала 2020 года (включительно)
// по организации ОАО "Гипермаркет АЗИЯ".
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныРеализацииСрезПоследних.Период,
| ЦеныРеализацииСрезПоследних.Активность,
| ЦеныРеализацииСрезПоследних.Номенклатура,
| ЦеныРеализацииСрезПоследних.Контрагент,
| ЦеныРеализацииСрезПоследних.Организация,
| ЦеныРеализацииСрезПоследних.Цена
|ИЗ
| РегистрСведений.ЦеныРеализации.СрезПоследних(
| ДАТАВРЕМЯ(2020, 06, 30, 23, 59, 59),
| Активность = Истина И
| Организация = &ВыбОрганизация И
| Номенклатура = &ВыбНоменклатура
| ) КАК ЦеныРеализацииСрезПоследних
|УПОРЯДОЧИТЬ ПО
| ЦеныРеализацииСрезПоследних.Контрагент";
Запрос.УстановитьПараметр("ВыбОрганизация",Справочники.Организации.НайтиПоНаименованию("ОАО ""Гипермаркет АЗИЯ"""));
Запрос.УстановитьПараметр("ВыбНоменклатура",Справочники.Номенклатура.НайтиПоНаименованию("Молоко 3,2%"));
РезультатЗапроса = Запрос.Выполнить();
Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
Сообщить("за " + Записи.Период + " на " +Записи.Номенклатура + " " + Записи.Контрагент + " = " +Записи.Цена + " руб.");
КонецЦикла;
КонецПроцедуры
✍️ @odin1C_rus