Как в отчете СКД вывести все виды банковских и кассовых поступлений в 1С:Бухгалтерия 8.3

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

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

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

Анализ источников данных и используемых счетов

Для начала разберем типичную ошибку. Часто разработчики устанавливают жесткий фильтр на конкретный счет расчетов (например, Счет = &Счет76П) или ограничиваются только счетами 50.01 и 51. Однако в типовой конфигурации «Бухгалтерия предприятия» денежные поступления могут отражаться на целой группе счетов. Проанализируем, какие счета необходимо включить в выборку для полного охвата:

Рассмотрим ситуацию с эквайрингом подробнее. Когда клиент расплачивается картой, документ «Операция по платежной карте» формирует проводку Дт 57.03 — Кт 62. В этот момент деньги еще не поступили на расчетный счет предприятия. Когда банк зачисляет средства (за вычетом комиссии), создается документ «Поступление на расчетный счет» с видом операции «Поступления от продаж по платежным картам и банковским кредитам», который делает проводку Дт 51 — Кт 57.03. Если ваш отчет смотрит только на 51 счет и анализирует контрагента в корреспонденции, вы можете не увидеть аналитику по конечному покупателю, так как на 51 счете в корреспонденции будет стоять банк (счет 57), а не покупатель (счет 62).

Выбор виртуальной таблицы регистра бухгалтерии

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

Нам важно отбирать записи, где денежный счет проходит по Дебету. Это и будет означать поступление средств. При этом в поле «Счет» мы должны передать список всех интересующих нас счетов денежных средств.

Пример правильного запроса в СКД

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


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

В данном запросе мы используем Счет В ИЕРАРХИИ. Это позволяет автоматически подтянуть данные по всем субсчетам 50, 51, 52, 55 и 57 счетов. Обратим внимание на поле ХозрасчетныйОбороты.Регистратор.ВидОперации. Это поле позволит пользователю в отчете четко видеть, было ли это «Поступление от покупателя», «Прочее поступление» или «Возврат от поставщика».

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

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

  1. Добавление параметров: Убедимся, что параметры &НачалоПериода и &КонецПериода доступны для пользователя и имеют тип СтандартныйПериод.
  2. Настройка ролей полей: Для поля СуммаПоступления установим роль «Остатки», если мы хотим видеть итоговые суммы по дебету в разрезе периодов.
  3. Группировка: Выясним, как лучше сгруппировать данные. Рекомендуется использовать иерархию: СчетУчета -> ВидОперации -> Документ. Это позволит быстро проанализировать, сколько денег пришло на конкретный банковский счет и по каким типам операций.
  4. Отборы: Если нужно видеть только поступления от контрагентов (включая пени), добавим отбор в настройках СКД или в самом запросе по КорСчет. Например, счета 60, 62, 76. Но будьте осторожны: «Прочие поступления» могут корреспондировать со счетом 91.01.

Как обрабатывать специфические случаи (пени и прочие доходы)

Проанализируем ситуацию из вопроса пользователя: необходимо видеть начисление и оплату пеней. Пени обычно учитываются на счете 76.02 «Расчеты по претензиям» или 76.05. В проводках это выглядит как Дт 51 — Кт 76.02.

Если в старом отчете стоял жесткий отбор Счет = &Счет76П, то отчет искал записи, где 76 счет стоит в колонке «Счет». Но при поступлении денег 76 счет является корреспондирующим (кредитовым), а основным счетом является 51. Именно поэтому отчет ничего не показывал. Нам нужно проверять КорСчет.

Посмотрим на пример условия для выделения платежей по пеням в общем списке:


ВЫБОР
    КОГДА ХозрасчетныйОбороты.КорСчет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоПретензиям))
        ТОГДА "Поступление пеней/штрафов"
    ИНАЧЕ "Прочее поступление"
КОНЕЦ КАК КатегорияПлатежа

Использование Консоли запросов для проверки

Прежде чем переносить запрос в отчет СКД, обязательно воспользуйтесь Консолью запросов. Выполните следующие действия:

  1. Откройте любой документ «Поступление на расчетный счет» с видом операции «Прочее поступление» и посмотрите его проводки (кнопка Дт/Кт).
  2. Зафиксируйте, какой счет указан в Дебете (например, 51) и какой в Кредите (например, 91.01 или 76.02).
  3. В консоли запросов напишите простой выбор из таблицы Хозрасчетный.Обороты с фильтром по этому регистратору.
  4. Убедитесь, что сумма попадает в поле СуммаОборотДт.

Если вы видите данные в консоли, значит, структура запроса верна, и теперь ее можно смело интегрировать в СКД. Помните, что использование ХозрасчетныйОбороты.Регистратор дает вам доступ ко всем реквизитам документа-основания, что позволяет выводить в отчет комментарии, назначение платежа и даже ответственного менеджера.

Таким образом, комбинируя правильный выбор счетов денежных средств (50, 51, 52, 55, 57) и анализ корреспонденции через виртуальные таблицы оборотов, мы получаем гибкий и мощный инструмент для анализа всех финансовых потоков предприятия в 1С:Бухгалтерия 8.3.

← На главную