Как настроить внешний отчет СКД по поступлениям безналичных денежных средств в 1С:Управление торговлей 11

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

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

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

Архитектура данных и получение аналитики по контрагентам

В конфигурации «Управление торговлей» (ред. 11) регистр накопления ДенежныеСредстваБезналичные предназначен для учета движения денег на банковских счетах организации. Обратите внимание, что прямого измерения Контрагент в этом регистре нет, так как учет расчетов с клиентами ведет отдельный контур взаиморасчетов.

Чтобы получить контрагента и фильтровать данные по нему в отчете по безналичным денежным средствам, проанализируем возможные варианты:

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

Фильтрация документов по типу с помощью оператора ССЫЛКА

Типичной ошибкой при разработке запросов является попытка отфильтровать документы по названию с помощью оператора ПОДОБНО к строковому представлению ссылки. В запросах 1С такой подход работает некорректно или вызовет ошибку выполнения.

Для проверки типа документа-регистратора следует использовать строго предназначенный для этого оператор ССЫЛКА. Рассмотрим пример правильного синтаксиса в условии запроса:


ГДЕ
    ДенежныеСредства.Регистратор ССЫЛКА Документ.ПоступлениеБезналичныхДенежныхСредств

Если необходимо отобрать несколько конкретных типов документов (например, поступление и эквайринговые операции), условия объединяются логическим оператором ИЛИ:


ГДЕ
    (ДенежныеСредства.Регистратор ССЫЛКА Документ.ПоступлениеБезналичныхДенежныхСредств
    ИЛИ ДенежныеСредства.Регистратор ССЫЛКА Документ.ОперацияПоПлатежнойКарте)

Разделение прихода и расхода при работе с реальной таблицей регистра

Если выборка строится по реальной таблице регистра (а не по виртуальной таблице остатков и оборотов), суммы движения хранятся в поле Сумма и разделяются видом движения (Приход / Расход). Разберем, как выделить суммы поступления с помощью конструкции ВЫБОР КОГДА в запросе:


ВЫБРАТЬ
    ДенежныеСредства.Период КАК Период,
    ДенежныеСредства.Регистратор КАК Регистратор,
    ДенежныеСредства.БанковскийСчет КАК БанковскийСчет,
    ВЫРАЗИТЬ(ДенежныеСредства.Регистратор КАК Документ.ПоступлениеБезналичныхДенежныхСредств).Контрагент КАК Контрагент,
    ВЫБОР
        КОГДА ДенежныеСредства.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
        ТОГДА ДенежныеСредства.Сумма
        ИНАЧЕ 0
    КОНЕЦ КАК СуммуПриход
ИЗ
    РегистрНакопления.ДенежныеСредстваБезналичные КАК ДенежныеСредства
ГДЕ
    ДенежныеСредства.Регистратор ССЫЛКА Документ.ПоступлениеБезналичныхДенежныхСредств

Настройка отборов и группировок в СКД

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

Выполним пошагово настройку отборов и группировок:

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

Таким образом, использование штатных механизмов СКД, правильное составление запроса с оператором ССЫЛКА и вывод полей в пользовательские настройки позволяют быстро создать удобный и производительный внешний отчет без написания лишнего кода формы.

← На главную