В процессе эксплуатации 1С:Управление торговлей 11.5 часто возникает управленческая задача: видеть остатки товаров не только в целом по складу, но и в разрезе конкретных отделов или подразделений. Это особенно актуально, когда закупки производятся централизованно, а расход и ответственность за хранение распределены между разными функциональными единицами компании. Рассмотрим подробнее, какими способами можно реализовать этот функционал, начиная от простейших настроек и заканчивая сложными механизмами обособленного учета.
Самый очевидный способ, который мы разберем в первую очередь, — это использование типового реквизита Подразделение. В 1С:УТ 11.5 этот реквизит присутствует практически во всех документах движения товаров (Поступление товаров и услуг, Реализация товаров и услуг, Внутреннее потребление).
Проанализируем ситуацию: если нам достаточно видеть только движения (сколько закупил отдел и сколько он потратил), то типовых регистров Закупки и ВыручкаИСебестоимостьПродаж будет достаточно. Эти регистры хранят информацию о подразделении в качестве одного из ключевых измерений.
Однако, как справедливо отмечают участники обсуждения, у этого метода есть ограничение. Реквизит Подразделение в типовых документах чаще всего относится к шапке документа. Если в одной накладной приходят товары для разных отделов, нам придется либо разбивать поступление на несколько документов, либо искать способы построчного указания аналитики.
Если задача стоит шире — не просто видеть обороты, а разделять остатки на складах, то наиболее мощным инструментом станет функционал Направления деятельности. Рассмотрим по шагам, как это работает:
Финансовый результат по направлениям деятельности.Направления деятельности создадим элементы, соответствующие вашим отделам (например, "Отдел электроники", "Отдел сантехники").Учет запасов.Разберем преимущество этого подхода: теперь в документах закупки (в табличной части) появляется поле Назначение. При нажатии на выбор назначения мы можем создать или выбрать назначение, привязанное к конкретному Направлению деятельности. Таким образом, товар при поступлении "закрепляется" за отделом прямо в регистре Товары на складах.
Посмотрим на результат в отчетах: теперь в Ведомости по товарам на складах мы можем добавить группировку или отбор по полю Назначение.Направление деятельности. Это позволит видеть реальные количественные остатки в разрезе отделов, даже если товары лежат на одном физическом стеллаже.
Проанализируем ситуацию, когда отделов не очень много и они имеют четкую логическую границу. В этом случае проще всего создать структуру складов, где каждый склад соответствует отделу. Выясним причину, почему это удобно:
Перемещение товаров.Если же поставщик привозит товар по одной накладной для всех отделов, мы можем использовать механизм приемки на ответственное хранение или оформить поступление на "Общий склад" с последующим оперативным распределением (перемещением) по складам-отделам. Также в 1С:УТ 11.5 поддерживаются Группы складов, что позволяет видеть сводный остаток по всем отделам одновременно.
В некоторых случаях для количественного учета остатков в разрезе отделов используют Характеристики. Разберем этот пример: для номенклатуры создается вид характеристики "Отдел". При поступлении товара пользователь в строке указывает характеристику, например, "Гвозди (Отдел 1)".
Важный момент: этот метод крайне не рекомендуется, если у товара уже есть реальные характеристики (цвет, размер, модель), так как в 1С характеристика — это единый объект. Также это может сильно заспамить справочник характеристик. Альтернативой могут выступать Серии, если настроить политику учета серий как "Учет остатков в разрезе серий". Тогда серия может выступать в роли "партии для отдела".
Если жесткий контроль остатков (запрет отгрузки "чужого" товара) не требуется, а нужна только отчетность, мы можем пойти путем добавления дополнительного реквизита в строки документов.
Рассмотрим порядок действий:
Однако помните: этот реквизит не попадает в регистры остатков автоматически. Чтобы увидеть остатки, придется либо писать свой отчет на СКД, который будет вычислять разницу между приходом и расходом по этим реквизитам, либо использовать механизм Расширений для трансляции этого реквизита в регистры накопления.
Если вы рассматриваете вариант программной доработки, проанализируем архитектуру УТ 11.5. В отличие от старых версий (например, УТ 10.3), здесь расчет остатков и себестоимости тесно завязан на ключе аналитики номенклатуры (КлючАналитикиНоменклатуры).
Посмотрим, как устроена запись в регистр Товары на складах:
// Упрощенная структура записи регистра
Запись = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
НоваяЗапись = Запись.Добавить();
НоваяЗапись.Номенклатура = СсылкаНоменклатура;
НоваяЗапись.Склад = СсылкаСклад;
НоваяЗапись.В_Разрезе_Отдела = ??? // Такого измерения нет
Добавление нового измерения напрямую в типовой регистр через расширение повлечет за собой необходимость переписывания огромного количества общих модулей (например, ПроведениеСерверУТ), которые отвечают за формирование движений. Вместо этого рекомендуется создавать вспомогательный регистр накопления и заполнять его через Подписку на событие при проведении документов. Это сохранит типовую конфигурацию обновляемой и решит задачу учета остатков в нужном разрезе.
Выясним, какой метод выбрать в вашем случае:
Помните, что любое изменение структуры учета остатков влияет на производительность системы и сложность работы пользователей. Всегда начинайте с анализа возможности применения стандартного функционала Назначений, так как он специально спроектирован в 1С:УТ 11 для подобных задач обособления запасов.