|   |   | 
| 
 | Запрос по нескольким документам | ☑ | ||
|---|---|---|---|---|
| 0
    
        prilforreal 25.09.18✎ 16:44 | 
        Доброго дня, Миста! Столкнулся с такой задачей:
 Нужно отобрать последние документы ДилЗаказ и ПечатьЗаказ по каждому контрагенту, проверить их дату и если последний документ старше 3х месяцев выпонить действие, составил 2 запроса, но как теперь проверить оба запроса не могу додуматься, чтобы последний ДилЗаказ И последний ПечатьЗаказ проверялись. Процедура КнопкаВыполнитьНажатие(Кнопка) ДатаСброса=(ТекущаяДата()-2592000); ////////////////////////////////////ЗапросПечатьЗаказ//////////////////////////////////////////////////// Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПоследниеДокументыКонтрагентов.Ссылка, | ПоследниеДокументыКонтрагентов.Контрагент, | ПоследниеДокументыКонтрагентов.Дата КАК ДатаПЗ |ИЗ | Документ.ПечатьЗаказ КАК ПоследниеДокументыКонтрагентов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Доки.Контрагент КАК Контрагент, | МАКСИМУМ(Доки.Дата) КАК ДатаПоследнегоДокумента | ИЗ | Документ.ПечатьЗаказ КАК Доки | | СГРУППИРОВАТЬ ПО | Доки.Контрагент) КАК ДатыПоследнихДокументовКонтрагентов | ПО ПоследниеДокументыКонтрагентов.Контрагент = ДатыПоследнихДокументовКонтрагентов.Контрагент | И ПоследниеДокументыКонтрагентов.Дата = ДатыПоследнихДокументовКонтрагентов.ДатаПоследнегоДокумента | |УПОРЯДОЧИТЬ ПО | ДатаПЗ"; РезультатЗапроса = Запрос.Выполнить(); РезПЗ = РезультатЗапроса.Выбрать(); Пока РезПЗ.Следующий() Цикл Сообщить(РезПЗ.ДатаПЗ); Сообщить(РезПЗ.Контрагент); КонецЦикла; ////////////////////////////////////ЗапросДилЗаказ//////////////////////////////////////////////////// Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПоследниеДокументыКонтрагентов.Ссылка, | ПоследниеДокументыКонтрагентов.Дилер, | ПоследниеДокументыКонтрагентов.Дата КАК ДатаДЗ |ИЗ | Документ.ДилЗаказ КАК ПоследниеДокументыКонтрагентов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Доки.Дилер КАК Дилер, | МАКСИМУМ(Доки.Дата) КАК ДатаПоследнегоДокумента | ИЗ | Документ.ДилЗаказ КАК Доки | | СГРУППИРОВАТЬ ПО | Доки.Дилер) КАК ДатыПоследнихДокументовКонтрагентов | ПО ПоследниеДокументыКонтрагентов.Дилер = ДатыПоследнихДокументовКонтрагентов.Дилер | И ПоследниеДокументыКонтрагентов.Дата = ДатыПоследнихДокументовКонтрагентов.ДатаПоследнегоДокумента |ГДЕ | ПоследниеДокументыКонтрагентов.ТабличнаяЧасть1.КолФотоПечать > 0 | |УПОРЯДОЧИТЬ ПО | ДатаДЗ"; РезультатЗапроса = Запрос.Выполнить(); РезДЗ = РезультатЗапроса.Выбрать(); Пока РезДЗ.Следующий() Цикл Сообщить(РезДЗ.ДатаДЗ); Сообщить(РезДЗ.Дилер); КонецЦикла; КонецПроцедуры | |||
| 1
    
        prilforreal 25.09.18✎ 16:52 | 
        Если детальней описать:
 Если ДатаПоследнегоДЗ и ДатаПоследнегоПЗ<ДатаСброса тогда Контрагент.Ответственный=0; Не ясно как совместить эти 2 условия | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |