0
vova1122
01.04.20
✎
11:32
|
Помогите написать текст запроса одним запросом. Задача: Нужно Выбрать из регистраСведений всю историю Тарифа, но только для тех контрагентов у которых за последние два дня было изменение этого тарифа и сгрупировать по контрагенту.
Контрагент- Это Измерение
Тариф - Это Ресурс
Хочется забрать из цикла запрос, а сделать все одним запросом, но незнаю как.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 5
| ИсторияТарифа.Период,
| ИсторияТарифа.Контрагент,
| ИсторияТарифа.Тариф
|ИЗ
| РегистрСведений.ИсторияТарифа КАК ИсторияТарифа
|ГДЕ
| ИсторияТарифа.Период МЕЖДУ &Д1 И &Д2";
Запрос.УстановитьПараметр("Д1", НачалоДня(ТекущаяДата())-86405);
Запрос.УстановитьПараметр("Д2", ТекущаяДата());
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() Цикл
Запрос1 = Новый Запрос;
Запрос1.Текст =
"ВЫБРАТЬ
| ИсторияТарифа.Период,
| ИсторияТарифа.Контрагент,
| ИсторияТарифа.Тариф
|ИЗ
| РегистрСведений.ИсторияТарифа КАК ИсторияТарифа
|ГДЕ
| ИсторияТарифа.Контрагент = &Контр";
Запрос1.УстановитьПараметр("Контр", РезультатЗапроса.Контрагент);
ВДЗ = Запрос1.Выполнить().Выгрузить();
// дальше обрабатываем результат
КонецЦикла;
|
|
4
Ёпрст
01.04.20
✎
11:38
|
(0)
|ВЫБРАТЬ
| ИсторияТарифа.Период,
| ИсторияТарифа.Контрагент,
| ИсторияТарифа.Тариф
|ИЗ
| РегистрСведений.ИсторияТарифа КАК ИсторияТарифа
|ГДЕ
| ИсторияТарифа.Контрагент в (ВЫБРАТЬ
| ИсторияТарифа.Контрагент
|ИЗ
| РегистрСведений.ИсторияТарифа КАК ИсторияТарифа
|ГДЕ
| ИсторияТарифа.Период МЕЖДУ &Д1 И &Д2)
|
|