Почему в отчете Валовая прибыль нулевая себестоимость и как это исправить

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

Проблема нулевой себестоимости в отчете Валовая прибыль — одна из самых распространенных в конфигурации 1С:Управление торговлей 10.3 (УТ 10.3). Это приводит к тому, что рентабельность считается как 100%, а управленческие решения принимаются на основе недостоверных данных. Разберем детально, как устроены механизмы расчета и что нужно сделать для исправления ситуации.

Механика формирования отчета

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

  1. Регистр Продажи фиксирует выручку, количество проданного товара и сумму НДС.
  2. Регистр ПродажиСебестоимость хранит информацию о затратах на закупку или производство (комплектацию) этого товара.

В запросе используется ЛЕВОЕ СОЕДИНЕНИЕ таблицы продаж с таблицей себестоимости. Если по какой-то причине документ реализации не сделал движение по регистру ПродажиСебестоимость, функция ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) подставит ноль. Именно этот «0» мы и видим в итоговом отчете.

Причина 1: Нарушение партионного учета

В УТ 10.3 себестоимость не берется «из воздуха» или из цен номенклатуры. Она рассчитывается исключительно на основании движений по регистру Партии товаров на складах. Если документ Реализация товаров и услуг не смог списать партию, он не запишет данные в регистр себестоимости продаж.

Выясним причину, почему партии не списываются:

Причина 2: Особенности документа Комплектация номенклатуры

Автор темы столкнулся с тем, что себестоимость обнуляется именно у комплектов. Разберем по шагам, как работает Комплектация номенклатуры в контексте партионного учета:

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

Важно помнить: вкладка Комплектующие в карточке номенклатуры — это лишь шаблон для автоматического заполнения документа. Она не влияет на расчеты напрямую. Главное — наличие остатков комплектующих в регистре Партии товаров на складах на момент проведения документа.

Анализ запроса и влияние аналитики Заказ покупателя

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


ПО (ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура) 
И (ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры) 
И (ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя) 
И (ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор)

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

Алгоритм исправления ситуации

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

Шаг 1: Проверка движений документа

Откройте документ Реализация товаров и услуг, который показывает нулевую себестоимость. Нажмите кнопку «Перейти» и выберите регистр накопления Партии товаров на складах (управленческий учет). Если список пуст — значит, товар не списался по партиям. Если движения есть, проверьте регистр Продажи себестоимость. Пустота в нем при наличии движений в партиях — признак технического сбоя или некорректного кода отчета.

Шаг 2: Восстановление последовательности

Для исправления данных в прошлом периоде необходимо воспользоваться обработкой Проведение по партиям (находится в меню «Операции» — «Проведение документов» или в интерфейсе «Заведующий учетом»). Внимание: перед этим обязательно сделайте резервную копию базы, так как перепроведение может изменить финансовые показатели прошлых периодов.

Шаг 3: Исправление «минусов»

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

Практический совет по доработке кода

Если вы модифицируете отчет самостоятельно, обратите внимание на способ получения данных из регистра ПродажиСебестоимость. В типовых решениях часто используется обращение к полю ДокументДвижения. Рассмотрим пример правильного получения регистратора в запросе:


ВЫБОР 
    КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО 
    ТОГДА ПродажиСебестоимость.ДокументДвижения 
    ИНАЧЕ ПродажиСебестоимость.Регистратор 
КОНЕЦ КАК Регистратор

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

Заключение

Для стабильной работы отчета Валовая прибыль необходимо обеспечить «чистоту» партионного учета. Это подразумевает запрет на проведение документов при отсутствии остатков, регулярное восстановление границы последовательности и контроль за тем, чтобы документы Комплектация номенклатуры были оформлены строго после поступления всех необходимых материалов на склад.

← На главную