Есть регистр оборотов, в который заносится долг и оплаты. Необходимо рассчитать срок задолженности (при наличии).

Нарастающим итогом задолженность считаем так:

```1c
    ВЫБРАТЬ
    ПлатежныйКалендарьОбороты.Период КАК Период,
    ПлатежныйКалендарьОбороты.СчетНаОплату КАК СчетНаОплату,
    ПлатежныйКалендарьОбороты.СуммаОборот КАК СуммаОборот,
    ПлатежныйКалендарьОбороты.СуммаОплатыОборот КАК СуммаОплатыОборот
    ПОМЕСТИТЬ Дано
    ИЗ
    РегистрНакопления.ПлатежныйКалендарь.Обороты(, &ДатаОтчета, День, ) КАК ПлатежныйКалендарьОбороты
    ГДЕ
    ПлатежныйКалендарьОбороты.СчетНаОплату = &СчетНаОплату
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    Дано.СчетНаОплату КАК СчетНаОплату,
    Дано.Период КАК Период,
    СУММА(ДоДано.СуммаОборот - ДоДано.СуммаОплатыОборот) КАК СуммаОстаток
    ИЗ
    Дано КАК Дано
    ЛЕВОЕ СОЕДИНЕНИЕ Дано КАК ДоДано
    ПО Дано.СчетНаОплату = ДоДано.СчетНаОплату
    И Дано.Период >= ДоДано.Период

    СГРУППИРОВАТЬ ПО
    Дано.СчетНаОплату,
    Дано.Период
```

Отлично, таблица нарастающим итогом считается.

Пример 1

Сделка 135 от 26.08.2018 ||| 03.09.2018 ||| 20 000
Сделка 135 от 26.08.2018 ||| 04.09.2018 ||| <0>
Сделка 135 от 26.08.2018 ||| 14.09.2018 ||| 93 000
Сделка 135 от 26.08.2018 ||| 13.11.2018 ||| 39 974
Сделка 135 от 26.08.2018 ||| 29.11.2018 ||| 93 000

Пример 2 (минус - это переплата)

Сделка 195 от 27.01.2018 ||| 30.01.2018 ||| 20 000
Сделка 195 от 27.01.2018 ||| 07.02.2018 ||| <0>
Сделка 195 от 27.01.2018 ||| 17.04.2018 ||| -20 000
Сделка 195 от 27.01.2018 ||| 22.05.2018 ||| -40 000
Сделка 195 от 27.01.2018 ||| 02.07.2018 ||| -60 000
Сделка 195 от 27.01.2018 ||| 19.07.2018 ||| -1 353 334
Сделка 195 от 27.01.2018 ||| 05.09.2018 ||| <0>
Сделка 195 от 27.01.2018 ||| 25.09.2018 ||| 2 506 666
Сделка 195 от 27.01.2018 ||| 01.10.2018 ||| <0>

Пример 3

Сделка 554 от 12.01.2019 ||| 13.01.2019 ||| 20 000
Сделка 554 от 12.01.2019 ||| 13.02.2019 ||| 40 000
Сделка 554 от 12.01.2019 ||| 13.03.2019 ||| 60 000
Сделка 554 от 12.01.2019 ||| 13.04.2019 ||| 80 000
Сделка 554 от 12.01.2019 ||| 13.05.2019 ||| 100 000

Помогите продолжить запрос, чтобы для каждого документа получить минимальную (после 0 или минусовой задолженности) дату начала положительной суммы, либо при отсутствии таковой = пустую дату. Т.е.
для примера 1 = 14.09.2018
для примера 2 = 01.01.0001
для примера 3 = 13.01.2019
---
Получаете последний день без задолжности( ДоДано.СуммаОборот - ДоДано.СуммаОплатыОборот > 0, и группируете по максимум дате), помещаете во временную таблицу, потом соединяетесь еще раз с оборотами, но группируете по Минимум дате. Это и будет дата начала последней задолжности
---
Задолженность получили. Пихаем во временную таблицую
И самое простое разбить на две части и обеъединям
В первой части Где Сумма задолженности =0 Тогда ДатаВремя(1,1,1)
Во второй Части Где Сумма задолженности >0
Можно Выбором сразу
---
В чем разница сумма и сумма оплаты? Все движения со знаком минус это вроде должны быть оплаты? Это остаточный или только оборотный регистр?
---
Получаете последний день без задолжности( ДоДано.СуммаОборот - ДоДано.СуммаОплатыОборот > 0, и группируете по максимум дате), помещаете во временную таблицу, потом соединяетесь еще раз с оборотами, но группируете по Минимум дате. Это и будет дата начала последней задолжности
---
Спасибо! В итоге запрос принял вид:

```1c
    ВЫБРАТЬ
    ПлатежныйКалендарьОбороты.Период КАК Период,
    ПлатежныйКалендарьОбороты.СчетНаОплату КАК СчетНаОплату,
    ПлатежныйКалендарьОбороты.СуммаОборот КАК СуммаОборот,
    ПлатежныйКалендарьОбороты.СуммаОплатыОборот КАК СуммаОплатыОборот
    ПОМЕСТИТЬ Дано
    ИЗ
    РегистрНакопления.ПлатежныйКалендарь.Обороты(, &ДатаОтчета, День, ) КАК ПлатежныйКалендарьОбороты
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    Дано.СчетНаОплату КАК СчетНаОплату,
    Дано.Период КАК Период,
    СУММА(ДоДано.СуммаОборот - ДоДано.СуммаОплатыОборот) КАК СуммаОстаток
    ПОМЕСТИТЬ НарастающиеИтоги
    ИЗ
    Дано КАК Дано
    ЛЕВОЕ СОЕДИНЕНИЕ Дано КАК ДоДано
    ПО Дано.СчетНаОплату = ДоДано.СчетНаОплату
    И Дано.Период >= ДоДано.Период

    СГРУППИРОВАТЬ ПО
    Дано.СчетНаОплату,
    Дано.Период
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ПоследнийДеньБезЗадолженности.СчетНаОплату КАК СчетНаОплату,
    МАКСИМУМ(ПоследнийДеньБезЗадолженности.Период) КАК Период
    ПОМЕСТИТЬ ПоследнийДеньБезЗадолженности
    ИЗ
    НарастающиеИтоги КАК ПоследнийДеньБезЗадолженности
    ГДЕ
    ПоследнийДеньБезЗадолженности.СуммаОстаток <= 0

    СГРУППИРОВАТЬ ПО
    ПоследнийДеньБезЗадолженности.СчетНаОплату
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ПервыйДеньЗадолженности.СчетНаОплату КАК СчетНаОплату,
    МИНИМУМ(ПервыйДеньЗадолженности.Период) КАК Период
    ИЗ
    НарастающиеИтоги КАК ПервыйДеньЗадолженности
    ЛЕВОЕ СОЕДИНЕНИЕ ПоследнийДеньБезЗадолженности КАК ПоследнийДеньБезЗадолженности
    ПО ПервыйДеньЗадолженности.СчетНаОплату = ПоследнийДеньБезЗадолженности.СчетНаОплату
    ГДЕ
    ПервыйДеньЗадолженности.Период >= ЕСТЬNULL(ПоследнийДеньБезЗадолженности.Период, ДАТАВРЕМЯ(1,1,1,0,0,0))
    И ПервыйДеньЗадолженности.СуммаОстаток > 0

    СГРУППИРОВАТЬ ПО
    ПервыйДеньЗадолженности.СчетНаОплату
```