Как получить данные о поступлении денежных средств от контрагента в 1С:УНФ?

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

При разработке отчетов или внешних обработок для конфигурации 1С:Управление нашей фирмой (УНФ) разработчики часто сталкиваются с вопросом выбора источника данных для анализа денежных поступлений. Важно понимать, что методология учета в УНФ имеет свои особенности, которые отличают её от привычных конфигураций, таких как 1С:Управление торговлей или 1С:Бухгалтерия.

Почему нельзя использовать регистры взаиморасчетов?

Начинающие разработчики часто пытаются получить информацию о поступлении денег, обращаясь к регистрам накопления, отвечающим за взаиморасчеты (например, ВзаиморасчетыСКонтрагентами). Однако это является методологической ошибкой. Рассмотрим причины:

  1. Разнородность операций: Регистры взаиморасчетов фиксируют любые изменения долга: поставки товаров, возвраты, корректировки, взаимозачеты, оплату услуг. Приходная запись в этих регистрах не гарантирует факт получения именно денежных средств.
  2. Множественность регистров: В УНФ данные о расчетах распределены по разным регистрам в зависимости от того, кто является контрагентом — поставщик, покупатель или прочий участник сделки. Пытаясь анализировать их все, вы сильно усложняете структуру запроса.

Правильный подход: использование регистров денежных средств

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

Разбор решения: строим запрос к данным

Давайте рассмотрим, как правильно выстроить работу с регистрами ДенежныеСредства. Это универсальный регистр, который содержит информацию о приходе и расходе денег.

При написании запроса мы используем следующую логику:

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

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


ВЫБРАТЬ
    ДенежныеСредстваДвижения.Регистратор.Контрагент КАК Контрагент,
    ДенежныеСредстваДвижения.Сумма КАК Сумма
ИЗ
    РегистрНакопления.ДенежныеСредства КАК ДенежныеСредстваДвижения
ГДЕ
    ДенежныеСредстваДвижения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
    И ДенежныеСредстваДвижения.Период МЕЖДУ &НачалоПериода И &КонецПериода

Рекомендации по аналитике

Если ваша задача требует получения данных в разрезе статей движения денежных средств (например, «Оплата от покупателя», «Возврат займа» и т.д.), обязательно используйте связку с регистром ДвиженияДенежныхСредств. Это позволит вам сформировать отчетность, которая будет полностью соответствовать управленческому учету в компании.

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

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

← На главную