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