gifts2017

Просроченная дебиторская задолженность по датам без ведения учета по документам расчетов для УТ 10.3

Опубликовал V1V Фамилия (V1V) в раздел Отчеты - Управленческие

Внешний отчет для "Управление торговлей 10.3" показывающий задолженность контрагентов, в разрезе договоров и документов реализаций, разделяет ее на уже просроченную задолженность и допустимую задолженность в пределах количества дней отсрочки по договору, показывает количество дней просрочки.

Стандартно в типовой конфигурации можно опредилить число дней просрочки по конкретному документу только в случае ведения учета по документам расчетов с контрагентами, что в свою очередь влечет трудности с разнесением оплат, возвратами и т.п. Одним словом несколько усложняет и без того нелегкий труд ответственного за дебиторку. 

Данный отчет позволяет вывести просроченные документы реализации товаров и услуг. При этом вид ведения взаиморасчетов по договору не играет никакой роли. 

Алгоритм получения просроченных документов прост. Сначала находим общую сумму долга по контрагенту. Неоплаченными документами считаем последнии документы, выписанные на данного контрагента. В отчет выводим последнии документы на сумму задолженности. И далее разделяем документы на просроченные и не просроченные. Просроченными считаются документы, которые не оплачены в срок: реквизит "число дней задолженности" в договоре. В столбце "Просрочено (дней)" выводиться количество дней просрочки, а в случае если дата оплаты еще не наступила, т.е. задолженность не просрочена, то выводится число дней до даты оплаты, соответственно со знаком минус. 

Данный отчет разрабатывался около трех лет назад, но не потерял своей актуальности и используется до сих пор.

Скачать файлы

Наименование Файл Версия Размер
Дебиторская задолженность 280
.erf 124,43Kb
19.10.13
280
.erf v3 124,43Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Макас (makas) 20.10.13 15:22
2. Марат Ибрагимов (ranger) 20.10.13 18:43
3. Ден (den_valley) 21.10.13 08:47
Основная проблема таких отчетов - низкая скорость работы на больших объемах данных (причем скорость падает экспоненциально с возрастом базы).

Насколько я понимаю, причина в том, что все они основаны на выборке таблицы регистраторов из виртуальной таблицы оборотов регистра "Взаиморасчеты с контрагентами".А поскольку нижнюю границу начала выборки определить нельзя (выбирать приходится от Р.Х.), то на каждую сумму остатка приходится выбирать по 2-3 тысячи строк (если обороты с контрагентами интенсивные).

В результате, например, подобные отчеты на базе УПП/УТ 3- летнего возраста формируются у меня уже минут по 15-20 (по 18-20 сек на контрагента).

И что-то все попытки оптимизации пока никуда не ведут особо.
4. V1V Фамилия (V1V) 21.10.13 09:10
(3) den_valley,
не понял вас. 15 минут по 20 секунд на контрагента получаем 45 контрагентов. по 45 контрагентам медленно формируются запросы по документам... как-то не верится. У меня на данный момент в базе 387 контрагентов по которым есть хоть какая-то задолженность в том числе с 2010 года. Отчет формируется: до вывода в отчет 25 секунд, вывод в отчет еще 7 секунд. Менеджеры формируют отчет только по "своим" контрагентам (RLS) соответственно у них еще быстрее формируется.
Прикрепленные файлы:
5. Ден (den_valley) 21.10.13 10:45
(4) V1V,
Ну не на всех контрагентах запрос так долго работает.
18-20 секунд выдает на 6375 записях (тестовый контрагент есть у меня один)

А так, при запуске подобного отчета в ротацию год назад время работы было 5 минут.
Сейчас 15-20.

Количество активных договоров около 1500.

И у меня отчет по ПКЗ (хотя принцип выборки, увы, тот же), потому формирует один человек по всей базе.

И выхода то особо нет, или использовать регистр "Взаиморасчеты по документам"(или ему подобные) со своими проблемами, или считать ПДЗ/ПКЗ по ФИФО расчетным методом (с потерей производительности).

Мониторю различные ресурсы в надежде найти "третий вариант", но возможно его просто не существует в природе.
6. V1V Фамилия (V1V) 21.10.13 14:36
(5) den_valley,
Третий вариант - это например регламентное задание, которое будет заполнять регистр, а отчет соответственно строится уже по готовому регистру. Задание запускается всякий раз при изменении в регистре взаиморасчетов. Такой вариант я рассматривал когда платформа стояла 8.1. При переходе на 8.2 проблема отпала.
7. Ден (den_valley) 21.10.13 14:55
Такой вариант реализован в УТ 11.
Не подходит по причине того, что регламентное задние задает блокировку транзакций и не позволяет проводит документы оперативно (отдел снабжения не может работать с поставщиками).

Следовательно днем, в рабочее время, запуск его проблематичен....
А ночью результат его работы никому не нужен :)

P.S. И скорость работы регл. задания сопоставима со скоростью работы отчета, только отчет работу не блокирует.
8. V1V Фамилия (V1V) 21.10.13 17:58
(7) den_valley, я имел в виду отдельный регистр. при изменении регистра взаиморасчеты с контрагентами, ну или при проведении документов, являющихся регистраторами в этом регистре, запускаем фоновое задание, которое пересчитывает наш регистр. т.к. это отдельный процесс и запись в регистр идет только им, то мешать этот расчет никому не будет. на счет скорости вы возможно правы, все зависит от того сколько человек используют отчет, в моем случае дебиторку смотрят 30 человек. Если бы у меня были проблемы с быстродействием, то я бы выбрал этот вариант. Но для одного-двух людей я бы точно оставил как есть и не стал бы ничего менять.
9. Антон Собейко (sobeyko2008) 23.10.13 11:55
Не работает Фильтр контрагентов "Не в группе из списка"
10. ZLENKO.PRO (ZLENKO) 23.10.13 12:30
(3) Вот тут оптимизации есть по скорости http://infostart.ru/public/117647/
Выборка начинается не от Р.Х., а от последней "нулевой" задолженности.
11. ZLENKO.PRO (ZLENKO) 23.10.13 12:35
(5) Еще вариант сделать регистр сведений (не накопления - будет медленно писаться в него) и распределение отгрузок и оплат хранить там. Я использую у одного клиента такой вариант, т.к. нужны сложные отчеты по задолженности (например, просроченная задолженность по дням в течение месяца). Недостаток: информация в регистре сведений обновляется периодически регламентным заданием.
12. smir (smir) 23.10.13 13:24
13. V1V Фамилия (V1V) 24.10.13 22:33
(9) sobeyko2008, не только этот. отбор строится программно. туда вставлены те отборы, которыми люди пользуются, остальные никому не нужны были. переменная ТекстВидСравнения в строке 91 модуля формы. там все формирование отбора, можете добавить при необходимости те что вам нужны
14. Антон Собейко (sobeyko2008) 25.10.13 09:50
Почему вы считаете что люди не пользуются этим отбором? Ну вот ни хочу я видеть задолженность по контрагентам: Сотрудники, рекламщики, откатчики и т.д. и как с этим быть?
переменная ТекстВидСравнения в строке 91 модуля формы
мне к сожалению ни о чем не говорит... я не программист...
15. V1V Фамилия (V1V) 26.10.13 13:46
(14) sobeyko2008, те у кого работает этот отчет - не пользуются. про всех на свете людей я не говорил. отчет используют менеджеры по продажам, а они видят только "своих" контрагентов. Да и откуда у других будет дебиторка? типа мы сотруднику что-то продали, а он нам не заплатил?
16. Антон Собейко (sobeyko2008) 21.12.13 00:09
А если например так получилось что Покупатель и он же поставщик и рассчитался он со мной товаром. То отчет всеравно показывает что он нам должен.
17. V1V Фамилия (V1V) 27.12.13 13:08
тогда вы сделаете корректировку долга и перенесете задолженность с одного договора на другой (смотрите методологию) и отчет все покажет правильно.
18. roman Лявин (31337) 21.02.14 09:49
19. Сергей (ildarovich) 28.02.14 20:21
(5) den_valley, можете попробовать вариант, предложенный в публикации "Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали". Там используется принципиально другой подход, позволяющий получить нужный результат гораздо быстрее. Речь идет не о минутах, а секундах. Конфигурацию менять не нужно.