Имя: Пароль:
1C
1С v8
СКД остатки по датам
0 burrya
 
16.05.14
13:55
Нужно сделать отчет с остатками на каждый день за период
Приписал запрос, закинул в СКД.

Остатки по датам считает правильно, но в группировке по периоду на 3-м уровне начинают идти следующие даты, т.е. не та дата которая стоит в верхней группировке, отсюда Выбор Когда не правильно раскидывает задолженность по срокам.

ВЫБРАТЬ
    ВзаиморасчетыОстаткиИОбороты.Период КАК Период,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.ТоргТочка КАК ТоргТочка,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.ТоргПред КАК Маршрут,
    РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.ДатаДок, ВзаиморасчетыОстаткиИОбороты.ДатаПП, ДЕНЬ) КАК Отсрочка,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.Контрагент КАК Контрагент,
    ВзаиморасчетыОстаткиИОбороты.Бренд КАК Бренд,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) <= 0
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК НеПросрочен,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) МЕЖДУ 1 И 2
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК До3,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) МЕЖДУ 3 И 7
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК От3До7,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) МЕЖДУ 8 И 15
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК От8До15,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) МЕЖДУ 16 И 30
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК От16До30,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) > 30
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК Более30,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) <= 0
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК НеПросроченКонечный,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) МЕЖДУ 1 И 2
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК До3Конечный,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) МЕЖДУ 3 И 7
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК От3До7Конечный,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) МЕЖДУ 8 И 15
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК От8До15Конечный,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) МЕЖДУ 16 И 30
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК От16До30Конечный,
    СУММА(ВЫБОР
            КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДатаПП, ВзаиморасчетыОстаткиИОбороты.Период, ДЕНЬ) > 30
                ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК Более30Конечный,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.Филиал КАК Филиал,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.Предприятие КАК Предприятие,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов КАК Документ,
    ВзаиморасчетыОстаткиИОбороты.ДатаПП,
    СУММА(ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток) КАК Долг,
    СУММА(ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток) КАК ДолгКонечный
{ВЫБРАТЬ
    Период,
    Предприятие.*,
    Филиал.*,
    Маршрут.*,
    Контрагент.*,
    ТоргТочка.*,
    Бренд.*,
    Отсрочка}
ИЗ
    РегистрНакопления.Взаиморасчеты.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , ) КАК ВзаиморасчетыОстаткиИОбороты

СГРУППИРОВАТЬ ПО
    ВзаиморасчетыОстаткиИОбороты.Период,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.ТоргТочка,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.ТоргПред,
    РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.ДатаДок, ВзаиморасчетыОстаткиИОбороты.ДатаПП, ДЕНЬ),
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.Контрагент,
    ВзаиморасчетыОстаткиИОбороты.Бренд,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.Филиал,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов.Предприятие,
    ВзаиморасчетыОстаткиИОбороты.ДокВзаиморасчетов,
    ВзаиморасчетыОстаткиИОбороты.ДатаПП

УПОРЯДОЧИТЬ ПО
    Период
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс