Ситуация, когда в отчетах по взаиморасчетам в 1С:Управление торговлей 11 (а также в ERP и Комплексной автоматизации) мы видим одновременно и задолженность клиента, и наш долг перед ним при нулевом общем сальдо, является одной из самых распространенных и неприятных. Особенно часто это проявляется при начале работы с системой, когда данные заносятся документом Ввод начальных остатков. В этой статье мы подробно разберем, почему так происходит, как работает механизм «схлопывания» задолженности и что нужно проверить, чтобы привести отчеты в порядок.
Рассмотрим типичный пример: на начало периода мы ввели задолженность клиента в размере 50 000 рублей. Позже клиент оплачивает эту сумму безналичным расчетом. В оборотной ведомости мы видим: приход 50 000, расход 50 000, конечное сальдо — 0. Однако если мы сформируем отчет с детализацией по расчетным документам или по срокам дебиторской задолженности, мы обнаружим странную картину: программа считает, что клиент все еще должен нам 50 000 по документу ввода остатков, а мы должны клиенту 50 000 по документу оплаты (аванс). Проанализируем причины этого поведения системы.
В современных конфигурациях на платформе 1С:Предприятие 8.3 ключевым разрезом учета является Объект расчетов. Когда мы используем документ Ввод начальных остатков, система часто воспринимает сам этот документ как объект, на котором «висит» долг.
Разберем по шагам, как проверить этот момент:
Поступление безналичных денежных средств.Объект расчетов. Если там указано «Договор» или «Заказ», а долг введен документом остатков с детализацией «По расчетным документам», автоматического зачета не произойдет.Важный нюанс: Многие пользователи ищут в списке подбора «Реализацию», номер которой они указали внутри ввода остатков как первичный документ. Но для системы 1С объектом расчетов является именно документ Ввод начальных остатков. Попробуем в документе оплаты выбрать в качестве объекта расчетов именно его.
Как показывает практика и обсуждения на форумах, часто проблема кроется в «гигиене» справочников. В УТ 11 разделены понятия Партнер (управленческий учет) и Контрагент (юридическое лицо). К одному партнеру может быть привязано несколько контрагентов. Для быстрого устранения таких ошибок и очистки справочника можно использовать обработку для поиска и слияния дублей контрагентов по ИНН и КПП.
Выясним, не произошла ли ошибка при вводе данных:
Это происходит из-за механизма работы регистра Ключи аналитики учета по партнерам. Для каждого уникального сочетания «Организация + Партнер + Контрагент + Договор» создается уникальный идентификатор. Если хотя бы один параметр отличается (даже если это дубль с тем же названием), система считает это разными потоками расчетов и не закрывает их между собой.
В УТ 11.4 и выше расчеты не всегда пересчитываются мгновенно при проведении документа. Программа использует механизм отложенного проведения для ускорения работы пользователей. Рассмотрим, как это влияет на отчеты.
Если мы видим «встречные» долги, нам необходимо убедиться, что выполнено регламентное задание Выполнение отложенных движений по расчетам с клиентами. Пока оно не отработает, данные в регистрах Расчеты с клиентами по срокам и Расчеты с клиентами по документам могут быть не актуализированы.
Чтобы запустить процесс вручную, проследуем в раздел: НСИ и администрирование — Обслуживание — Регламентные операции — Регламентные и фоновые задания. Найдем указанное задание и нажмем «Выполнить сейчас».
Если автоматического распределения не произошло (например, в договоре стоит способ ведения расчетов «По расчетным документам»), нам необходимо связать оплату и долг вручную. Посмотрим, как это сделать правильно:
Если визуально всё кажется верным, но долги не схлопываются, проанализируем ситуацию на уровне записей базы данных. Нам интересны два основных регистра накопления:
РасчетыСКлиентами — здесь хранится общая сумма долга.РасчетыСКлиентамиПоДокументам — здесь детализируется долг в разрезе расчетных документов.Часто бывает, что по первому регистру остаток нулевой, а по второму висят остатки с разными знаками. Это явный признак того, что в документах указаны разные аналитики. Проверьте через «Консоль запросов» или отчет «Движения документа» следующие реквизиты в обоих документах (Ввод остатков и Оплата):
Если проблема вызвана техническим сбоем или дублями, которые уже удалены, но «хвосты» остались, воспользуемся стандартными средствами исправления:
В разделе НСИ и администрирование — Обслуживание — Корректировка данных выберем пункт Правила проверки учета. Там есть встроенные проверки для взаиморасчетов. Если система обнаружит некорректные ключи аналитики, она предложит их исправить. Для автоматизации этого процесса и исправления расхождений в аналитике можно воспользоваться обработкой для перезаполнения регистров взаиморасчетов.
Также полезно использовать следующий код для принудительного пересчета (в контексте внешней обработки или консоли кода, если вы разработчик):
// Пример вызова процедуры пересчета из типовых механизмов
ДенежныеСредстваСервер.ВыполнитьРаспределениеРасчетов(Параметры);
// Где Параметры содержат ссылку на организацию или конкретного партнера
Для исправления «двойного» долга в УТ 11 при вводе начальных остатков мы рекомендуем придерживаться следующего алгоритма:
Вводе остатков и Оплате совпадает Организация и Договор.Выполнение этих шагов в 99% случаев позволяет «схлопнуть» встречные задолженности и получить корректное сальдо в отчетах.