В типовой конфигурации «1С:Управление торговлей», редакция 11 (УТ 11), отчет «Валовая прибыль» является ключевым инструментом для анализа эффективности продаж. Однако пользователи часто сталкиваются с проблемой: дополнительные расходы (например, на доставку, оказанную сторонним контрагентом) включаются в себестоимость товаров общим итогом. Если нам нужно увидеть в отдельном столбце или строке сумму, выплаченную конкретному перевозчику (например, ООО «Доставка»), стандартные настройки отчета могут завести в тупик. Рассмотрим подробно, почему так происходит, и разберем варианты решения этой задачи.
Для начала проанализируем техническую сторону вопроса. Отчет «Валовая прибыль» строится на данных регистра накопления ВыручкаИСебестоимостьПродаж. В этот регистр данные попадают в момент проведения документов реализации и расчета себестоимости. Особенность заключается в том, что дополнительные расходы (услуги, распределенные на себестоимость товаров) записываются в регистр уже как часть стоимостной оценки товара. Информация о том, какой именно контрагент предоставил эту услугу (через документ ПриобретениеУслугИПрочихАктивов), в данном регистре в явном виде не хранится.
Именно поэтому, когда мы пытаемся добавить стандартное поле через «Изменить вариант», мы видим общую сумму доп. расходов, но не можем «разрезать» ее по поставщикам услуг. Выясним, какими способами можно обойти это ограничение.
Этот метод является наиболее простым и не требует привлечения программиста. Разберем его по шагам:
СтатьиРасходов отдельную статью, например: «Транспортные услуги (ООО Доставка)».ПриобретениеУслугИПрочихАктивов от этого контрагента, будем выбирать именно эту специфическую статью расходов.СтатьяРасходов.Таким образом, в отчете появится отдельная строка с названием нашей статьи, где будет аккумулирована сумма расходов именно по выбранному контрагенту. Это решит задачу визуального отделения затрат одного поставщика от другого.
Часто возникает вопрос: как понять, из чего сложилась сумма доп. расходов, не заходя в каждое движение регистра вручную? Посмотрим на пример настройки детальных записей:
В настройках отчета (Расширенный режим) перейдем на вкладку «Структура». Добавим под группировкой товара «Детальные записи». В поле «Выбранные поля» для этих детальных записей добавим Регистратор. После формирования отчета мы сможем развернуть строку товара и увидеть все документы, которые повлияли на его себестоимость, включая ПриобретениеУслугИПрочихАктивов. В названии регистратора обычно фигурирует номер и дата документа, что уже облегчает поиск, хотя и не выводит контрагента в отдельную колонку.
Если бизнес-задача требует жесткого вывода суммы в отдельный столбец (например, столбец «Доставка ООО НТТ»), нам придется создать внешний отчет или расширение. Разберем логику, которую должен реализовать программист:
Основная сложность — соединить данные о продажах с данными о закупках услуг. Поскольку прямая связь в регистре ВыручкаИСебестоимостьПродаж отсутствует, необходимо использовать левое соединение с регистром СебестоимостьТоваров или анализировать аналитику партий. Рассмотрим примерный фрагмент запроса для схемы компоновки данных:
ВЫБРАТЬ
Продажи.Номенклатура КАК Товар,
Продажи.Количество КАК КолВо,
Продажи.СуммаВыручки КАК Выручка,
СУММА(ВЫБОР
КОГДА ДопРасходы.Контрагент = &НужныйКонтрагент
ТОГДА ДопРасходы.Сумма
ИНАЧЕ 0
КОНЕЦ) КАК СуммаДоставкиНТТ
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПрочиеРасходы КАК ДопРасходы
ПО Продажи.АналитикаУчетаНоменклатуры = ДопРасходы.АналитикаУчетаНоменклатуры
И Продажи.ЗаказКлиента = ДопРасходы.ДокументОснование
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура,
Продажи.Количество,
Продажи.СуммаВыручки
Проанализируем эту ситуацию: чтобы сопоставить конкретную услугу с конкретной реализацией, в документе ПриобретениеУслугИПрочихАктивов должна быть заполнена колонка «Аналитика расходов», где указан конкретный документ продажи или поступления. Только в этом случае система сможет однозначно связать расход на доставку с конкретной сделкой и вывести его в нужный столбец.
Если вы обладаете навыками продвинутого пользователя, можно попробовать создать Пользовательское поле - Выражение прямо в интерфейсе отчета, не прибегая к конфигуратору. Однако это сработает только если в состав доступных полей отчета уже включены необходимые разрезы аналитики.
Рассмотрим порядок действий:
Важный нюанс: Стандартный отчет «Валовая прибыль» в УТ 11 очень тяжелый и оптимизирован для быстрого расчета маржи. Добавление сложных связей через пользовательские поля может значительно замедлить его работу или привести к ошибкам компоновки, если поля не связаны в исходном запросе разработчиками фирмы 1С.
Выясним причину, по которой ручной счет до сих пор остается в обиходе: это отсутствие четкой связи «Услуга — Продажа» в первичных данных. Чтобы отчет работал автоматически, рекомендуем:
РеализацияТоваровУслуг. Его легко вывести в любой отчет через механизм «Доступные поля».Таким образом, наиболее рациональным решением для типовой конфигурации является комбинированный подход: разделение статей расходов для оперативного анализа и настройка структуры отчета с выводом регистраторов для детального контроля.