Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запрос по нескольким документам

Запрос по нескольким документам
Я
   prilforreal
 
25.09.18 - 16:44
Доброго дня, Миста! Столкнулся с такой задачей:
Нужно отобрать последние документы ДилЗаказ и ПечатьЗаказ по каждому контрагенту, проверить их дату и если последний документ старше 3х месяцев выпонить действие, составил 2 запроса, но как теперь проверить оба запроса не могу додуматься, чтобы последний ДилЗаказ И последний ПечатьЗаказ проверялись.

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    ДатаСброса=(ТекущаяДата()-2592000);
    ////////////////////////////////////ЗапросПечатьЗаказ////////////////////////////////////////////////////

    
    Запрос = Новый Запрос;
    Запрос.Текст = 
"ВЫБРАТЬ
|    ПоследниеДокументыКонтрагентов.Ссылка,
|    ПоследниеДокументыКонтрагентов.Контрагент,
|    ПоследниеДокументыКонтрагентов.Дата КАК ДатаПЗ
|ИЗ
|    Документ.ПечатьЗаказ КАК ПоследниеДокументыКонтрагентов
|        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
|            Доки.Контрагент КАК Контрагент,
|            МАКСИМУМ(Доки.Дата) КАК ДатаПоследнегоДокумента
|        ИЗ
|            Документ.ПечатьЗаказ КАК Доки
|        
|        СГРУППИРОВАТЬ ПО
|            Доки.Контрагент) КАК ДатыПоследнихДокументовКонтрагентов
|        ПО ПоследниеДокументыКонтрагентов.Контрагент = ДатыПоследнихДокументовКонтрагентов.Контрагент
|            И ПоследниеДокументыКонтрагентов.Дата = ДатыПоследнихДокументовКонтрагентов.ДатаПоследнегоДокумента
|
|УПОРЯДОЧИТЬ ПО
|    ДатаПЗ";
    
    РезультатЗапроса = Запрос.Выполнить(); 
    РезПЗ = РезультатЗапроса.Выбрать();
    
    Пока РезПЗ.Следующий() Цикл
    Сообщить(РезПЗ.ДатаПЗ);
    Сообщить(РезПЗ.Контрагент);
    КонецЦикла;

    ////////////////////////////////////ЗапросДилЗаказ////////////////////////////////////////////////////

Запрос = Новый Запрос;
    Запрос.Текст = 
"ВЫБРАТЬ
|    ПоследниеДокументыКонтрагентов.Ссылка,
|    ПоследниеДокументыКонтрагентов.Дилер,
|    ПоследниеДокументыКонтрагентов.Дата КАК ДатаДЗ
|ИЗ
|    Документ.ДилЗаказ КАК ПоследниеДокументыКонтрагентов
|        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
|            Доки.Дилер КАК Дилер,
|            МАКСИМУМ(Доки.Дата) КАК ДатаПоследнегоДокумента
|        ИЗ
|            Документ.ДилЗаказ КАК Доки
|        
|        СГРУППИРОВАТЬ ПО
|            Доки.Дилер) КАК ДатыПоследнихДокументовКонтрагентов
|        ПО ПоследниеДокументыКонтрагентов.Дилер = ДатыПоследнихДокументовКонтрагентов.Дилер
|            И ПоследниеДокументыКонтрагентов.Дата = ДатыПоследнихДокументовКонтрагентов.ДатаПоследнегоДокумента
|ГДЕ
|    ПоследниеДокументыКонтрагентов.ТабличнаяЧасть1.КолФотоПечать > 0
|
|УПОРЯДОЧИТЬ ПО
|    ДатаДЗ";
    РезультатЗапроса = Запрос.Выполнить(); 

    РезДЗ = РезультатЗапроса.Выбрать();
    
    Пока РезДЗ.Следующий() Цикл
    Сообщить(РезДЗ.ДатаДЗ);
    Сообщить(РезДЗ.Дилер);
    КонецЦикла;
        
КонецПроцедуры
 
 
   prilforreal
 
1 - 25.09.18 - 16:52
Если детальней описать:
Если ДатаПоследнегоДЗ и ДатаПоследнегоПЗ<ДатаСброса тогда
Контрагент.Ответственный=0;

Не ясно как совместить эти 2 условия

Список тем форума
Рекламное место пустует  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует