При разработке отчетов в конфигурации «1С:Управление торговлей 11» (УТ 11) начинающие разработчики часто сталкиваются с проблемой: данные по оплатам в отчете не сходятся с фактическими поступлениями денег. Типичная ошибка — использование ресурса СуммаПриход в регистре РасчетыСКлиентами. В этой статье мы подробно разберем, как устроены механизмы взаиморасчетов в УТ 11, почему логика «Приход — это оплата» здесь не работает и какие регистры следует использовать для получения корректных данных.
Для начала проанализируем базовый принцип работы регистров накопления с видом «Остатки» в контексте взаиморасчетов. В УТ 11 регистры, такие как РасчетыСКлиентами и РасчетыСКлиентамиПоДокументам, хранят информацию о задолженности. Здесь действует следующая логика:
РеализацияТоваровУслуг.ПоступлениеБезналичныхДенежныхСредств или ПриходныйКассовыйОрдер.Таким образом, если мы хотим увидеть в отчете именно поступившие оплаты, нам нужно анализировать оборот Расход по регистру взаиморасчетов, а не Приход. Однако и здесь есть нюансы, связанные с возвратами товаров, которые также уменьшают долг клиента. При необходимости можно использовать отчет для формирования реестра оплат от покупателей с детализацией по документам и объектам расчетов.
Важным фактором является настройка функциональных опций системы. Выясним причину, почему в разных базах УТ 11 данные могут лежать в разных регистрах. При обновлении программы обработка переносит остатки и документы для продолжения работы в новой редакции. Рассмотрим два режима:
1. Режим «Оффлайн» (традиционный): в этом режиме основные движения пишутся в регистры РасчетыСКлиентами и РасчетыСКлиентамиПоДокументам. Распределение оплат по документам отгрузки (если не указано явно) происходит при запуске регламентного задания «Выполнение отложенных движений по расчетам с клиентами».
2. Режим «Онлайн»: этот режим стал основным в последних версиях УТ 11 (начиная с 11.4.7, хотя зачатки были и раньше). В этом режиме система мгновенно распределяет расчеты по срокам и документам. Здесь ключевым становится регистр накопления РасчетыСКлиентамиПоСрокам. Проанализируем ситуацию: если в настройках включен «Онлайн», то старые регистры могут заполняться не полностью или использоваться для совместимости, а вся актуальная аналитика пойдет в новый регистр.
Проверить текущий режим можно по пути: НСИ и администрирование — Настройка НСИ и разделов — Казначейство и взаиморасчеты — Взаиморасчеты — Использовать онлайн взаиморасчеты.
Рассмотрим подробнее структуру записей. Часто один документ, например, ЗаказКлиента, может делать записи в регистр еще до факта оплаты или отгрузки. Это происходит, если в ресурсах регистра задействованы поля К оплате или К отгрузке.
Если мы просто возьмем оборот регистра без фильтрации по конкретным ресурсам или типам операций, мы получим «кашу» из плановых и фактических данных. Посмотрим на состав ресурсов регистра РасчетыСКлиентами:
Долг — фактическая задолженность (то, что нас интересует для оплаты);Предоплата — сумма авансов;К оплате — плановые показатели по заказам.Чтобы получить чистую оплату, нам необходимо фильтровать движения по полю ТипХозяйственнойОперации. Рассмотрим пример: нам нужны только операции ПоступлениеОплатыОтКлиента. Если в выборку попадет операция ВозвратТовараОтКлиента, она тоже сделает «Расход» (уменьшит долг), но фактического прихода денег при этом не было.
Если задача стоит максимально просто — «сколько денег фактически пришло на счета и в кассы», то использование регистров взаиморасчетов может быть избыточным и сложным. Разберем альтернативный вариант.
Для фиксации самого факта движения денег в УТ 11 предназначены регистры:
ДенежныеСредстваБезналичные — для банковских выписок.ДенежныеСредстваНаличные — для кассовых ордеров.ДенежныеСредстваУПодотчетныхЛиц — для расчетов через сотрудников.В этих регистрах Приход — это всегда реальное поступление денег. Если ваш «сводный отчет по отделу продаж» требует именно сумму поступившей выручки («деньги в кассе»), то данные регистры являются самым надежным первоисточником. При работе с Wildberries для получения сведений о продажах комиссионеров предусмотрена бесплатная обработка загрузки данных по API. Проанализируем пример получения данных через запрос к оборотам безналичных денежных средств:
ВЫБРАТЬ
ДенежныеСредстваБезналичныеОбороты.СуммаПриход КАК СуммаОплаты,
ДенежныеСредстваБезналичныеОбороты.Регистратор КАК ДокументОплаты
ИЗ
РегистрНакопления.ДенежныеСредстваБезналичные.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ДенежныеСредстваБезналичныеОбороты
Для создания полноценного отчета, где фигурируют и продажи, и оплаты, рекомендуется использовать регистр накопления ВыручкаИСебестоимостьПродаж для части реализации и регистры взаиморасчетов или денежных средств для части оплат.
Посмотрим на алгоритм сборки данных для программиста:
ВыручкаИСебестоимостьПродаж.Обороты. Ресурс СуммаВыручки.РасчетыСКлиентами.Обороты. Нас интересует СуммаРасход по ресурсу Долг.ТипХозяйственнойОперации = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТовараОтКлиента) и другие неденежные операции (взаимозачеты и т.д.), если они не должны считаться оплатой в вашем отчете.Подводя итог нашему разбору, выделим главные правила работы с оплатами в УТ 11:
СуммаПриход в регистрах расчетов для получения суммы оплат. Приход — это возникновение долга (отгрузка).Казначейство (Денежные средства).Долг, Предоплата) и типу хозяйственной операции, иначе плановые данные из заказов исказят результат.Применяя эти знания, вы сможете построить корректный и надежный отчет, который будет отражать реальное финансовое состояние расчетов с контрагентами.