Почему Поступление безналичных денежных средств не делает движения по регистру Расчеты с клиентами по документам?

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

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

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

Причина 1. Отсутствие флага «Проведено банком»

Начнем с самой простой и распространенной методологической причины. Операция поступления безналичных денежных средств в программе разделена на два этапа:

  1. Регистрация намерения платежа. Создается документ поступления, в котором указываются плановые реквизиты. На этом этапе документ фиксирует лишь планируемое поступление денег. При этом долг клиента еще не считается погашенным, так как реального подтверждения от банка нет.
  2. Подтверждение выписки банка. После получения банковской выписки бухгалтер устанавливает в документе флаг «Проведено банком» и указывает дату проведения.

Рассмотрим этот механизм подробнее. До тех пор, пока флаг «Проведено банком» не будет установлен и документ не будет перепроведен, система не сделает никаких движений по регистрам взаиморасчетов с контрагентами (включая регистр Расчеты с клиентами по документам). Программа считает этот платеж неподтвержденным.

Причина 2. Офлайн-режим проведения расчетов (отложенное проведение)

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

При непосредственном проведении платежного документа система выполняет запись только в базовые регистры денежных средств. Вместо мгновенного расчета распределения долга по документам-основаниям программа делает запись в специальный регистр сведений — Задания к распределению расчетов с клиентами. Это позволяет существенно ускорить работу пользователей при оперативном вводе документов.

Окончательный расчет взаиморасчетов и формирование движений по регистру Расчеты с клиентами по документам в этом случае выполняются:

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

Причина 3. Программный контроль нулевых сумм при записи регистра

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

Посмотрим на пример условия в коде:


ИМЕЮЩИЕ 
    СУММА(Таблица.Долг) <> 0 
    ИЛИ СУММА(Таблица.ДолгУпр) <> 0 
    ИЛИ СУММА(Таблица.ДолгРегл) <> 0 
    ИЛИ СУММА(Таблица.Предоплата) <> 0 
    ИЛИ СУММА(Таблица.ПредоплатаУпр) <> 0 
    ИЛИ СУММА(Таблица.ПредоплатаРегл) <> 0 
    ИЛИ СУММА(Таблица.ЗалогЗаТару) <> 0 
    ИЛИ СУММА(Таблица.ЗалогЗаТаруРегл) <> 0

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

Причина 4. Настройки детализации расчетов в договоре контрагента

Огромное значение имеет то, как настроены правила ведения расчетов в договоре с клиентом или в соглашении. Рассмотрим основные варианты детализации:

Если в цепочке документов нарушена последовательность (например, оплата была введена задним числом после реализации, но в качестве объекта расчетов ошибочно указан договор без распределения по документам), проводки по регистру Расчеты с клиентами по документам могут отсутствовать до момента восстановления последовательности расчетов и полного перезакрытия месяца. Для быстрого распределения сумм по заказам и накладным можно использовать обработку для разноски платежей по объектам расчетов.

Причина 5. Влияние даты запрета изменения данных

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

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

Причина 6. Переход на новую архитектуру взаиморасчетов («Онлайн»)

Начиная с версий УТ 11.4 и выше, разработчики фирмы 1С внедрили новую архитектуру ведения взаиморасчетов под названием «Онлайн». Если в настройках вашей системы (раздел «НСИ и администрирование» — «Казначейство и взаиморасчеты») включен данный режим, поведение программы кардинально меняется:

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

Пошаговый алгоритм решения проблемы

Проанализируем ситуацию и выполним последовательные шаги по восстановлению движений во взаиморасчетах:

  1. Откройте документ Поступление безналичных денежных средств и убедитесь, что на вкладке основного платежа установлен флаг «Проведено банком» и заполнена дата проведения.
  2. Проверьте вид хозяйственной операции в документе. Для расчетов с покупателями должен быть выбран вид операции «Поступление оплаты от клиента». При других операциях (например, «Прочее поступление») движения по расчетам с клиентами формироваться не будут.
  3. Проверьте наличие невыполненных заданий по распределению расчетов. Для этого перейдите в регистр сведений Задания к распределению расчетов с клиентами. Если там содержатся записи по вашему контрагенту, это означает, что отложенные движения еще не рассчитаны.
  4. Выполните ручной запуск актуализации взаиморасчетов. Перейдите в раздел «Финансовый результат и контроллинг» — «Закрытие месяца» и запустите регламентную операцию по актуализации расчетов с клиентами.
  5. Если проблема сохраняется, проверьте настройки договора с клиентом. Попробуйте временно изменить детализацию расчетов (например, установить «По заказам» или «По договорам»), перезаполнить и перепровести цепочку документов (Заказ -> Реализация -> Поступление безналичных ДС).
  6. Убедитесь, что период проведения документов не заблокирован датой запрета редактирования данных. При необходимости временно откройте период и повторите процедуру закрытия месяца.

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

← На главную