Как рассчитывается сумма в колонке Отгружено в отчете Ведомость расчетов с клиентами в 1С:ERP

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

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

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

Где в конфигурации формируется формула отгрузки

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


ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Отгружено", ВзаиморасчетыОтчеты.ШаблонПоляОтгружено());

Функция ВзаиморасчетыОтчеты.ШаблонПоляОтгружено() возвращает развернутое расчетное выражение для языка запросов 1С. В этом выражении действительно задействовано множество переменных и условий. Связано это не с усложнением логики разработчиками, а с необходимостью одновременно учитывать валюты, статусы документов и состояние взаиморасчетов.

Из какого регистра берутся данные

В отличие от отчетов по продажам, ведомость взаиморасчетов строится не по документам-регистраторам напрямую, а по специализированному регистру накопления РасчетыСКлиентамиПоСрокам (а также РасчетыСКлиентами). Проанализируем ключевые особенности структуры этого регистра:

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

Почему расчет показателя устроен так сложно

Выясним причину, по которой простого суммирования документов реализации недостаточно для получения корректной суммы отгрузки в ведомости расчетов:

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

Разница между отчетами по взаиморасчетам и отчетами по продажам

Главная концептуальная ошибка при анализе — попытка получить объем продаж через отчеты по дебиторской задолженности. Разберем принципиальное разделение контуров учета в 1С:ERP:

  1. Контур взаиморасчетов: отчет Ведомость расчетов с клиентами опирается на регистры РасчетыСКлиентами и РасчетыСКлиентамиПоСрокам. Его цель — показать динамику изменения финансовых обязательств: кто, сколько и на каком основании должен предприятию.
  2. Контур продаж (финансовый результат): отчет Выручка и себестоимость продаж (или Продажи по клиентам) строится исключительно по регистру накопления ВыручкаИСебестоимостьПродаж. Именно этот отчет предназначен для анализа коммерческой деятельности, объемов реализованной продукции, выручки без НДС и маржинальной прибыли.

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

Режимы онлайн- и офлайн-взаиморасчетов

Важно помнить про механизм распределения задолженности. В системе предусмотрено два режима работы:

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

Как проверить и расшифровать отгрузку без программирования

Если требуется проверить правильность цифр в колонке «Отгружено» без чтения запросов в конфигураторе, воспользуемся следующими практическими шагами:

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