Почему при оплате ввода остатков задолженность клиента превращается в «наш долг» и как это исправить

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

При переходе на новые версии конфигураций, таких как 1С:ERP Управление предприятием 2, Комплексная автоматизация 2 или Управление торговлей 11, многие пользователи и специалисты сталкиваются с особенностями механизма «Взаиморасчеты онлайн». Одна из самых распространенных и неочевидных проблем — ситуация, когда после ввода начальных остатков задолженности клиента и последующей регистрации оплаты в отчетах (например, в «Задолженности клиентов по срокам») долг клиента обнуляется, но вместо этого на ту же сумму возникает «Наш долг» (якобы аванс). Рассмотрим, почему так происходит, и разберем по шагам, как добиться корректного поведения системы.

Анализируем причину: специфика регистра «Расчеты с клиентами по срокам»

Для начала проанализируем, как система хранит данные о долгах в режиме «Онлайн». В отличие от старых механизмов, где все строилось вокруг одного регистра РасчетыСКлиентами, современный режим онлайн-взаиморасчетов активно использует вспомогательный регистр накопления — РасчетыСКлиентамиПоСрокам. Именно на основании данных этого регистра строятся аналитические отчеты по срокам дебиторской и кредиторской задолженности.

Проблема заключается в том, что этот регистр «чувствителен» к плановым датам оплаты. Когда мы создаем документ ВводНачальныхОстатков, система делает записи в два регистра:

  1. РасчетыСКлиентами — здесь фиксируется общая сумма долга по объекту расчетов.
  2. РасчетыСКлиентамиПоСрокам — здесь фиксируется сумма долга в привязке к конкретной дате возникновения и, что критически важно, дате планового погашения.

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

Выясняем причину подмены регистратора

Рассмотрим ситуацию, которую описывают технические специалисты: «При проведении оплаты меняется документ-регистратор в движениях». Это поведение характерно для механизма автоматического распределения расчетов. В режиме онлайн 1С стремится поддерживать актуальность цепочек «Долг — Оплата» в реальном времени.

Если система видит, что пришла оплата по объекту расчетов, по которому числится остаток, она запускает фоновое или оперативное распределение. Однако, если ключи аналитики (договор, валюта, направление деятельности, объект расчетов) в документе ввода остатков и в платежном документе не совпадают на 100%, автоматика «разводит» эти движения по разным веткам. В итоге мы видим в отчете две строки: одну с неушедшим долгом, другую — с появившимся авансом.

Разберем по шагам решение проблемы

Для исправления ситуации нам необходимо выполнить последовательную проверку настроек документа и состояния системы.

Шаг 1: Проверка заполнения дат в «Вводе начальных остатков»

Откроем документ ВводНачальныхОстатков, которым вводилась задолженность. На вкладке «Задолженность» (или «Данные по расчетам») необходимо убедиться, что заполнена колонка «Дата платежа».

Если задолженность вводится одной строкой, система должна понимать, когда этот долг должен был быть оплачен. Без этой даты регистр РасчетыСКлиентамиПоСрокам не сможет корректно «схлопнуть» долг с пришедшей оплатой, так как для него это будут записи с разными временными характеристиками.

Шаг 2: Проверка объектов расчетов и аналитики

Проанализируем движения обоих документов через отчет «Движения документа». Нам нужно убедиться, что в регистрах РасчетыСКлиентами и РасчетыСКлиентамиПоСрокам совпадают следующие измерения:

Даже если визуально в интерфейсе все кажется одинаковым, попробуем воспользоваться консолью запросов, чтобы проверить внутренние идентификаторы (UUID) объектов расчетов. Иногда при ручном выборе объекта расчетов в платежке выбирается не тот технический документ, который был создан вводом остатков.

Шаг 3: Контроль регламентных заданий

Посмотрим на состояние системы распределения взаиморасчетов. В конфигурациях ERP и КА за распределение отвечает фоновое задание. Если оно зависло или не отработало, данные в отчетах будут «кривыми» до момента закрытия месяца или принудительного запуска задания.

Рассмотрим, как запустить распределение вручную:

  1. Перейдем в раздел НСИ и администрирование — Обслуживание — Регламентные операции — Регламентные и фоновые задания.
  2. Найдем задание «Выполнение отложенных движений по расчету с клиентами / поставщиками».
  3. Нажмем «Выполнить сейчас».

После завершения работы задания обновим отчет «Задолженность клиентов по срокам».

Шаг 4: Использование инструментов исправления данных

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

Также полезно выполнить проверку с помощью запроса к регистру РасчетыСКлиентамиПоСрокам, чтобы увидеть, по каким именно ключам «разъехались» данные. Пример логики запроса для поиска таких расхождений:


ВЫБРАТЬ
    Расчеты.АналитикаУчетаПоПартнерам,
    Расчеты.ОбъектРасчетов,
    Расчеты.СуммаОстаток,
    РасчетыПоСрокам.СуммаОстаток КАК СуммаПоСрокамОстаток
ИЗ
    РегистрНакопления.РасчетыСКлиентами.Остатки КАК Расчеты
ЛЕВОЕ СОЕДИНЕНИЕ 
    РегистрНакопления.РасчетыСКлиентамиПоСрокам.Остатки КАК РасчетыПоСрокам
    ПО Расчеты.АналитикаУчетаПоПартнерам = РасчетыПоСрокам.АналитикаУчетаПоПартнерам
    И Расчеты.ОбъектРасчетов = РасчетыПоСрокам.ОбъектРасчетов
ГДЕ
    Расчеты.СуммаОстаток <> РасчетыПоСрокам.СуммаОстаток

Если запрос возвращает строки, значит, есть расхождение между основным регистром взаиморасчетов и регистром аналитики по срокам. Это прямой сигнал к необходимости перепроведения документов или использования обработки «Исправление заданий к распределению расчетов».

Резюме и рекомендации

Подводя итог, можно сказать, что проблема чаще всего вызвана тем, что при вводе остатков не заполняется график оплаты. Система воспринимает ввод остатков как «бессрочный» долг, а оплату — как конкретное событие, и не может их связать в аналитическом регистре по срокам.

Основные рекомендации:

← На главную