Общий вид отчета :
Для бухгалтера.
Для каждой пары контрагент-договор на дату отчета определяется сумма сальдо по 62 счету в целом (колонка" Общий долг"). На эту сумму сальдо в обратном хронологическом порядке набираются документы отгрузки (дебетовые обороты счета 62.01). Для каждого документа отгрузки определяется количество дней от даты отчета. Это количество сравнивается с количеством дней , установленным в договоре и определяется просрочен долг по документу или нет (колонки "Просрочено" или "Не просрочено"). Если в договоре документа не указан реквизит Срок оплаты , то берется значение из формы отчета - "Срок Оплаты". Колонку "Просрочено" можно развернуть по назначенным интервалам(кнопка "Интервалы") и дням. См рисунок.
Внимание. Значение в колонке "Общий долг" для контрагента может не совпадать с сальдо контрагента по 62 счету в целом.
Потому что общий долг контрагента формируется как сумма всех больших нуля сальдо по договорам. В эту сумму не входят отрицательные сальдо по договорам.
Работа отчета не зависит от установки режима "Расчет по документам" (наличие или отсутствие третьего субконто на 62 счете).
Для программиста.
На тему "Просроченный долг" на ИС опубликовано немало решений . Принципиальное отличие текущей разработки прежде всего в методе получения просроченного долга.
Запрос для получения выходной таблицы получен без кодинга. Только при помощи конструктора запроса. Автору представляется такой подход к построению отчета наиболее оптимальным для клиент-серверного варианта базы. Мы практически отвязываемся от "слабости" клиента и основную обработку перекладываем на сервер БД. Алгоритм, используемый в отчете и описанный в статье //infostart.ru/public/61295/, должен быть эффективен при использовании как на малых , так и на средних (>30 Гб) и больших базах (>100 Гб). Автор будет особенно признателен авторам отзывов , которые будут тестировать отчет на средних и больших базах.
В представленном внешнем отчете для оформления использованы процедуры и функции типового отчета БП 1.6 "Задолженность покупателей по срокам долга". Функционирование отчета протестировано на релизах БП с 1.6.15 по 1.6.22.
Для выделения строки в табличном документе отчета использована разработка "Активный крест в табличном документе" //infostart.ru/public/19519/
Для любопытных.
Задача просроченных долгов - лишь частный случай задачи списания по методу ФИФО.
Действительно, в задаче просроченного долга :
S- сумма долга контрагента
C1,C2,.....Сk - последовательность сумм документов отгрузки
Нужно определить такую последовательность Сm,Cm+1....Cn , чтобы
S=Сm+Cm+1+....+Cn
Грубо говоря , мы набираем на сумму S суммы документов отгрузки.
Если вместо S определить последовательность приходов S1,S2,.....Sk , то получим задачу списания по методу ФИФО.
В настоящий момент автор полагает , что такая задача может быть решена без кодинга при помощи одного пакета запросов, набранного в конструкторе. Возможно, построение такого запроса , будет рассмотрено позднее.
"Позднее" наступило 02.04.2010 //infostart.ru/public/68225/