Почему в карточке расчетов с поставщиками в 1С:УТ 11 суммы документов отображаются неверно и увеличиваются кратно?

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

При работе в актуальных редакциях 1С:Управление торговлей 11.5, ERP 2.5 или Комплексная автоматизация 2.5 пользователи часто сталкиваются с пугающей ситуацией: в отчетах по взаиморасчетам (например, в «Карточке расчетов с поставщиками») суммы по документам приобретения или оплаты внезапно начинают «множиться». Например, накладная на 7 000 рублей отображается как долг на 150 000 рублей, причем сумма кратна количеству строк в документе или количеству его перепроведений. Проанализируем, почему возникает эта «дичь» и как привести учет в порядок.

Разберем причину: архитектура «Взаиморасчеты 2.0»

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

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

Проанализируем ситуацию: математическая закономерность

Посмотрим на пример из практики. Если в документе приобретения 21 строка, а итоговая сумма в отчете ровно в 21 раз больше реальной — это явный признак того, что система создала отдельный РегистраторРасчетов на каждую строку или некорректно распределила движения по объектам расчетов. Выясним, почему это происходит:

  1. Ошибки обновления: При переходе с версий 2.5.12 на более высокие (например, 2.5.17 и далее) меняется структура служебных регистров, что нередко вызывает сбои в остатках.
  2. Сбой в регистре сведений КоличествоЗаписейРегистраторовРасчетов: Это ключевой «счетчик» системы. Если в нем указано неверное число ожидаемых записей, алгоритм проведения начинает дублировать движения.
  3. Фоновое выполнение расчетов: Если в настройках включено «Выполнять расчеты при просмотре отчетов» или «Фоновое выполнение», то при возникновении ошибки в фоновом задании документы-регистраторы могут остаться в «подвешенном» состоянии.

Шаг 1: Проверка движений и поиск «лишних» регистраторов

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

  1. Откроем отчет «Карточка расчетов с поставщиками» и найдем проблемный документ.
  2. Перейдем в движения этого документа (кнопка Дт/Кт).
  3. В списке регистров обратим внимание на Расчеты с поставщиками по срокам и Активы и пассивы.
  4. Если мы видим, что регистратором движений выступает не само «Приобретение», а объект с типом Регистратор расчетов, значит, мы на верном пути.

Проанализируем ситуацию программно. Чтобы увидеть все «теневые» документы, связанные с нашей накладной, можно воспользоваться консолью запросов или функцией «Поиск ссылок на объект». Вы увидите, что на одно «Приобретение» может ссылаться десяток «Регистраторов расчетов».

Шаг 2: Исправление служебного регистра

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

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

Алгоритм исправления:

  1. Найдем в регистре КоличествоЗаписейРегистраторовРасчетов записи по проблемному контрагенту или объекту расчетов.
  2. Убедимся, что там нет «мусорных» записей.
  3. В сложных случаях может потребоваться полная очистка записей по конкретному объекту расчетов в этом регистре перед перепроведением.

Шаг 3: Радикальное решение (очистка и перепроведение)

Если простое перепроведение документа не помогает и суммы продолжают расти, выполним процедуру «полной перезагрузки» расчетов по конкретному контрагенту. Внимание: все действия рекомендуется сначала проводить на копии базы!

  1. Отменим проведение всех документов по данному контрагенту (начиная с периода, когда началась «дичь»).
  2. Удалим документы РегистраторРасчетов, связанные с этими документами. Поскольку это системные объекты, их может быть не видно в обычном интерфейсе. Их можно найти через «Групповое изменение реквизитов», отобрав документы по типу и ссылке на объект расчетов, и пометить на удаление (а затем удалить непосредственно).
  3. Очистим записи в регистре сведений КоличествоЗаписейРегистраторовРасчетов по данному партнеру.
  4. Последовательно проведем документы заново: сначала поступления, затем оплаты.

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

Дополнительные инструменты исправления

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

Пример анализа через консоль запросов

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


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

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

Резюме

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

← На главную