При осуществлении приемки и проверки маркированной табачной продукции в программах «1С:Розница» или «1С:Бухгалтерия предприятия» пользователи часто сталкиваются с неприятной ошибкой: «Добавление отсканированной упаковки невозможно. Невозможно добавить единиц маркируемой продукции 0 из 10» — для этого есть оптимизация подбора и сканирования кодов маркировки. При этом в качестве причины система указывает: «Вид продукции не определен».
Эта проблема блокирует нормальный процесс проверки поступивших блоков сигарет и делает невозможным их корректное оприходование через систему электронного документооборота (ЭДО) — для этой задачи есть автоматизация обмена с Честным Знаком и ЭДО. В данной статье мы подробно разберем причины возникновения этой ошибки и пошагово рассмотрим все способы её решения — от пользовательской настройки карточек товаров до аппаратного программирования сканера и внесения корректировок в программный код «1С».
---
Проанализируем механику работы системы маркировки. Код маркировки, нанесенный на блок сигарет (двухмерный штрихкод DataMatrix), выполнен по стандарту GS1. Он содержит специальные скрытые символы-разделители, такие как префикс FNC1 (в начале кода) и символ GS (Group Separator, код 29 в таблице ASCII), разделяющий блоки данных внутри кода. Эти символы жизненно необходимы программе «1С» для того, чтобы корректно распознать структуру штрихкода, извлечь из него GTIN продукции и серийный номер.
Если ваш сканер работает в обычном режиме эмуляции клавиатуры (когда данные передаются в систему так, будто они просто набраны на клавиатуре), скрытые символы-разделители отсекаются. Программа получает «склеенную» плоскую текстовую строку, не может сопоставить её со стандартом маркировки и выдает ошибку: «Вид продукции не определен».
Выясним, как правильно настроить сканирующее оборудование (на примере популярного сканера Honeywell Voyager 1450G, аналогично настраиваются и другие модели):
CR или значение 13).---
Даже при идеально настроенном сканере система выдаст ошибку добавления, если в самой базе «1С» не создана связь между штучной номенклатурой (пачкой) и групповой упаковкой (блоком). Рассмотрим по шагам, как правильно настроить учет упаковок в «1С:Рознице»:
10 (поскольку в одном блоке содержится 10 пачек сигарет).Важное примечание: Если в вашей версии конфигурации (например, в старых релизах «1С:Розница» 2.3) отсутствует встроенный справочник автоматического сопоставления штрихкодов по табаку, то в форме проверки марок рекомендуется выполнять сканирование в два этапа: сначала считывать линейный штрихкод (EAN) блока, чтобы система поняла, какую номенклатуру вы держите в руках, а затем считывать двухмерный код маркировки (DataMatrix) этого же блока. Для этой задачи есть автоматизация работы с маркировкой табака.
---
Разобравшись с настройками оборудования и карточками товаров, посмотрим на процесс проверки в самом документе «Приобретение товаров и услуг» (или «Поступление товаров») — процесс ускоряет автоматизация проверки приемки и отгрузки маркированной продукции. Многие пользователи путаются, как правильно принимать блоки, если продавать их планируется пачками.
Рассмотрим правильный алгоритм работы в форме проверки поступившей продукции:
---
Проанализируем более глубокую техническую проблему, которая встречается в некоторых релизах «1С:Бухгалтерии предприятия 3.0» (поможет автоматизация обработки марок для 1С:Бухгалтерии 3.0) и «1С:Розницы 2.3». При сканировании логистических коробок или блоков в процедурах подбора возникает сбой из-за того, что список разрешенных статусов для упаковок передается пустым.
Выясним причину: во внутреннем механизме интеграции переменная ДопустимыеСтатусыУпаковокИСМП инициализируется как пустая коллекция, из-за чего проверка прав на добавление блокирует операцию.
Чтобы решить эту проблему программно, разработчики могут воспользоваться механизмом расширений для общего модуля ИнтеграцияИСБПКлиентСервер (или аналогичного модуля в вашей конфигурации). Найдите процедуру ЗаполнитьПараметрыСканированияРеализацияТоваровУслуг и добавьте принудительную инициализацию допустимых статусов по аналогии со штучным товаром:
&После("ЗаполнитьПараметрыСканированияРеализацияТоваровУслуг")
Процедура ИСП_ЗаполнитьПараметрыСканированияРеализацияТоваровУслуг(ПараметрыСканирования, ДокументСсылка)
// Если список допустимых статусов для упаковок оказался пуст, заполняем его стандартными значениями
Если ПараметрыСканирования.ДопустимыеСтатусыУпаковокИСМП.Количество() = 0 Тогда
ПараметрыСканирования.ДопустимыеСтатусыУпаковокИСМП.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыКодовМаркировкиИСМП.ВведенВОборот"));
ПараметрыСканирования.ДопустимыеСтатусыУпаковокИСМП.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыКодовМаркировкиИСМП.Принят"));
КонецЕсли;
КонецПроцедуры
После применения данного исправления система перестанет блокировать добавление отсканированных упаковок и позволит успешно завершить подбор и проверку продукции.