Отчёт «Стоп-лист» по задолженности клиентов в расширении УТ 11.5
В работе кредитного контроля часто нужен один список: у кого есть долг, у кого срок уже вышел, и на какого торгового представителя это повесить. Типовые отчёты по задолженности клиентов это умеют частично, но не собирают картину «представитель → клиент → отгрузка» с долей просрочки. Предлагаю отдельный отчёт СКД в расширении.
В отчете те же даты платежа и остатки, что в «Задолженности клиентов по срокам», плюс свои колонки: дни отсрочки, дата ОЗ, неоплачено, просрочка, доля %.
Используем тот же контур взаиморасчётов, что и типовые отчёты, и не пересчитываем график из соглашения сами.
Отчёт открывается штатной формой. Дата среза по умолчанию — начало текущего дня, отборы: организация, торговый представитель, клиент.
В отчёт попадают только реализации, акты выполненных работ и корректировки реализаций с «Неоплачено» больше нуля. Чеки ККМ, возвраты и отчёты комиссионера не берём.
Расчёт просрочки
Просрочка — не весь остаток, а сумма ДолгУпр по датам платежа раньше начала дня среза.
ВЫБРАТЬ
ОстаткиПоСрокам.ОбъектРасчетов КАК ОбъектРасчетов,
СУММА(ОстаткиПоСрокам.ДолгУпр) КАК Неоплачено,
СУММА(ВЫБОР
КОГДА ОстаткиПоСрокам.ДатаПлановогоПогашения > ДАТАВРЕМЯ(1, 1, 1)
И ОстаткиПоСрокам.ДатаПлановогоПогашения < НАЧАЛОПЕРИОДА(&ДатаСреза, ДЕНЬ)
ТОГДА ОстаткиПоСрокам.ДолгУпр
ИНАЧЕ 0
КОНЕЦ) КАК СуммаПросроченнойПоДатам,
МИНИМУМ(ВЫБОР
КОГДА ОстаткиПоСрокам.ДатаПлановогоПогашения > ДАТАВРЕМЯ(1, 1, 1)
И ОстаткиПоСрокам.ДатаПлановогоПогашения < НАЧАЛОПЕРИОДА(&ДатаСреза, ДЕНЬ)
ТОГДА ОстаткиПоСрокам.ДатаПлановогоПогашения
КОНЕЦ) КАК МинНаступившаяДата,
МАКСИМУМ(ВЫБОР
КОГДА ОстаткиПоСрокам.ДатаПлановогоПогашения > ДАТАВРЕМЯ(1, 1, 1)
ТОГДА ОстаткиПоСрокам.ДатаПлановогоПогашения
КОНЕЦ) КАК МаксДатаПлатежа
ПОМЕСТИТЬ АгрегатПоОбъекту
ИЗ
ОстаткиПоСрокам КАК ОстаткиПоСрокам
СГРУППИРОВАТЬ ПО
ОстаткиПоСрокам.ОбъектРасчетов
ИМЕЮЩИЕ
СУММА(ОстаткиПоСрокам.ДолгУпр) > 0
Дата окончания отсрочки (ОЗ) на строке: ближайшая уже наступившая дата платежа; если ни одна не наступила — последняя дата этапа. Если дат платежа нет совсем, ОЗ равна дате отгрузки, а после этой даты весь остаток считаем просроченным.
«Дни» — календарные дни от даты отгрузки до даты ОЗ, без исключения выходных.
Долю на строке считаем как просрочка / неоплачено × 100. На итогах группы — не среднее долей строк, а пересчёт от сумм группы. В СКД это отдельный ресурс:
ВЫБОР
КОГДА Сумма(Неоплачено) = 0
ТОГДА 0
ИНАЧЕ Сумма(СуммаПросроченнойЗадолженности) / Сумма(Неоплачено) * 100
КОНЕЦ
Сверку удобно делать с типовым отчётом по задолженности на ту же дату в валюте упр. учёта: «Неоплачено» и просрочка по наступившим этапам должны совпасть.
Регистрация варианта — минимальный захват типового модуля:
&После("НастроитьВариантыОтчетов")
Процедура СЛ_НастроитьВариантыОтчетов(Настройки)
Отчеты.СЛ_СтопЛист.НастроитьВариантыОтчета(Настройки);
КонецПроцедуры
Протестировано на 1С:Управление торговлей 11.5.26.106, платформа 8.3.27.
Вступайте в нашу телеграмм-группу Инфостарт