В процессе автоматизации складской логистики с использованием терминалов сбора данных (ТСД) многие компании внедряют систему упаковок. Это удобно: вместо сканирования каждой единицы товара кладовщик сканирует один штрихкод паллеты, и система фиксирует отгрузку сразу большого количества позиций. Однако на этапе оформления документов часто возникает методологическая и техническая сложность: Расходный ордер на товары (РО) начинает автоматически разбивать общее количество товара на упаковки, даже если в исходном распоряжении (например, в «Реализации товаров и услуг») указаны штуки. Это приводит к ошибкам проведения и расхождениям между вкладками «Товары по распоряжениям» и «Отгружаемые товары».
В рамках данной статьи мы подробно разберем, почему система ведет себя именно так, проанализируем настройки программы 1С:ERP, 1С:КА или 1С:УТ и найдем способы решения этой проблемы.
Прежде всего, разберем механизм работы складского ордера. Когда мы добавляем в карточку номенклатуры набор упаковок, система начинает считать их приоритетными для складских операций. Если на складе используется ордерная схема, то при заполнении документа РасходныйОрдерНаТовары по распоряжению (кнопка «Заполнить — По распоряжениям»), алгоритм программы пытается максимально упростить работу кладовщику. Он «сворачивает» штуки в максимально возможные крупные единицы — упаковки или паллеты.
Проблема возникает в момент проведения документа. Если система видит, что в распоряжении стоят Штуки, а в отгрузке — Паллеты, и при этом в настройках или в самом заполнении колонок есть малейшее несоответствие (например, пустая колонка количества упаковок или погрешность округления), возникает ошибка: «Количество товаров по распоряжениям не соответствует количеству отгружаемых товаров».
Рассмотрим влияние настроек склада на автоматический подбор упаковок. Если ваш склад использует «Адресное хранение» (высокая детализация), система всегда будет предлагать упаковки, так как ячейки в справочнике СкладскиеЯчейки часто привязаны к типоразмерам упаковок.
ЕдиницыХранения в упаковки при формировании ордера.Проанализируем ситуацию, когда документ не проводится из-за «пустоты» данных. Часто при сканировании штрихкода паллеты через ТСД или ручном подборе в табличную часть «Отгружаемые товары» попадает информация о выбранной упаковке, но колонка КоличествоУпаковок остается пустой, при этом заполнено только Количество (в базовых единицах) — решить эту проблему поможет модуль контроля и проверки отгрузки по штрихкодам.
Для системы 1С это критическая ошибка. Если выбрана Упаковка (например, «Паллета 100 шт»), то в документе обязательно должны быть заполнены оба поля:
КоличествоУпаковок — сколько целых паллет отгружаем.Количество — сколько это составляет в штуках (базовых единицах).Если вы видите, что колонка КоличествоУпаковок пуста, попробуйте перезаполнить строку или проверить, правильно ли привязан штрихкод именно к упаковке, а не к самой номенклатуре. В карточке ШтрихкодыНоменклатуры штрихкод должен быть жестко связан с конкретной позицией из справочника УпаковкиЕдиницыИзмерения.
Выясним причину конфликта вкладок. В Расходном ордере на товары есть две ключевые вкладки: «Товары по распоряжениям» (информация из документа-основания) и «Отгружаемые товары» (фактическая работа склада).
Чтобы избежать ошибки при проведении, выполним следующие действия:
Упаковка, система будет пытаться подставить её везде. Попробуйте временно изменить её на Единица хранения (штуки) и проверить логику формирования ордера.Если стандартные настройки не помогают и система продолжает настойчиво разбивать товар на упаковки, мешая проведению, можно прибегнуть к программному методу. Разберем, какой код отвечает за заполнение ордера.
Основная логика сосредоточена в менеджере документа РасходныйОрдерНаТовары или в специализированных обработках склада. Мы можем создать расширение и перехватить процедуру заполнения табличной части, чтобы принудительно «разворачивать» упаковки обратно в штуки, если это необходимо для соответствия распоряжению.
Пример логики (схематично), которую можно реализовать в расширении для приведения всех строк к базовым единицам (штукам):
// В обработчике перед записью или при заполнении
Для Каждого СтрокаТовара Из Объект.Товары Цикл
Если ЗначениеЗаполнено(СтрокаТовара.Упаковка) Тогда
// Очищаем упаковку, чтобы система считала в базовых единицах
СтрокаТовара.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.ПустаяСсылка();
СтрокаТовара.КоличествоУпаковок = 0;
// Количество в штуках (СтрокаТовара.Количество) оставляем без изменений
КонецЕсли;
КонецЦикла;
Такой подход позволит кладовщику сканировать паллеты (система сама поймет количество по штрихкоду), но в самом документе Расходный ордер данные будут храниться в штуках, что обеспечит 100% соответствие вкладке «Товары по распоряжениям» и позволит провести документ без ошибок.
Мы проанализировали ситуацию с автоматическим преобразованием штук в упаковки в складских ордерах. Подведем итог: для решения проблемы необходимо либо выровнять настройки единиц измерения в карточке товара и склада, либо контролировать полноту заполнения колонок «Количество упаковок» при использовании ТСД, либо использовать небольшую программную доработку, которая будет конвертировать отсканированные упаковки обратно в единицы хранения для «спокойного» проведения документа системой контроля. Для автоматизации этих процессов удобно использовать готовое решение для складских операций через ТСД в 1С.