Как организовать отгрузку в штуках на адресном складе в 1С:УТ 11.5 при использовании упаковок?

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

Работа с адресным складом (WMS) в 1С:Управление торговлей 11.5 накладывает определенные ограничения на использование единиц измерения. Часто возникает ситуация, когда товар хранится и учитывается в упаковках (например, в коробках по 6 штук), но логисты или менеджеры по продажам оформляют заказы в штуках. Если система настроена неверно, при попытке отгрузить некратное количество (например, 19 штук при упаковке по 6 штук) программа начинает рассчитывать дробное количество упаковок — 3,167. Это приводит к некорректным остаткам в ячейках, ошибкам в Расходных товарных ордерах и невозможности нормально завершить отбор. Рассмотрим, как решить эту проблему правильно.

Понимание механики упаковок на адресном складе

Для начала проанализируем, почему возникает проблема. В 1С:УТ 11.5 адресное хранение (ячеистый склад) жестко завязано на справочник Упаковки. Если для номенклатуры не задана упаковка с коэффициентом 1, система пытается выразить любое количество через имеющиеся групповые упаковки. Основное правило адресного склада: в складских документах (отборах, размещениях, ордерах) всегда используются упаковки, а не базовые единицы измерения.

Чтобы избежать появления «3,167 упаковок», мы должны обеспечить системе возможность выбрать такую единицу, которая позволит собрать остаток в 1 штуку без дробей. Разберем по шагам, как это реализовать.

Шаг 1. Настройка набора упаковок номенклатуры

Самое логичное и правильное решение — добавить в используемый Набор упаковок единицу с коэффициентом 1. Многие пользователи совершают ошибку, считая, что если есть базовая единица «шт», то упаковку «шт» создавать не нужно. Это не так.

  1. Перейдем в карточку номенклатуры или в общие настройки наборов упаковок.
  2. В списке упаковок добавим новую запись.
  3. Назовем ее «шт (индивидуальная)» или просто «шт».
  4. Укажем коэффициент равным 1 (то есть 1 упаковка содержит 1 базовую единицу).
  5. Важно: убедимся, что для этой упаковки заданы типоразмеры (вес, объем, габариты), иначе система может игнорировать ее при автоматическом подборе ячеек.

Теперь, когда логист указывает 19 штук, типовой механизм 1С при создании Задания на отбор сможет разбить это количество на две строки: 3 упаковки по 6 штук и 1 упаковку по 1 штуке. Дробные значения исчезнут.

Шаг 2. Использование автоматического разбиения в ордерах

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

При ручном или программном формировании ордеров типовой механизм 1С:ERP и УТ 11.5 использует таблицы ТоварыПоРаспоряжениям (где хранятся данные в единицах распоряжения) и ОтгружаемыеТовары (где данные хранятся в упаковках).

Если вы пишете собственный код для автоматизации отгрузки через ТСД, обратите внимание на заполнение реквизитов упаковки. Система отлично справляется с пересчетом, если в структуре данных передаются корректные ссылки на упаковки из набора. Например:


// Пример логики распределения количества по упаковкам
КоличествоКОтгрузке = 19; 
// 1. Ищем упаковку с макс. коэффициентом (например, Коробка 6 шт)
// 2. Вычисляем целое: Цел(19 / 6) = 3
// 3. Остаток: 19 % 6 = 1
// 4. Для остатка подбираем упаковку с коэфф. 1

Шаг 3. Настройка правил отбора и разукомплектации

Рассмотрим ситуацию: на складе лежат только целые коробки (по 6 шт.), а нам нужно отгрузить 19 шт. В этом случае система должна поставить задачу кладовщику: «Взять 3 целые коробки и вскрыть четвертую, взяв из нее 1 штуку».

Для корректной работы этого механизма на адресном складе должны быть настроены Правила размещения товаров и Области хранения. Выясним основные моменты:

Программные нюансы работы с ТСД

Если вы реализуете логику через мобильное приложение или кастомную обработку (как упоминалось в обсуждении), важно понимать, что 1С хранит остатки в регистре ТоварыВЯчейках. Данный регистр всегда оперирует упаковками.

Разберем пример программного заполнения ордера, чтобы избежать ошибок округления:


// При формировании строк ордера важно правильно заполнить упаковку
НоваяСтрока = Ордер.Товары.Добавить();
НоваяСтрока.Номенклатура = ВыбранныйТовар;
Если ТребуетсяШтучнаяОтгрузка Тогда
    НоваяСтрока.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоНаименованию("шт", , , НаборУпаковок);
    НоваяСтрока.КоличествоУпаковок = 19;
КонецЕсли;

Важный нюанс: 1С:УТ 11.5 считает, что на оптовом складе «штук» быть не может, если это не заложено в топологию. Это иногда проявляется в работе обработки ПроверкаКоличестваТоваровВДокументе. Если вы сталкиваетесь с тем, что программа упорно не дает выбрать единицу «шт», проверьте, не установлена ли в настройках склада жесткая привязка к складским группам упаковок, которые запрещают использование мелких единиц в определенных зонах.

Резюме и рекомендации

Проанализировав проблему, мы можем сделать следующие выводы:

  1. Никогда не используйте доли упаковок (3,167). Это путь к полной потере контроля над остатками на адресном складе. Любое дробное число — признак отсутствия нужной упаковки в системе.
  2. Создайте упаковку «Штука» с коэффициентом 1. Это решит 99% проблем с округлением. Логист сможет выбирать ее в распоряжениях, а кладовщик — в заданиях на отбор.
  3. Настройте ТСД на работу с разными упаковками. Если в процессе сборки кладовщик видит, что коробка повреждена или нужно взять 1 шт, он должен иметь возможность отсканировать именно «штучный» штрихкод.
  4. Проверьте настройки округления. В настройках системы существует флаг «Округлять количество упаковок в задании на отбор». Убедитесь, что его поведение соответствует вашим бизнес-процессам.

Таким образом, связка «Групповая упаковка + Индивидуальная упаковка (коэфф. 1)» является стандартным и наиболее стабильным способом работы в 1С:УТ 11.5 на складах с адресным хранением. Это позволяет сохранить гибкость отгрузки (хоть в граммах, хоть в штуках) при сохранении строгого порядка в ячейках.

← На главную