Имя: Пароль:
1C
1С v8
И снова вопрос: Последний документ из периода в запросе
0 web_profiler
 
27.12.13
12:04
Есть необходимость вытащить последний документ в каждом дне, за период между 2-мя датами. Но проблемка в том, что все документы по каждому дню отличаются только номерами, даты у них 0:00:00.
ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    МАКСИМУМ(РеализацияТоваровУслуг.Дата) КАК Дата
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Дата >= &Дата1
    И РеализацияТоваровУслуг.Дата <= &Дата2
    И РеализацияТоваровУслуг.Проведен = ИСТИНА

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.Ссылка

УПОРЯДОЧИТЬ ПО
    Дата
1 web_profiler
 
27.12.13
12:04
такая штука не работает
2 web_profiler
 
27.12.13
12:08
3 web_profiler
 
27.12.13
12:09
как быть в такой ситуации?
4 ИсчадиеADO
 
27.12.13
12:14
выбрать
НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ) КАК ПериодДень,
МАКСИМУМ(Т.Дата) КАК Дата
ПОМЕСТИТЬ Т2
ИЗ
Т
СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ)
;

ВЫБРАТЬ
Т2.ПериодДень,
МАКСИМУМ(Т.Ссылка) КАК Ссылка
ИЗ
Т2
ЛЕВОЕ СОЕДИНЕНИЕ Т
ПО Т2.Дата = Т.Дата
СГРУППИРОВАТЬ ПО
Т2.ПериодДень
5 Defender aka LINN
 
27.12.13
12:17
(0) И какой тогда последний?
6 ИсчадиеADO
 
27.12.13
12:18
(5) по моменту времени?
7 web_profiler
 
27.12.13
12:18
(5) :) согласен, надо по номеру, что-ли отслеживать
8 web_profiler
 
27.12.13
12:19
ок, упращаем задачу: любой документ (но только 1) из каждого дня периода
9 web_profiler
 
27.12.13
12:21
я так понимаю, необходимо сгруппировать документы по дням?
10 ИсчадиеADO
 
27.12.13
12:21
(8)  (4) ниасилел?
11 web_profiler
 
27.12.13
12:22
неа, непонял пока как к врем таблицам зацепить мой документ
12 web_profiler
 
27.12.13
12:23
посути, задачи немного диб...я - необходимо вытащить сумму документа дня и прицепить любой номер из этих документов.
13 web_profiler
 
27.12.13
12:24
сумму докуменТОВ дня
14 ИсчадиеADO
 
27.12.13
12:25
(11) самому дописать создание Т
15 web_profiler
 
27.12.13
12:25
(14) пробую
16 web_profiler
 
27.12.13
12:28
(14) спасибо, огромное, запрос отработал
17 web_profiler
 
27.12.13
12:28
ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) КАК ПериодДень,
    МАКСИМУМ(РеализацияТоваровУслуг.Дата) КАК Дата
ПОМЕСТИТЬ Т2
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Т2.ПериодДень КАК ПериодДень,
    МАКСИМУМ(РеализацияТоваровУслуг.Ссылка) КАК Ссылка
ИЗ
    Т2 КАК Т2
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ПО Т2.Дата = РеализацияТоваровУслуг.Дата

СГРУППИРОВАТЬ ПО
    Т2.ПериодДень

УПОРЯДОЧИТЬ ПО
    ПериодДень
18 ИсчадиеADO
 
27.12.13
12:31
(17) так лучше же

ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.Дата КАК Дата
ПОМЕСТИТЬ Т
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Дата >= &Дата1
    И РеализацияТоваровУслуг.Дата <= &Дата2
    И РеализацияТоваровУслуг.Проведен = ИСТИНА
19 web_profiler
 
27.12.13
12:34
(18) нет, не так - результат запроса: кол-во документов в периоде = 3322 штуки
20 web_profiler
 
27.12.13
12:35
(17) вариант мне подходит