Имя: Пароль:
1C
 
группировка по периоду 5 минут в запросе 1с 8
0 DmitriyDI
 
26.09.18
16:30
Добрый день!
Как сделать группировку по периоду 5 минут в запросе?
НАЧАЛОПЕРИОДА(ИсторияТоргов.Дата, МИНУТА) - так сделать по минуте, а вот как 5 не могу догадаться((
1 s03
 
26.09.18
16:32
как вариант вытащить отдельное поле с минутами, кратными 5 (рассчитывать это поле в запросе) и уже по нему делать группировку
2 Гипервизор
 
26.09.18
16:32
Разбить на интервалы
3 DmitriyDI
 
26.09.18
16:34
(1) Что-то вроде
ВЫБОР КОГДА МИНУТА(ИсторияТоргов.Дата) / 5 = 1
Тогда первая5минутка
КОГДА МИНУТА(ИсторияТоргов.Дата) / 5 = 2 Тогда
Вторая5минутка

и т.д. ..
4 DmitriyDI
 
26.09.18
16:38
Спасибо, получилось вот так:
ВЫБРАТЬ
    МИНИМУМ(НАЧАЛОПЕРИОДА(Цены.Дата, МИНУТА)) КАК ПериодМинута,
    ВЫБОР
        КОГДА МИНУТА(Цены.Дата) / 5 = 1
            ТОГДА 1
        КОГДА МИНУТА(Цены.Дата) / 5 = 2
            ТОГДА 2
        КОГДА МИНУТА(Цены.Дата) / 5 = 3
            ТОГДА 3
        КОГДА МИНУТА(Цены.Дата) / 5 = 4
            ТОГДА 4
        КОГДА МИНУТА(Цены.Дата) / 5 = 5
            ТОГДА 5
        КОГДА МИНУТА(Цены.Дата) / 5 = 6
            ТОГДА 6
        КОГДА МИНУТА(Цены.Дата) / 5 = 7
            ТОГДА 7
        КОГДА МИНУТА(Цены.Дата) / 5 = 8
            ТОГДА 8
        КОГДА МИНУТА(Цены.Дата) / 5 = 9
            ТОГДА 9
        КОГДА МИНУТА(Цены.Дата) / 5 = 10
            ТОГДА 10
        КОГДА МИНУТА(Цены.Дата) / 5 = 11
            ТОГДА 11
        КОГДА МИНУТА(Цены.Дата) / 5 = 12
            ТОГДА 12
    КОНЕЦ КАК Поле1
ИЗ
    РегистрСведений.Цены КАК Цены
ГДЕ
    Цены.Дата >= &Дата

СГРУППИРОВАТЬ ПО
    ВЫБОР
        КОГДА МИНУТА(Цены.Дата) / 5 = 1
            ТОГДА 1
        КОГДА МИНУТА(Цены.Дата) / 5 = 2
            ТОГДА 2
        КОГДА МИНУТА(Цены.Дата) / 5 = 3
            ТОГДА 3
        КОГДА МИНУТА(Цены.Дата) / 5 = 4
            ТОГДА 4
        КОГДА МИНУТА(Цены.Дата) / 5 = 5
            ТОГДА 5
        КОГДА МИНУТА(Цены.Дата) / 5 = 6
            ТОГДА 6
        КОГДА МИНУТА(Цены.Дата) / 5 = 7
            ТОГДА 7
        КОГДА МИНУТА(Цены.Дата) / 5 = 8
            ТОГДА 8
        КОГДА МИНУТА(Цены.Дата) / 5 = 9
            ТОГДА 9
        КОГДА МИНУТА(Цены.Дата) / 5 = 10
            ТОГДА 10
        КОГДА МИНУТА(Цены.Дата) / 5 = 11
            ТОГДА 11
        КОГДА МИНУТА(Цены.Дата) / 5 = 12
            ТОГДА 12
    КОНЕЦ

УПОРЯДОЧИТЬ ПО
    ПериодМинута
5 DmitriyDI
 
26.09.18
16:39
(4) будет работать в пределах часа, надо еще по дате начало периода час сгруппировать и тогда будет работать всегда
6 Михаил Козлов
 
26.09.18
16:55
(5) Не пробовали взять разность дат от Цена.Дата до начала дня, поделить на 5, выразить как целое и по нему сгруппировать?
7 МихаилМ
 
26.09.18
16:58
поделите на колво мин интервалов , входящих в 5 минут и сгруппируйте.
8 Ботаник Гарден Меран
 
26.09.18
17:03
ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(АвансовыйОтчет.Дата, ЧАС) КАК Дата,
    ВЫРАЗИТЬ(МИНУТА(АвансовыйОтчет.Дата) /5 КАК ЧИСЛО(2, 0)) КАК НачалоПятиминутки,
    АвансовыйОтчет.Дата КАК Период,
    АвансовыйОтчет.Ссылка КАК Ссылка
ИЗ
    Документ.АвансовыйОтчет КАК АвансовыйОтчет
Где АвансовыйОтчет.Дата Между &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(АвансовыйОтчет.Дата, ЧАС),
    ВЫРАЗИТЬ(МИНУТА(АвансовыйОтчет.Дата) /5 КАК ЧИСЛО(2, 0)),
    АвансовыйОтчет.Дата,
    АвансовыйОтчет.Ссылка

УПОРЯДОЧИТЬ ПО
    Дата,
    НачалоПятиминутки,
    Ссылка
9 Ботаник Гарден Меран
 
26.09.18
17:03
Только не НачалоПятиминутки, а НомерПятиминутки.
10 DmitriyDI
 
26.09.18
17:14
(8) так еще лучше, спасибо!
Закон Брукера: Даже маленькая практика стоит большой теории.