Работа с адресным складом (WMS) в 1С:Управление торговлей 11.5 накладывает определенные ограничения на использование единиц измерения. Часто возникает ситуация, когда товар хранится и учитывается в упаковках (например, в коробках по 6 штук), но логисты или менеджеры по продажам оформляют заказы в штуках. Если система настроена неверно, при попытке отгрузить некратное количество (например, 19 штук при упаковке по 6 штук) программа начинает рассчитывать дробное количество упаковок — 3,167. Это приводит к некорректным остаткам в ячейках, ошибкам в Расходных товарных ордерах и невозможности нормально завершить отбор. Рассмотрим, как решить эту проблему правильно.
Для начала проанализируем, почему возникает проблема. В 1С:УТ 11.5 адресное хранение (ячеистый склад) жестко завязано на справочник Упаковки. Если для номенклатуры не задана упаковка с коэффициентом 1, система пытается выразить любое количество через имеющиеся групповые упаковки. Основное правило адресного склада: в складских документах (отборах, размещениях, ордерах) всегда используются упаковки, а не базовые единицы измерения.
Чтобы избежать появления «3,167 упаковок», мы должны обеспечить системе возможность выбрать такую единицу, которая позволит собрать остаток в 1 штуку без дробей. Разберем по шагам, как это реализовать.
Самое логичное и правильное решение — добавить в используемый Набор упаковок единицу с коэффициентом 1. Многие пользователи совершают ошибку, считая, что если есть базовая единица «шт», то упаковку «шт» создавать не нужно. Это не так.
Теперь, когда логист указывает 19 штук, типовой механизм 1С при создании Задания на отбор сможет разбить это количество на две строки: 3 упаковки по 6 штук и 1 упаковку по 1 штуке. Дробные значения исчезнут.
Проанализируем работу Расходного товарного ордера. Если распоряжением является Заказ клиента, в котором указано количество в штуках, программа должна уметь «трансформировать» эти штуки в складские упаковки. Рассмотрим, как это работает программно и в интерфейсе.
При ручном или программном формировании ордеров типовой механизм 1С:ERP и УТ 11.5 использует таблицы ТоварыПоРаспоряжениям (где хранятся данные в единицах распоряжения) и ОтгружаемыеТовары (где данные хранятся в упаковках).
Если вы пишете собственный код для автоматизации отгрузки через ТСД, обратите внимание на заполнение реквизитов упаковки. Система отлично справляется с пересчетом, если в структуре данных передаются корректные ссылки на упаковки из набора. Например:
// Пример логики распределения количества по упаковкам
КоличествоКОтгрузке = 19;
// 1. Ищем упаковку с макс. коэффициентом (например, Коробка 6 шт)
// 2. Вычисляем целое: Цел(19 / 6) = 3
// 3. Остаток: 19 % 6 = 1
// 4. Для остатка подбираем упаковку с коэфф. 1
Рассмотрим ситуацию: на складе лежат только целые коробки (по 6 шт.), а нам нужно отгрузить 19 шт. В этом случае система должна поставить задачу кладовщику: «Взять 3 целые коробки и вскрыть четвертую, взяв из нее 1 штуку».
Для корректной работы этого механизма на адресном складе должны быть настроены Правила размещения товаров и Области хранения. Выясним основные моменты:
Если вы реализуете логику через мобильное приложение или кастомную обработку (как упоминалось в обсуждении), важно понимать, что 1С хранит остатки в регистре ТоварыВЯчейках. Данный регистр всегда оперирует упаковками.
Разберем пример программного заполнения ордера, чтобы избежать ошибок округления:
// При формировании строк ордера важно правильно заполнить упаковку
НоваяСтрока = Ордер.Товары.Добавить();
НоваяСтрока.Номенклатура = ВыбранныйТовар;
Если ТребуетсяШтучнаяОтгрузка Тогда
НоваяСтрока.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоНаименованию("шт", , , НаборУпаковок);
НоваяСтрока.КоличествоУпаковок = 19;
КонецЕсли;
Важный нюанс: 1С:УТ 11.5 считает, что на оптовом складе «штук» быть не может, если это не заложено в топологию. Это иногда проявляется в работе обработки ПроверкаКоличестваТоваровВДокументе. Если вы сталкиваетесь с тем, что программа упорно не дает выбрать единицу «шт», проверьте, не установлена ли в настройках склада жесткая привязка к складским группам упаковок, которые запрещают использование мелких единиц в определенных зонах.
Проанализировав проблему, мы можем сделать следующие выводы:
Таким образом, связка «Групповая упаковка + Индивидуальная упаковка (коэфф. 1)» является стандартным и наиболее стабильным способом работы в 1С:УТ 11.5 на складах с адресным хранением. Это позволяет сохранить гибкость отгрузки (хоть в граммах, хоть в штуках) при сохранении строгого порядка в ячейках.