Как учитываются резервы и остатки товаров на складах в 1С:Управление торговлей 10.3?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При разработке отчетов, доработке механизмов проведения документов и контроле остатков в конфигурации «1С:Управление торговлей 10.3» (а также в «1С:УПП 1.3» и «1С:КА 1.1») разработчики часто сталкиваются с вопросом: учитывает ли базовый складской регистр зарезервированные товары и как правильно получить реальный свободный остаток номенклатуры. Проанализируем архитектуру складского учета и выясним, как правильно работать с остатками и резервами.

Структура регистров складского учета и резервирования

Прежде всего уточним терминологию и состав метаданных конфигурации. В «1С:Управление торговлей 10.3» отсутствует регистр с именем ОстаткиНаСкладах. Фактическое наличие товаров фиксируется в регистре накопления ТоварыНаСкладах.

Рассмотрим основные регистры, участвующие в цепочке складского учета и резервирования:

  1. Регистр накопления ТоварыНаСкладах — предназначен исключительно для учета физического наличия номенклатуры на складах компании. Данный регистр является остаточным и не учитывает резервы. Он показывает, сколько единиц товара фактически лежит на полках склада в данный момент.
  2. Регистр накопления ТоварыВРезервеНаСкладах — отдельный остаточный регистр, в котором хранится количество зарезервированного товара под конкретные документы (заказы покупателей, внутренние заказы).
  3. Регистр накопления ТоварыКПередачеСоСкладов — используется в ордерных схемах или в случаях, когда финансовый документ отгрузки уже проведен, но фактическое списание со склада еще не оформлено расходным ордером.
  4. Регистр накопления РазмещениеЗаказовПокупателей — хранит информацию о резервировании товаров не из текущего складского запаса, а в ожидаемых поставках по заказам поставщикам.
  5. Регистр накопления ТоварыОрганизаций — ведет учет товаров в разрезе конкретных юридических лиц (организаций), однако складские резервы в нем также не отражаются.

Формула расчета свободного остатка

Поскольку физические остатки и резервы разделены по разным таблицам базы данных, для вычисления реального доступного к продаже количества необходимо сопоставить данные этих регистров. Разберем базовый алгоритм расчета.

Свободный остаток = Остаток (ТоварыНаСкладах) - Остаток (ТоварыВРезервеНаСкладах)

Если на предприятии используется ордерная схема отгрузки или оформляются накладные с отложенной фактической выдачей товара, из полученного значения также необходимо вычесть остаток по регистру ТоварыКПередачеСоСкладов.

Пример запроса для получения доступного остатка

Посмотрим на практический пример построения запроса на языке 1С, объединяющего остатки на складах и резервы для получения свободного количества номенклатуры:


ВЫБРАТЬ
	ОстаткиСклада.Номенклатура КАК Номенклатура,
	ОстаткиСклада.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	ОстаткиСклада.Склад КАК Склад,
	ЕСТЬNULL(ОстаткиСклада.КоличествоОстаток, 0) КАК ФизическийОстаток,
	ЕСТЬNULL(РезервыСклада.КоличествоОстаток, 0) КАК ВРезерве,
	ЕСТЬNULL(ОстаткиСклада.КоличествоОстаток, 0) - ЕСТЬNULL(РезервыСклада.КоличествоОстаток, 0) КАК СвободныйОстаток
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ОстаткиСклада
		ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ) КАК РезервыСклада
		ПО ОстаткиСклада.Номенклатура = РезервыСклада.Номенклатура
			И ОстаткиСклада.ХарактеристикаНоменклатуры = РезервыСклада.ХарактеристикаНоменклатуры
			И ОстаткиСклада.Склад = РезервыСклада.Склад

Особенности движения документов и управления резервами

Проанализируем поведение типовых документов при работе с данными регистрами:

  1. Установка резерва: формирование записей в регистре ТоварыВРезервеНаСкладах происходит при проведении документов ЗаказПокупателя, ВнутреннийЗаказ или специализированного документа РезервированиеТоваров.
  2. Списание при отгрузке: в документе РеализацияТоваровУслуг на вкладке товаров указывается способ списания:
    • Со склада — списывается только остаток из ТоварыНаСкладах (свободный остаток уменьшается);
    • Из резерва — списываются движения одновременно из ТоварыНаСкладах и ТоварыВРезервеНаСкладах (свободный остаток не меняется, так как товар уже был вычтен из доступности ранее).
  3. Снятие неактуальных резервов: для автоматической отмены зависших резервов по просроченным или невыполненным заказам применяется документ ЗакрытиеЗаказовПокупателей.
  4. Корректировка движений: для ручного выравнивания расхождений между фактическими остатками и зарезервированным количеством используется документ КорректировкаЗаписейРегистров.

Для просмотра готовой аналитики доступности в типовом интерфейсе конфигурации рекомендуется использовать типовой отчет «Анализ доступности товаров на складах», который выполняет расчет по вышеописанной схеме автоматически.

← На главную