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