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