Отчет по просроченной задолженности/задолженность по интервалам (УПП УТ 8.1, СКД)
Учетные задачи - Взаиморасчеты
Бесплатные
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО
| Наименование | Скачано | Бесплатно |
|---|---|---|
|
Версия 0.98
.1247379740 31,70Kb
1261
|
1261 | Скачать бесплатно |
|
Новый запрос
.1247023098 8,70Kb
991
|
991 | Скачать бесплатно |
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Полная версия отчета //infostart.ru/projects/5467/
Наконец-то наваял в удобоваримом виде сей отчет. Использую подобные отчеты давно, но изначально они были очень специализированы под меня. Переделал и объединил в СКД. В результате получил хорошую гибкость настроек и кучу плюшек .Кто скажет "нафига ещё один!" - идут лесом. В 1С отчет по интервалам использует не ту логику (хотя и гораздо быстрее за счет этого) и не подходит очень многим. Среди опубликованых здесь большая часть - платные.
Данная обработка выводит просроченный долг по клиентам в 3 возможных разрезах: по контрагентам, по договорам, по сделкам. Результаты при выборе каждого уровня будут различны, так как зачет долга тоже происходит согласно уровню. Например, если по контрагенту отгрузка была проведена по одному договору, а оплата по другому, то при при выборе уровня Контрагенты эта оплата "погасит" долг клиента. На уровне договоров этого не произойдет и у клиента будет значиться долг.
Число дней просрочки берется из договора клиента (в разрезе контрагента находится минимальный срок среди всех договоров) или, если указан 0, то из параметра "Дней отсрочки по умолчанию". В конфигурацию, для которой писалась данная обработка, внесены некоторые небольшие измениния, которые позволяют указывать число дней просрочки при любых параметрах договора. Но, как говорилось выше, если срок указан равным 0, то используется значение параметра, и в неизменной конфигурации отчет тоже будет работать.
Выполнение отчета разбито на 3 этапа. На первом этапе формируется таблица контрагентов. В связи с этим при начальном формировании должны соблюдаться условие: все помеченые параметры отчета должны быть указаны (параметры, а не отбор).
На втором этапе таблица контрагентов передается в функцию формирования основной таблицы отчета. Собственно здесь и происходит расчет просроченной задолженности.
На третьем этапе отчет выводится через механизм СКД. После этого можно работать с отчетом как с обыкновенным, но использовать при этом кнопку "Сформировать без изменений". В этом случае все манипуляции происходят сразу с уже сформированой таблицей и никаких дополнительных ограничений нет. Кроме того, формирование отчета в этом случае происходит гораздо быстрее, так как отчет манипулирует с уже готовыми данными.
Проще говоря, сформировав отчет по определенным параметрам, можно менять его порядок, группировки, иные отборы и т.д. через кнопку "Сформировать без изменений". Таким образом отчет получается быстрее. Не стоит забывать, что ключевым отбором является отбор по контрагенту и отборы касаемые списка контрагентов можно только уточнять. В противном случае данные будут неполные.
Стоит заметить, что изначальное использование более высокого уровня отчета означает, что подчиненные уровни не формируются. Например, если вид отчета выбран "Контрагент", то информация о договорах и сделках в основной таблице отсутствует. В это случае добавление группировки Договор или Сделка в оформлении отчета не будет иметь смысла.
При двойном щелчке на строку можно выполнять стандартные действия, которые в результате или изменят текущий отчет, или откроют новый. Новый отчет будет уже с заполненной главной таблицей, но если потребуется её переполучить, то этот отчет придется заново настроить согласно 3 условиям.
Кроме того, при двойном щелчке на контрагенте или договоре добавляется пункт "Письмо дебитора". Но получить письмо дебитора возможно только для просроченной задолженности.
NEW Отчет запускается и в УТ!
NEW Забыл, что отчет и кредиторку точно также показывает.
NEW Обновил обработку поменяв много мелких запросов в циклах на один большой. Здесь пока версию не выложу. Но есть отчет на основе этого запроса. Если хотите помощи в изменение отчета - пока в личку.
Новый отчет упрощенный. Без всяких красивостей. Но быстрый. Очень. Особенность - всё в одном запросе с оптимизированным алгоритмом нарастающих итогов.
Данный отчет возник после дискуссии по поводу реализации алгоритма расчета просроченной дебиторской задоженности. В результате был написан запрос, который был оформлен через СКД. Данный отчет реализован с минимальным функционалом и реализует только один случай просроченной дебиторки в разрезе контрагентов. Кто немного разбирается в программировании исправит предыдущую версию под новый запрос...Если возникают вопросы можно в личку.
Теперь конечная таблица формируется в едином запросе, с помощью пакетных запросов, временных таблиц и оптимизированного алгоритма нарастающих итогов в запросе. Стандартный алгоритм расчета нарастающих итогов в запросе имеет один большой недостаток - существенное увеличение времени выполнения запроса при большом количество документов взаиморасчетов. В данном запросе эта проблема решена. На мой взгляд запрос получился интересным, но я первый раз работаю с новым функционалом запросов, поэтому подскажите, если что не так или где можно сделать лучше.
Ах да...чуть не забыл. Число дней задолженности берется аналогично поэтому если надо заменить источник дней задолженности, а сами не можете, то присылайте свой запрос который получает число дней для контрагента, а в ответ я скину запрос для СКД с исправлениями.
ВАЖНОЕ ЗАМЕЧАНИЕ! Если у Вы думаете, что общая задолженность по моему запросу не совпадает с ведомостью по взаиморасчетам и отчетом по задолженности, то вы скорее всего ошибаетесь. Объясню почему. Дело в том, что типовые отчеты построены так, что вне зависимости какую группировку Вы выбираете (контрагент, договор и т.д.), те отборы, которые включены (например Сумма>0) действуют на нижнем уровне самого отчета, а не на выбранной группировке.
Ситуация. У контрагента есть два договора А и Б, взаиморасчеты по которым ведутся вцелом по договору(можно и по-другому, просто пример легче). По первому договору у клиента долг 100 000, по второму переплата 50 000. Теперь пробуем получить ведомость по взаиморасчетам. Выберем группировку по договорам - выйдет всё красиво и верно. Теперь выберем группировку только по контрагентам - в результате получим цифру 50 000 долга - опять верно. А теперь добавим условие сумма остатка >0 и бац!!!! Остаток - 100 000! Как! Почему! А потому, что сначала фильтруются записи, а потом строится группировка. Такая же фигня для отчета по задолженностям... Видимо, чтобы такая фигня не бросалась в глаза из отчета по взаиморасчетов убрали возможность получать отчет в разрезе документов-регистраторов.
Как же проверить данные? Нужно не задавать отборов на сумму, а получить отчет сгруппированый как нужно и кинуть его в ексель или calc чтобы убрать суммы меньше 0. Ну или написать свой отчет с нужными группировками (:
Исправил первый вариант отчета.
Неправильно считались корректировки долга на взаимозачеты уменьшая срок долга
В качестве даты долга использовалась дата регистратора, что не всегда верно.
Неправильно формировались интервалы долга
Пожайлуста, пишите о найденных ошибках и недочетах, так как нет возможности проверять на различных наборах данных
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)
Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.
50200 руб.
24.04.2015 211440 186 254
Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)
Задайте для каждой организации свою печать и для каждого физического лица свою подпись. Выберите в документе печатную форму "... с печатью и подписью" - и автоматически сформируется табличный документ с печатью и подписями той организации и ответственных лиц, которые указаны в документе.
17080 руб.
13.03.2018 72986 277 80
Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)
Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.
5084 руб.
25.11.2020 31649 345 21
Взаиморасчеты Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)
Расширение позволяет гибко настроить расчет и начисление пени в 1С в организации.
9760 руб.
18.10.2017 44861 108 47
Взаиморасчеты Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)
Обработка позволяет автоматически формировать акты сверки сразу по группе контрагентов, отобранных по папкам, что существенно сокращает время работы по сравнению с типовым функционалом 1С:Бухгалтерии предприятия 3.0.
8652 руб.
17.11.2020 27073 32 3
SALE! 10%
Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)
Создать и отправить 1000 Актов серки контрагентам за 5 мин?! Легко! Разработано для конфигурации 1C:УНФ. Массовое создание и рассылка Актов сверки в три клика.
9760
8784 руб.
13.01.2022 14857 28 14
Взаиморасчеты Бухгалтер Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Бухгалтерский учет Управленческий учет Платные (руб)
Один из лучших вариантов отчета по дебиторской задолженности в 1С. Отображает сроки возникновения задолженности, просроченной задолженности с точностью до регистратора, а также многое другое, вне зависимости от объекта расчетов (УТ 11.3, 11.4, 11.5, КА 2.4, 2.5, ERP 2.4, 2.5), состояния флажка По документам расчета ( УТ 10, КА 1.1, УПП 1.3) в договоре. Группирует задолженность по интервалам. Имеет большое количество настроек. Доступен API для использования рассчитанной задолженности в других отчетах, обработках, рабочих местах и т.п. Не требует доработок конфигурации. Не требует перепроведения документов.
16958 руб.
28.09.2012 107707 601 301
Банковские операции Взаиморасчеты Учет документов Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Россия Бюджетный учет Платные (руб)
Расширение для конфигурации 1С:Бухгалтерия 3.0. Многоуровневое согласование заявок на оплату с оповещением и делегированием прав.
15250 руб.
09.09.2025 3534 10 0
> Число дней просрочки берется из договора клиента
не знаю как в 8-ке, в 7-ке это поле используется для заполнения ДОКУМЕНТОВ ПО УМОЛЧАНИЮ. так что имхо брать из справочников - неверно...
по поводу п.4 как раз этот алгоритм и применяется когда количество дней просрочки либо в договоре либо в документе могут быть разные.
по понкту 2, не можем. Особенно, если отсрочка устанавливается для каждого документа,а платежи не разносятся по документам!
можно также высчитать и глубину долга...
Минус влеплен за неподобающее оформление разработки на данной странице. Отсутствие скриншотов существенно затроудняет анализ и выбор требуемой разработки пользователями. Думайте не только о себе, плиз...
.
вдогонку (2) > Данный параметр договора используется и в документах, при проведении, если чо.
- очень сомневаюсь. Использование ПРИ ПРОВЕДЕНИИ документа данных, не сохраняемых в реквизитах документа - признак дурного тона программирования 1С... так что убедительная просьба знающему УТ человеку разъяснить. каким образом этот параметр договора влияет на проведение документа.. плиз..
(6) (вторая половина) вообще не в ту степь. Как указано в (7) реквизит создан 1С (вот такой у них дурной тон (: ). Создан для остановки отгрузки при превышении числа дней задолженности. На содержательную часть проведения документа не влияет - просто не дает проводить оперативно. Вся доработка конфы заключалась только в том, что это реквизит в договоре сделать не только запретительным, но и справочным (не отменяя запретительную функцию). Просто была отменены условия видимости/невидимости этого поля и его обнуления.
(5) поплывут, но отчет по просроченной задолженности требуется для оперативного анализа. И если даже в фирме заведено так, что изменяются условия УЖЕ заключенного договора (тут, кстати, вообще куча всякой гадости вылезает), а не правильным заключением дополнительных соглашений, то оперативная составляющая отчета тут не повредиться, а продолжит выполнять свою функцию. А если уж так хочется стабильности и независимости, то есть отчет по интервалам, но там уж "одна норма" на всех.
И здесь подписываюсь. Особенно если несколько элементов договоров, и необходимо
следить за правильной расстановкой в платёжных, отгрузочных доках.
Количество дней в случае уровня отчет по контрагенту берется минимальное. Сейчас уже запамятовал, из всех договоров, или только из тех по которым есть долг.
(17) Долг расчитывается по алгоритму схожему с FIFO. Подробнее. Находится общая сумма долга (по контрагенту, договору, сделке). С конечной даты в обратном порядке перебираются все документы взаиморасчетов. Документы увеличивающие задолженность уменьшают сумма нераспределенной задолженности и так до нуля. Попутно заполняются данные сумма долга, сумма просроченного долга, оплата (оплата не привязана к документу реализации, нужна справочно, чтобы видеть что по клиенту есть движения) и т.д. В результате имее таблицу с документами, которую передаем в СКД. Таким образом, мы не зависим от распределений сумм средствами 1с.
Результат 2 248 ( и возможно я еще не все запросы обложил счетчиком).
Это не иначе как изнасилованием сервера не назовешь. Впечатление жуткое. Все эти данные можно получить с помощью одного запроса и нескольких строчек кода.
Я изменил свою обработку, посмотри.
Кроме того, показателей всё-таки у меня поболе, чем в твоей. Но это не минус тебе.
ВСЯ таблица взаиморасчетов - хранится в оперативке, у меня окромная база, а результат запроса всего 9000 строк(если без отборов). Для клиентской машины средней производительности - как два пальца ... (Опять же стоит подумать о других пользователях и не перегружать их машины)
На мой взгляд, в реализации этой задачи, ты изначально пошел не тем путем, поэтому (это только мое мнение) проще заново сделать чем модифицировать.
А код я закрыл, потому что в предыдущем случае ты не нашел в нем ничего нового и интересного..
ВЫБОР
КОГДА ПериодыРегистратор.Период < УвеличениеРегистратор.Период
ТОГДА ИСТИНА
ИНАЧЕ ВЫБОР
КОГДА ПериодыРегистратор.Период = УвеличениеРегистратор.Период
ТОГДА ПериодыРегистратор.Регистратор <= УвеличениеРегистратор.Регистратор
ИНАЧЕ ЛОЖЬ
КОНЕЦ
КОНЕЦ
Есть недоработки
1 Проверяй запрос ( остаток на дату отчета у некоторых контрагентов не сходится с ведомостью по взаиморасчетам и с остатком по регистру "В-ты с к-ми" на дату.
2 Желательно получать данные в разрезе организаций, потому как часто в одной базе несколько организаций.
Ситуация. У контрагента есть два договора А и Б, взаиморасчеты по которым ведутся вцелом по договору(можно и по-другому, просто пример легче). По первому договору у клиента долг 100 000, по второму переплата 50 000. Теперь пробуем получить ведомость по взаиморасчетам. Выберем группировку по договорам - выйдет всё красиво и верно. Теперь выберем группировку только по контрагентам - в результате получим цифру 50 000 долга - опять верно. А теперь добавим условие сумма остатка >0 и бац!!!! Остаток - 100 000! Как! Почему! А потому, что сначала фильтруются записи, а потом строится группировка. Такая же фигня для отчета по задолженностям... Видимо, чтобы такая фигня не бросалась в глаза из отчета по взаиморасчетов убрали возможность получать отчет в разрезе документов-регистраторов.
Как же проверить данные? Нужно не задавать отборов на сумму, а получить отчет сгруппированый как нужно и кинуть его в ексель или calc чтобы убрать суммы меньше 0. Ну или написать свой отчет с нужными группировками (:
Маленький совет
вместо
стр1.ВидСравнения=стр.ВидСравнения;
стр1.Использование=стр.Использование;
стр1.ЛевоеЗначение=стр.ЛевоеЗначение;
стр1.ПравоеЗначение=стр.ПравоеЗначение;
стр1.Представление=стр.Представление;
стр1.Применение=стр.Применение;
стр1.РежимОтображения=стр.РежимОтображения;
и т.д. проще использовать ЗаполнитьЗначенияСвойств( Стр1, Стр ) - больше шансов, что ничего не пропустишь :)
Во втором отчете - демонстрация запроса. Никакой гибкости не предусмотрено. Просто я пересмотрел алгоритм и переделываю основной отчет. Причем не только алгоритм, но и юзабилити, и функционал, поэтому его ещё здесь нет.
Да, там выводы в виртуальные таблицы. Но отчет структурирован, если хочешь скину в личку описание алгоритма, если ж не смог разобраться.
(45) Настройки очень просты. Если ты хоть немного разбираешься в СКД. Галочки у параметров не меняем, сами параметры менять можно. Чтобы отобрать контрагентов - задаем отбор по контрагентам (любой отбор без групповых условий). Задаем нужные группировки и вперед. Если хочешь, чтобы менеджеры не мучались, то создаешь все настройки - сохранеяшь их в xml (чтобы не потерялись) и вперед. У меня менеджеры просто нажимают кнопку.
(45) описал мой первый алгоритм. Второй быстрее.
Кроме того, есть платная версия, где организации учтены и есть много чего ещё.
Можно в личку.
1. Таким способом можно получить только сумму просроченного долга, но никак не его структуру и свойства.
2. Алгоритм проверки можно сократить. В Вашем случае получаем Сумма долга на дату -7дней, сумма отгрузки и сумма долга на текущую дату. Можно обойтись суммой долга на дату -7дней и суммой оплаты за этот период. Т.е. Просроченный долг = СуммаДолга[-7д] - СуммаОплатыЗаПериод[7д]
3. Без кодинга такой подход можно реализовать только в рамках СКД - параметрическая связь НаборовДанных (как в отчете по продажам в определенных ценах)
4. Алгоритм невозможно модернизировать для случаев, когда количество дней просрочки устанавливается для каждого документа разные
Пример:
период 01.04.2012 по 20.05.2012
Контрагент (Число дней допустимое 14)
Сумма долга начало -100р
Реализация №1 от (01.04.2012) 200р просрочено 21день
Реализация №2 от (05.05.2012) 150р не просрочено
Приходник №1 от (05.05.2012) -150р
ВозвратТовара №1 от (06.05.2012) -100р
получается только к концу периода просроченные реализации видно а как в течении периода просроченные реализации видеть как
этот пример за период не показывает просрочку по фифо, нужно чтобы Реализация №1 показывалась как просроченная(хотя и оплачена но с опозданием на 21день).
Какой должен быть алгоритм запроса?
1. написать простой отчет по регистру взаиморасчеты по документам расчетов, но для этого регистр нужно всегда держать в порядке
2. получить неоплаченные долги за каждый день периода и уже эти данные объединить в 1 таблицу, которую можно проанализировать дальше.
1.(взаиморасчеты по документам расчетов) - не приемлемо т.к. договоры не учитываются, контрагент может покупатель и поставщик одновременно быть, даже число дней на контрагента прописал.
2 вариант попробую.
Ваше мнение - если в регистр (взаиморасчеты с контрагентами) добавить ресурс или вообще новый регистр создать и документами в него расчет делать а после для отчета данные брать из него?
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 20221
Создание 01.06.09 14:08
Обновление 14.08.09 09:41
Просмотры 62883
Загрузки 531
Рейтинг
88
Комментарии 91
Код открыт Не указано
Рубрики Взаиморасчеты
Кому
Бухгалтер
,
Пользователь
Тип файла Внешний отчет (ert,erf)
Платформа 1С:Предприятие 8
Конфигурация
1С:Управление торговлей 10
,
1С:Управление производственным предприятием
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Управленческий учет
Доступ к файлу Абонемент ($m)