Как восстановить взаиморасчеты с контрагентами в 1С:ERP?

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

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

1. Архитектурные отличия 1С:ERP от 1С:УПП: почему нет «волшебной кнопки»

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

В современных редакциях 1С:ERP (особенно начиная с версии 2.5) архитектура взаиморасчетов была в корне переработана. Разработчики отказались от жестких последовательностей проведения в пользу регистров сведений, хранящих задания для отложенного или фонового расчета. Отдельного инструмента ручного перепроведения документов для восстановления расчетов здесь нет, поскольку система отслеживает изменения в транзакциях автоматически.

2. Переход на онлайн-взаиморасчеты в новых версиях 1С:ERP

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

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

3. Восстановление взаиморасчетов через «Закрытие месяца»

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

  1. Формирование движений по расчетам с контрагентами — на этом этапе программа анализирует все изменения за месяц и распределяет платежи по расчетным документам (заказам, накладным, договорам).
  2. Отражение документов в регламентированном учете — здесь формируются проводки по счетам 60, 62 и др. на основании уже рассчитанных оперативных данных.

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

4. Как принудительно запустить пересчет расчетов через регистры заданий

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

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

  1. Откройте Главное меню программы и перейдите в раздел «Функции для технического специалиста» (в старых версиях — «Все функции»). Если этот пункт меню недоступен, включите его через Главное меню — Настройки — Параметры — Режим технического специалиста.
  2. В списке объектов найдите группу «Регистры сведений».
  3. Найдите и откройте один из целевых регистров в зависимости от того, с кем именно сбились расчеты:
    • Задания к распределению расчетов с клиентами
    • Задания к распределению расчетов с поставщиками
  4. Создайте новую запись в регистре. В качестве ключевых аналитик укажите организацию, клиента/поставщика и дату, начиная с которой необходимо восстановить расчеты.

Для программистов и системных администраторов приведем пример кода, как можно программно зарегистрировать такое задание для автоматического пересчета механизмом платформы:


НоваяЗапись = РегистрыСведений.ЗаданияКРаспределениюРасчетовСКлиентами.СоздатьМенеджерЗаписи();
НоваяЗапись.Организация = СсылкаНаОрганизацию;
НоваяЗапись.Партнер = СсылкаНаПартнера;
НоваяЗапись.Месяц = НачалоМесяца(ДатаНачалаНарушения);
НоваяЗапись.Записать();

После записи в данный регистр фоновое регламентное задание автоматически подхватит эту строку и выполнит корректное распределение сумм без полного перепроведения первичных документов.

5. Помощник «Контроль и устранение разрывов расчетов с партнерами»

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

Этот помощник сверяет данные между оперативными регистрами расчетов и регистрами по срокам (где хранится плановая и фактическая задолженность). Если система обнаруживает расхождения (например, возникшие из-за сбоев при обмене данными или ручных корректировок), она не заставляет пользователя перепроводить документы прошлых периодов. Вместо этого помощник автоматически создает технические документы Корректировка регистров, аккуратно схлопывая разрывы на дату закрытия периода.

6. Основные причины, почему «ломаются» взаиморасчеты

Проанализируем, почему вообще возникает ситуация «сбитых» взаиморасчетов. Специалисты выделяют три ключевые причины:

  1. Изменение детализации расчетов в договоре «задним числом». Если по договору велся учет с детализацией «По договорам», а затем пользователь переключил её на «По расчетным документам», программа перестает понимать, как сопоставлять старые оплаты с новыми отгрузками.
  2. Некорректное слияние дублей контрагентов. При использовании встроенных обработок поиска и удаления дублей часто объединяют контрагентов, у которых были заведены разные договоры с отличающимися настройками валюты или порядка расчетов.
  3. Ошибки ввода начальных остатков. Если при запуске системы в эксплуатацию остатки авансов и остатки задолженности были введены разными документами без указания связи между ними, система не сможет «схлопнуть» их самостоятельно. При переходе со старой системы избежать ручных ошибок ввода позволяет специализированный перенос данных из 1С:УПП 1.3 в 1С:ERP 2, который корректно переносит остатки и документы.

7. Как настроить порядок автоматического зачета оплат

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

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

← На главную