При работе в современных конфигурациях 1С, таких как 1С:ERP 2, Комплексная автоматизация 2 или Управление торговлей 11, пользователи часто сталкиваются с ситуацией: в документе Приобретение товаров и услуг серии указаны, но при создании Приходного ордера на товары на адресный склад табличная часть с сериями остается пустой несмотря на контроль количества. При попытке заполнить их вручную или через команду «Заполнить по распоряжению» система выдает ошибку или просто игнорирует действие. Давайте подробно разберем, почему это происходит, какая логика заложена разработчиками и как можно решить эту задачу.
Первым делом проанализируем ситуацию на уровне программного кода. Если мы заглянем в модуль менеджера документа Приходный ордер на товары, то обнаружим жесткую проверку, которая выполняется функцией СкладыСервер.ИспользоватьАдресноеХранение. Логика проверки выглядит следующим образом:
Если СкладыСервер.ИспользоватьАдресноеХранение(Объект.Склад, Объект.Помещение, Объект.Дата) Тогда
Если ВыдаватьОшибки Тогда
ТекстСообщения = НСтр("ru = 'На складе ""%Склад%"" ведется учет остатков в разрезе складских ячеек.
Серии могут быть заполнены по распоряжению только при перемещении товаров с адресного склада.
По другим типам распоряжений заполнение серий на этом складе не поддерживается.'");
// ... вывод сообщения пользователю ...
КонецЕсли;
Возврат Ложь;
КонецЕсли;
Из этого фрагмента кода становится ясно, что ограничение является намеренным. Система разрешает автоматическое заполнение серий только в одном случае — при внутреннем перемещении между адресными складами. При поступлении товаров от внешнего поставщика автоматическое заполнение блокируется.
Рассмотрим, для чего разработчики внедрили такое ограничение. В основе работы адресного склада (WMS-функционал 1С) лежит принцип фактической приемки. Давайте выясним, почему это критично для ячеистого хранения:
Приобретении товаров и услуг рассматриваются системой как «ожидаемые» (то, что прислал поставщик в документах). Задача приходного ордера на адресном складе — зафиксировать «фактическое» поступление. Именно поэтому система заставляет кладовщика сканировать каждую единицу или вводить серии вручную.Проанализируем еще одну ситуацию, упомянутую участниками обсуждения. Бывает так, что для одного товара серии заполняются, а для другого — нет, хотя склад один и тот же. В этом случае нам стоит обратить внимание на настройки Вида номенклатуры и самих объектов Серии.
Выясним причину через проверку соответствия владельца серии. Иногда серия создается программно или копированием, и в поле Вид номенклатуры у серии оказывается значение, отличное от того, которое указано в карточке товара. Система при попытке подбора сравнивает эти метаданные, и если находит несоответствие, отбраковывает серию. Проверьте:
Вид номенклатуры.Если ваш бизнес-процесс подразумевает, что серии в накладных всегда верны, и вы хотите избежать «двойной работы», рассмотрим возможные пути решения:
Приходного ордера на товары. Нужно переопределить процедуру проверки возможности заполнения серий, чтобы она возвращала Истина даже для адресных складов. Однако помните, что это снимает защиту от ошибок персонала.Посмотрим на пример, когда заполнение работает. При перемещении с адресного склада на адресный серии заполняются автоматически. Это происходит потому, что серии уже находятся в системе в статусе «В наличии» в конкретных ячейках отправителя. Система точно знает, что они существуют, и просто фиксирует их «путешествие» в зону приемки другого склада. В случае же с поставщиком, серии являются новыми объектами для склада, требующими первичной идентификации.
Резюме: Отсутствие заполнения серий в приходном ордере на адресном складе — это не ошибка, а защитный механизм 1С. Для обхода этого механизма лучше всего использовать мобильное рабочее место (ТСД) или, в крайнем случае, точечные доработки конфигурации через расширения, осознавая риски снижения точности складского учета.