Как вести учет остатков по упаковкам и запретить продажу неполных коробок в 1С:УТ 11.4

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

В оптовой торговле часто возникает задача строгого учета товаров в разрезе заводских упаковок. Например, когда товар приходит в коробках по 10 или 20 штук, и менеджеры не должны иметь возможности «разбить» коробку в заказе клиента. Типовая конфигурация 1С:Управление торговлей 11.4 предлагает несколько путей решения этой задачи: от использования типового функционала склада до программных доработок. Разберем каждый из вариантов подробнее, проанализируем их плюсы и минусы, а также выясним, как реализовать автоматический контроль кратности.

Вариант 1. Использование адресного (ордерного) склада

Это наиболее корректный с точки зрения методологии 1С способ учета конкретных упаковок. В системе 1С:УТ 11 остатки товаров в общем регистре хранятся в базовых единицах измерения (например, в штуках). Однако механизм WMS (адресного хранения) позволяет видеть, в каких именно упаковках товар распределен по ячейкам.

Рассмотрим по шагам, как это работает:

  1. Настройка склада: Необходимо установить для склада признак «Ордерный склад» при поступлении и отгрузке, а также включить опцию «Использовать адресное хранение для определения остатков товаров».
  2. Работа с ячейками: При приемке товара на склад кладовщик фиксирует поступление конкретных упаковок в конкретные ячейки. Система будет точно знать, что в ячейке А1 лежит 5 коробок по 10 штук, а в ячейке А2 — 3 коробки по 20 штук.
  3. Контроль отгрузки: При создании распоряжения на отгрузку система будет предлагать к отбору именно те упаковки, которые физически находятся на складе.

Нюанс: Если использовать склад только как «справочный», система не заблокирует списание «не тех» упаковок. Только полноценный адресный склад жестко контролирует наличие конкретных объектов в ячейках. Основной минус этого подхода — высокая трудоемкость ведения складского учета и необходимость использования ТСД (терминалов сбора данных).

Вариант 2. Учет через характеристики номенклатуры

Если внедрение полноценного WMS-склада кажется избыточным, можно воспользоваться механизмом характеристик. В данном случае для каждой номенклатуры создаются характеристики, соответствующие размеру упаковки (например, «Коробка 10 шт», «Коробка 20 шт»).

Проанализируем преимущества этого метода:

Однако помните, что этот способ «множит сущности». Если у вас тысячи позиций и у каждой по 5 видов упаковок, справочник характеристик станет очень объемным, что может усложнить подбор товара в документах.

Вариант 3. Программный контроль кратности через расширение

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

Нам потребуется перехватить событие изменения количества в строке документа или проверку перед записью документа. Основная логика заключается в проверке остатка от деления общего количества на коэффициент упаковки.

Для реализации проверки в форме документа ЗаказКлиента или РеализацияТоваровУслуг можно использовать следующий алгоритм:


// Пример логики проверки кратности в расширении
&НаКлиенте
Процедура ТЧТоварыКоличествоПриИзмененииПосле(Элемент)
    ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
    
    Если ТекущаяСтрока = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    // Получаем коэффициент упаковки
    Коэффициент = ТекущаяСтрока.Упаковка.Коэффициент;
    
    Если Коэффициент > 0 Тогда
        ОстатокОтДеления = ТекущаяСтрока.Количество % Коэффициент;
        
        Если ОстатокОтДеления <> 0 Тогда
            Сообщить("Внимание! Количество должно быть кратно размеру упаковки (" + Коэффициент + ")");
            // Здесь можно либо обнулить количество, либо округлить его
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

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

  1. Обработчик ПриИзменении: Дает мгновенную обратную связь менеджеру прямо в момент ввода данных. Это удобно, но проверку легко обойти, если данные загружаются из внешних источников (например, из Excel).
  2. Обработчик ПередЗаписью в модуле объекта: Это более надежный метод. Проанализируем ситуацию: даже если менеджер загрузил заказ из файла, при попытке провести документ система выполнит проверку и выдаст ошибку, если условия кратности нарушены.

Вариант 4. Настройка типовых упаковок и наборов

В 1С:УТ 11.4 в карточке номенклатуры можно настроить «Индивидуальный набор упаковок». Это позволяет задать список допустимых упаковок для конкретного товара. Выясним, как это помогает в контроле:

Также стоит рассмотреть вариант использования Наборов. Набор — это виртуальная сущность. Вы можете создать позицию «Набор: Коробка 50 шт», в состав которого входит 50 единиц основного товара. При продаже набора со склада будут списываться именно штуки, но в печатных формах и в заказе менеджер будет оперировать «Коробками».

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

Выбор метода зависит от ваших бизнес-процессов:

  1. Если вам нужен строгий контроль на складе — используйте Адресное хранение.
  2. Если важно видеть остатки коробок в отчетах без WMS — используйте Характеристики.
  3. Для запрета «человеческого фактора» и случайных ошибок менеджеров — используйте Расширение с проверкой оператора % (остаток от деления) по коэффициенту упаковки.

Для автоматизации загрузки заказов из Excel мы рекомендуем в коде обработки загрузки добавить функцию автоматического округления количества до ближайшей целой упаковки или подбора подходящей упаковки в зависимости от заказанного объема. Это позволит избежать большинства конфликтов при проведении документов.

← На главную