Как настроить контроль числа дней задолженности и автоматическое гашение долгов в 1С:Управление торговлей 10.3

Пользователь 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При работе в конфигурации 1С:Управление торговлей (редакция 10.3) пользователи часто сталкиваются с ограничением: флаг Контролировать число дней задолженности в карточке договора с контрагентом становится доступен только при включенном режиме Вести по документам расчетов с контрагентами. Попытки включить этот флаг программно или сделать его видимым не дают результата: система перестает проводить новые документы отгрузки РеализацияТоваровИУслуг, требуя полного погашения конкретных накладных.

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

Выясним причину архитектурного ограничения в 1С

Проанализируем, как система 1С хранит данные о долгах. Взаиморасчеты с покупателями фиксируются в регистре накопления ВзаиморасчетыСКонтрагентами.

Когда в договоре выбран способ ведения расчетов По договору в целом, измерения регистра заполняются только разрезом контрагента и договора, а измерение ДокументРасчетовСКонтрагентом остается пустым. В этом случае конфигурация видит только общий суммовой остаток (дебетовое или кредитовое сальдо), но физически не может определить дату самой старой непогашенной отгрузки.

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

Именно поэтому простое изменение видимости реквизита на форме договора не работает: без заполнения документов расчетов алгоритм проверки не сможет рассчитать возраст долга.

Штатный способ: автоматическое гашение долга по FIFO в платежных документах

Распространенная ошибка пользователей — представление о том, что при подокументном учете кассовый или банковский документ (ПриходныйКассовыйОрдер, ПлатежноеПоручениеВходящее) обязательно нужно выписывать строго кнопкой Ввести на основании из накладной РеализацияТоваровИУслуг.

В типовой конфигурации предусмотрен штатный механизм автоматического распределения поступивших средств по методу FIFO (от самых старых реализаций к новым):

  1. Откроем или создадим входящий платежный документ (например, ПриходныйКассовыйОрдер или ПлатежноеПоручениеВходящее).
  2. Укажем контрагента, договор с включенным флагом Вести по документам расчетов с контрагентами и общую сумму поступившей оплаты.
  3. Перейдем на закладку Документы расчетов (или в соответствующую табличную часть).
  4. Нажмем кнопку Заполнить по остаткам или воспользуемся кнопкой Подбор.

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

Альтернативные варианты и автоматизация процесса

Если предложенный штатный вариант с заполнением по остаткам в платежных документах по каким-то причинам не подходит операторам, рассмотрим варианты автоматизации процесса:

  1. Автоматическое создание или заполнение документов расчетов:

    Можно написать внешнюю обработку или фоновое задание, которое при проведении оплаты будет автоматически подбирать неоплаченные реализации и заполнять табличную часть ДокументыРасчетов за оператора.

  2. Программный контроль срока долга при учете «По договору в целом»:

    Если бизнес-процессы требуют вести расчеты строго По договору в целом, но контролировать глубину задолженности все же необходимо, типовую проверку заменяют доработкой в подписке на событие (например, ПередЗаписью или ОбработкаПроведения документа РеализацияТоваровИУслуг).

    В этом случае программист пишет запрос к регистру ВзаиморасчетыСКонтрагентами, который virtual-методом рассчитывает сальдо и виртуально распределяет оплаты по реализациям нарастающим итогом (FIFO). Полученная дата первой непогашенной отгрузки сравнивается с датой проводимого документа. Если допустимый срок превышен, проведение блокируется.

    Важно учитывать: при таком программном расчете необходимо корректно обрабатывать документы ВозвратТоваровОтПокупателя (уменьшающие старый долг) и авансовые платежи, а также следить за последовательностью проведения документов задним числом.

  3. Регулярный схлопывающий взаимозачет:

    При накоплении «хвостов» расчетов можно использовать документ КорректировкаДолга с видом операции Зачет задолженности и кнопкой Заполнить по остаткам для регулярного выравнивания дебета и кредита по документам расчетов.

Таким образом, лучшей практикой в 1С:Управление торговлей 10.3 является использование штатного ведения расчетов по документам с задействованием механизмов Заполнить по остаткам в платежных документах, что исключает рутинную работу по созданию документов «на основании» и обеспечивает корректную работу контроля дней задолженности.

← На главную