|
ВЫБРАТЬ
ДокументыУвеличенияДолга.ДоговорКонтрагента.Владелец КАК Контрагент,
ДокументыУвеличенияДолга.ДоговорКонтрагента КАК ДоговорКонтрагента,
ДокументыУвеличенияДолга.Сделка КАК Сделка,
ДокументыУвеличенияДолга.ДокументЗадолженности КАК ДокументЗадолженности,
ДокументыУвеличенияДолга.ДатаЗадолженности КАК ДатаЗадолженности,
ДокументыУвеличенияДолга.СуммаУвеличенияЗадолженности КАК СуммаЗадолженности,
ВЫБОР КОГДА ЕСТЬNULL(СРЕДНЕЕ(ДокументыУвеличенияДолга.СальдоПослеДокументаЗадолженности), 0) - ЕСТЬNULL(СУММА(ДокументыПогашенияДолга.СуммаПогашенияЗадолженности), 0) < ЕСТЬNULL(СРЕДНЕЕ(ДокументыУвеличенияДолга.СуммаУвеличенияЗадолженности), 0)
ТОГДА ЕСТЬNULL(СРЕДНЕЕ(ДокументыУвеличенияДолга.СальдоПослеДокументаЗадолженности), 0) - ЕСТЬNULL(СУММА(ДокументыПогашенияДолга.СуммаПогашенияЗадолженности), 0)
ИНАЧЕ ЕСТЬNULL(СРЕДНЕЕ(ДокументыУвеличенияДолга.СуммаУвеличенияЗадолженности), 0)
КОНЕЦ КАК СуммаНепогашеннойЗадолженности,
РАЗНОСТЬДАТ(ДокументыУвеличенияДолга.ДатаЗадолженности, &Дата2, ДЕНЬ) КАК ЧислоДнейЗадолженности
ИЗ
(ВЫБРАТЬ
ОстаткиИОборотыВзаиморасчетов.ДоговорКонтрагента.Владелец КАК Контрагент,
ОстаткиИОборотыВзаиморасчетов.ДоговорКонтрагента КАК ДоговорКонтрагента,
ОстаткиИОборотыВзаиморасчетов.Сделка КАК Сделка,
ОстаткиИОборотыВзаиморасчетов.Регистратор КАК ДокументЗадолженности,
ОстаткиИОборотыВзаиморасчетов.Период КАК ДатаЗадолженности,
ВЫБОР КОГДА ОстаткиИОборотыВзаиморасчетов.Период = &Дата1 И ОстаткиИОборотыВзаиморасчетов.Регистратор = НЕОПРЕДЕЛЕНО
ТОГДА СУММА(ОстаткиИОборотыВзаиморасчетов.СуммаВзаиморасчетовКонечныйОстаток)
ИНАЧЕ СУММА(ОстаткиИОборотыВзаиморасчетов.СуммаВзаиморасчетовОборот)
КОНЕЦ КАК СуммаУвеличенияЗадолженности,
СУММА(ОстаткиИОборотыВзаиморасчетов.СуммаВзаиморасчетовКонечныйОстаток) КАК СальдоПослеДокументаЗадолженности
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор) КАК ОстаткиИОборотыВзаиморасчетов
ГДЕ
СуммаВзаиморасчетовОборот > 0
ИЛИ Период = &Дата1 И Регистратор = НЕОПРЕДЕЛЕНО И СуммаВзаиморасчетовКонечныйОстаток > 0
СГРУППИРОВАТЬ ПО
ОстаткиИОборотыВзаиморасчетов.ДоговорКонтрагента,
ОстаткиИОборотыВзаиморасчетов.Сделка,
ОстаткиИОборотыВзаиморасчетов.Регистратор,
ОстаткиИОборотыВзаиморасчетов.Период
) КАК ДокументыУвеличенияДолга
ЛЕВОЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ
ОборотыВзаиморасчетов.ДоговорКонтрагента.Владелец КАК Контрагент,
ОборотыВзаиморасчетов.ДоговорКонтрагента КАК ДоговорКонтрагента,
ОборотыВзаиморасчетов.Сделка КАК Сделка,
ОборотыВзаиморасчетов.Период КАК Период,
-СУММА(ОборотыВзаиморасчетов.СуммаВзаиморасчетовОборот) КАК СуммаПогашенияЗадолженности
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&Дата1, &Дата2, Регистратор) КАК ОборотыВзаиморасчетов
ГДЕ
ОборотыВзаиморасчетов.СуммаВзаиморасчетовОборот < 0
СГРУППИРОВАТЬ ПО
ОборотыВзаиморасчетов.ДоговорКонтрагента,
ОборотыВзаиморасчетов.Сделка,
ОборотыВзаиморасчетов.Период
) КАК ДокументыПогашенияДолга
ПО
ДокументыУвеличенияДолга.ДоговорКонтрагента = ДокументыПогашенияДолга.ДоговорКонтрагента
И ДокументыУвеличенияДолга.Сделка = ДокументыПогашенияДолга.Сделка
И ДокументыУвеличенияДолга.ДатаЗадолженности <= ДокументыПогашенияДолга.Период
СГРУППИРОВАТЬ ПО
ДокументыУвеличенияДолга.ДоговорКонтрагента,
ДокументыУвеличенияДолга.ДокументЗадолженности,
ДокументыУвеличенияДолга.Сделка,
ДокументыУвеличенияДолга.ДатаЗадолженности,
ДокументыУвеличенияДолга.СуммаУвеличенияЗадолженности
ИМЕЮЩИЕ
ЕСТЬNULL(СРЕДНЕЕ(ДокументыУвеличенияДолга.СальдоПослеДокументаЗадолженности), 0) > ЕСТЬNULL(СУММА(ДокументыПогашенияДолга.СуммаПогашенияЗадолженности), 0)
УПОРЯДОЧИТЬ ПО
Контрагент,
ДоговорКонтрагента,
Сделка,
ЧислоДнейЗадолженности УБЫВ
ИТОГИ
СУММА(СуммаНепогашеннойЗадолженности)
ПО
Общие,
Контрагент,
ДоговорКонтрагента
|