Как в отчете по счету 62 вывести номенклатуру и количество проданного товара?

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

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

Причина отсутствия номенклатуры на счете 62

Для начала проанализируем структуру бухгалтерского учета. Счет 62 «Расчеты с покупателями и заказчиками» предназначен для учета денежных обязательств. Его субконто — это Контрагенты, Договоры и (опционально) Документы расчетов. Номенклатура же является признаком складского учета или учета затрат (например, на счетах 41, 10, 43 или 90).

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

Решение 1: Связь через субконто «Документы расчетов»

Самый точный способ получить номенклатуру — это ведение учета на счете 62 в разрезе конкретных документов (накладных, актов). Если в настройках Плана счетов включено третье субконто Документы расчетов с контрагентами, мы можем напрямую соединить остатки по счету с табличными частями этих документов.

Рассмотрим пример построения такого запроса. Сначала мы получаем остатки по счету 62.01, а затем левым соединением подключаем таблицу Товары из документа РеализацияТоваровУслуг.


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

Важный нюанс: Если документ РеализацияТоваровУслуг оплачен частично, сумма долга на счете 62 будет меньше, чем общая сумма документа. В этом случае встает вопрос: какой именно товар из накладной считается оплаченным? Чаще всего в отчетах применяется метод пропорционального распределения.

Методика расчета количества при частичной оплате

Посмотрим на алгоритм расчета количества товара, которое «соответствует» текущему остатку долга. Если документ оплачен наполовину, то логично предположить, что и каждого товара в нем не оплачено ровно половина (если иное не закреплено в учетной политике). Формула выглядит так:

Количество к выводу = (Остаток долга по документу / Общая сумма документа) * Количество товара в строке.

Проанализируем ситуацию на примере кода:


ВЫБРАТЬ
    Остатки.Субконто3 КАК Документ,
    РеализацияТовары.Номенклатура КАК Номенклатура,
    (Остатки.СуммаОстатокДт / ДокументРеализация.СуммаДокумента) * РеализацияТовары.Количество КАК КоличествоОстаток
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет62_01, , ) КАК Остатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ 
    Документ.РеализацияТоваровУслуг КАК ДокументРеализация
ПО 
    Остатки.Субконто3 = ДокументРеализация.Ссылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ 
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТовары
ПО 
    Остатки.Субконто3 = РеализацияТовары.Ссылка

Решение 2: Использование метода ФИФО (если нет субконто «Документ расчетов»)

Бывают случаи, когда учет ведется только в разрезе договоров (так называемое «котловое» ведение взаиморасчетов). В такой ситуации система не знает, за какую именно реализацию пришла оплата. Выясним, как программно определить номенклатуру в этом случае.

Для этого используется метод ФИФО (First In, First Out). Алгоритм действий следующий:

  1. Получаем текущий остаток долга по контрагенту и договору.
  2. Выбираем из базы все документы реализации по этому договору, упорядоченные по дате (от новых к старым).
  3. Начинаем «заполнять» сумму долга суммами из этих документов.
  4. Те документы, которые попали в выборку (сумма которых покрывает остаток долга), и будут источниками данных для номенклатуры.

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

Решение 3: Использование регистров накопления (для ERP, КА, УТ)

Если вы работаете в конфигурациях 1С:Управление торговлей или 1С:ERP, использование регистра бухгалтерии для таких задач — не самый оптимальный путь. Разберем, почему.

В этих программах существуют специализированные регистры накопления:

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

Проблема авансов (счет 62.02)

Проанализируем ситуацию с кредитовым остатком. Если у покупателя висит аванс (счет 62.02), то никакой номенклатуры в отчете быть не может. Товар еще не отгружен, и мы не знаем достоверно, что именно клиент купит на эти деньги (даже если есть Заказ клиента, он может измениться).

В таких случаях рекомендуется:

Итоги и рекомендации

Подводя итог, отметим: прямого способа «вытащить» товар из счета 62 не существует. Мы всегда имеем дело с косвенным получением данных через соединение с первичными документами.

Для реализации качественного отчета рекомендуем придерживаться следующей последовательности действий:

  1. Проверьте настройки Плана счетов: включено ли ведение учета по документам расчетов. Если нет — убедите заказчика включить его (это полезно не только для отчета, но и для корректного зачета авансов).
  2. Используйте левое соединение остатков с табличными частями Товары соответствующих документов.
  3. При расчете количества используйте формулу пропорционального распределения относительно суммы остатка долга.
  4. Учитывайте специфику счетов 62.01 (долг) и 62.02 (аванс), чтобы не вводить пользователя в заблуждение пустыми строками номенклатуры.

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

← На главную