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

|ВЫБРАТЬ
        |    ИсторияТарифа.Период,
        |    ИсторияТарифа.Контрагент,
        |    ИсторияТарифа.Тариф
        |ИЗ
        |    РегистрСведений.ИсторияТарифа КАК ИсторияТарифа
        |ГДЕ
        |    ИсторияТарифа.Контрагент в (ВЫБРАТЬ
    |    ИсторияТарифа.Контрагент
    |ИЗ
    |    РегистрСведений.ИсторияТарифа КАК ИсторияТарифа
    |ГДЕ
    |    ИсторияТарифа.Период МЕЖДУ &Д1 И &Д2)
5 vova1122
 
01.04.20
11:51
(4) Спасибо. Все гениальное - просто