При работе с маркированной продукцией, особенно в релизах 1С:Розница 2.3.5.x, пользователи часто сталкиваются с ситуацией, когда программа успешно считывает обычный штрихкод (EAN-13), но при запросе кода маркировки (DataMatrix) выдает ошибку. Проанализируем причины этой проблемы и разберем по шагам методы ее решения.
Одной из наиболее частых причин возникновения ошибки является нарушение связи между штрихкодом упаковки (DataMatrix) и конкретной карточкой товара. Рассмотрим, как программа сопоставляет эти данные. Когда мы сканируем обычный штрихкод, 1С находит товар. Затем, когда программа запрашивает код маркировки, она проверяет, привязана ли эта конкретная марка к данному товару в регистре ШтрихкодыУпаковокТоваров. Для быстрого сопоставления данных и получения информации напрямую из ГИС МП можно использовать обработку для получения сведений по кодам марок и GTIN из Честного Знака.
Если марка была получена на "остатки" через упрощенную схему в Честном Знаке, она содержит технический GTIN (обычно начинающийся на 029). Если этот GTIN не прописан в карточке товара или марка ошибочно привязалась к другой номенклатуре при первичной приемке, возникнет ошибка. Выясним, как это исправить:
Проанализируем ситуацию, описанную пользователем: если выбирать товар вручную, программа не запрашивает код маркировки, а при сканировании штрихкода — требует его, но выдает ошибку. Это явный признак того, что в Виде номенклатуры неверно указана Особенность учета.
Для корректной работы с обувью в 1С:Розница необходимо, чтобы у товара был установлен вид номенклатуры с типом "Товар" и особенностью учета "Обувная продукция". Если вы просто изменили текстовое название вида номенклатуры, это не подействует на логику программы. Рассмотрим подробнее, как правильно изменить настройки для уже созданных товаров:
Разберем работу с обработкой по шагам:
Иногда ошибка "QR-кода" (DataMatrix) вызвана тем, что сканер неправильно передает считанные данные в 1С. Для маркировки критически важно, чтобы сканер передавал спецсимвол GS1 (FNC1). Если сканер работает в режиме эмуляции клавиатуры, он может "съедать" невидимые символы, превращая сложный код маркировки в обычную строку текста, которую 1С не может распознать как марку. Для автоматического исправления этой проблемы на стороне программы можно использовать расширение для добавления символов GS к считанным штрихкодам.
Проанализируем, как проверить работу оборудования:
'h01' или символы в угловых скобках).Посмотрим на пример того, как программно может выглядеть проверка привязки штрихкода упаковки к номенклатуре в системе 1С. Это поможет понять, почему возникает ошибка при несоответствии данных.
// Пример логики поиска владельца штрихкода упаковки
Функция НайтиВладельцаМарки(СчитанныйШтрихкод)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ШтрихкодыУпаковок.Владелец КАК Товар,
| ШтрихкодыУпаковок.Номенклатура КАК НоменклатураСсылка
|ИЗ
| Справочник.ШтрихкодыУпаковокТоваров КАК ШтрихкодыУпаковок
|ГДЕ
| ШтрихкодыУпаковок.ЗначениеШтрихкода = &Штрихкод";
Запрос.УстановитьПараметр("Штрихкод", СчитанныйШтрихкод);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.НоменклатураСсылка;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Если функция возвращает Неопределено или ссылку на другой товар, 1С:Розница выдаст сообщение об ошибке, так как текущая позиция в чеке не совпадает с владельцем считанной марки. Именно поэтому важно проверять содержимое справочника Штрихкоды упаковок, если вы уверены, что настройки номенклатуры верны.
Поскольку в обсуждении речь шла об "остатках", важно помнить: такие коды маркировки должны быть введены в оборот. Выясним статус кода через личный кабинет Честного Знака. Если в системе ГИС МП код имеет статус "Нанесен" или "Выбыл", 1С при включенном контроле статусов не позволит совершить продажу.
Резюмируем: для исправления ошибки сканирования QR-кода маркировки в 1С:Розница 2.3 следует выполнить три основных действия:
После выполнения этих настроек в РМК при сканировании штрихкода поле марки должно подсвечиваться корректно, а запрос DataMatrix — завершаться успешным добавлением товара в чек.