Имя: Пароль:
1C
1С v8
Последний документ каждого дня запросом
0 ПегийЛунь
 
15.02.18
09:38
Задача получить запросом последний документ (определенного типа, кто его делал и время проведения) за указанный период.
"Рыба":
ВЫБРАТЬ
    РеализацияТоваровУслуг.Ответственный,
    РеализацияТоваровУслуг.Ссылка,
    ВложенныйЗапрос.ДатаДня КАК ДатаДня
ИЗ
    (ВЫБРАТЬ
        КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) КАК ДатаДня,
        МАКСИМУМ(РеализацияТоваровУслуг.Дата) КАК Период
    ИЗ
        Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    
    СГРУППИРОВАТЬ ПО
        КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ)) КАК ВложенныйЗапрос
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ПО (ВложенныйЗапрос.ДатаДня = КОНЕЦПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ))
            И ВложенныйЗапрос.Период = РеализацияТоваровУслуг.Дата

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ответственный,
    РеализацияТоваровУслуг.Ссылка,
    ВложенныйЗапрос.ДатаДня

УПОРЯДОЧИТЬ ПО
    ДатаДня

Есть другое элегантное решение? Если есть, то киньте (гранату) ссылку.
1 ПегийЛунь
 
15.02.18
09:40
...последний документ за каждый день указанного периода...
(упс)
2 НЕА123
 
15.02.18
09:56
МоментВремени
?
3 mistеr
 
15.02.18
10:02
1. Во вложенный запрос нужно добавить ссылку, т.к. могут быть документы с одинаковым временем.

2. "Время проведения" можно получить только из ЖР.
4 ПегийЛунь
 
15.02.18
10:03
(2) Это да. Еще проверка на "проведен", ограничение на дату , "разрешенные" - всё будет
5 ПегийЛунь
 
15.02.18
10:04
(3)Не, не будет - база "мелкая".
6 ПегийЛунь
 
15.02.18
14:46
И всё же...