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