Имя: Пароль:
1C
 
Неверный итог в запросе при добавлении РАЗНОСТЬДАТ
0 John83
 
15.08.25
14:25
УТ 10.3
Если оставить как есть, то итог правильно выводит, но стоит убрать комментарий последнего поля, так ерунда какая-то.
С этим можно что-то сделать?
Пробовал через вложенный, через ВТ - без разницы.

ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период КАК Период,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор КАК Регистратор,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент КАК Контрагент,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаУпрКонечныйОстаток КАК Остаток,
    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Приход
    //,
    //РАЗНОСТЬДАТ(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период, &ДатаКон, ДЕНЬ) КАК ДнейПросрочки
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(
            ,
            &ДатаКон,
            Регистратор,
            ,
            Контрагент В (&Контрагент)) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
ИТОГИ
    СУММА(Остаток)
ПО
    Контрагент,
    ДоговорКонтрагента
1 maxab72
 
15.08.25
14:27
ПостгриСКЛ?
2 John83
 
15.08.25
14:35
(1) вообще на файловой пробую
3 craxx
 
15.08.25
14:39
(0) а что именно неправильно?
4 youalex
 
15.08.25
14:39
без ИТОГИ - нормально выводится?
5 John83
 
15.08.25
14:43
(4) да
6 John83
 
15.08.25
14:44
(3) берет остаток по первому документу и пихает его в итог
7 maxab72
 
15.08.25
14:45
(2) была ошибка на Постгри при использовании РАЗНОСТЬДАТ, итоги неверно считались. Помогал пакетный запрос, когда в одном запросе считалась разность дат, а в другом производилось суммирование.
8 John83
 
15.08.25
14:46
(1) на скл такая же фигня
9 Timon1405
 
15.08.25
14:50
10 Fedor-1971
 
15.08.25
14:52
(8) ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период - есть периоды около Начала времён?
например: 01/01/0001 00:00:01 - 15/08/2025 14:25:00 может получиться переполнение числа?
11 John83
 
15.08.25
14:59
(10) во!
сделал
ВЫБОР
    КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период <> ДАТАВРЕМЯ(1, 1, 1)
        ТОГДА РАЗНОСТЬДАТ(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период, &ДатаКон, ДЕНЬ)
КОНЕЦ
и заработало как надо
спасибо!
12 Волшебник
 
15.08.25
15:10
(11) только это не ДнейПросрочки
13 John83
 
15.08.25
15:23
(12) потом в цикле доп.обработка
14 breezee
 
15.08.25
22:58
Выбирать конечный и не выбирать начальный остаток - это ошибка
15 John83
 
16.08.25
11:11
(14) добавил все остальные измерения - без изменений
16 John83
 
16.08.25
11:13
(11) добавил еще одно поле и перестали итоги считаться

ВЫБОР
    КОГДА ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период <> ДАТАВРЕМЯ(1, 1, 1)
        ТОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период, ДЕНЬ, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент.докаСрокДебиторкиДней)
КОНЕЦ
17 Волшебник
 
16.08.25
13:32
(16) Это тоже не дней просрочки
18 Волшебник
 
16.08.25
13:40
Временно забудьте про расчёт дней просрочки в запросе. Сначала напишите алгоритм в пост-обработке результата запроса.