При переходе на новые релизы конфигурации 1С:Розница 2.3 (начиная с версии 2.3.25.23 и выше), ориентированные на обязательную интеграцию с протоколом ТС ПИоТ (Техническое средство получения информации о товаре), многие пользователи столкнулись со странным поведением системы при оформлении возвратов. В то время как обычные продажи маркированной продукции проходят без сучка и задоринки, попытка оформить возврат от покупателя превращается в техническую проблему: вместо считанной марки в интерфейсе кассира отображается знак вопроса "?", либо система вовсе не распознает DataMatrix как код маркировки, просто увеличивая количество данного товара в чеке на единицу.
В этой статье мы подробно проанализируем ситуацию, выясним причину такого поведения программы и разберем по шагам рабочие способы устранения данной ошибки, чтобы ваши кассиры могли беспрепятственно оформлять возвраты одежды, обуви и других маркированных товаров.
Для того чтобы понять природу этой ошибки, рассмотрим подробнее, как изменился механизм работы с маркировкой в последних обновлениях 1С. С введением разрешительного режима и ТС ПИоТ кассовая программа больше не может просто отправить код маркировки в чек «как есть». Система обязана проверить статус кода в государственной системе «Честный ЗНАК» непосредственно перед фискализацией операции.
В старых релизах за парсинг и валидацию штрихкодов отвечали локальные обработчики конфигурации. В новых версиях эта роль делегирована модулю ТС ПИоТ. Однако разработчики фирмы 1С сосредоточили основные усилия по интеграции нового протокола на современном интерфейсе РМК (Рабочего места кассира). В старом (классическом) интерфейсе РМК, который используется во многих магазинах годами, возник конфликт логики:
Проанализируем ситуацию на уровне кода. Упрощенно алгоритм обработки входящего штрихкода в старом интерфейсе РМК выглядит следующим образом:
Процедура ОбработатьШтрихкодНаКассе(ДанныеСканера)
СчитанныйКод = ДанныеСканера.Данные;
ТипКода = ОпределитьТипШтрихкода(СчитанныйКод);
Если РежимРаботыКассы = РежимВозврата Тогда
// Здесь в старых релизах Розницы 2.3 происходит сбой позиционирования
Если ТипКода = ТипКодаМаркировки Тогда
ЗапуститьПроверкуМаркиЧерезПИоТ(СчитанныйКод);
Иначе
// Программа ошибочно уходит в эту ветку при сбое парсинга DataMatrix
ДобавитьТоварПоШтрихкоду(СчитанныйКод);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Поскольку старый интерфейс РМК постепенно снимается с активной поддержки, подобные баги в нем исправляются разработчиками в последнюю очередь. Тем не менее, существует несколько проверенных способов обойти эту проблему.
Посмотрим на самый надежный метод решения проблемы. Фирма 1С изначально проектировала новый интерфейс РМК (так называемое «Новое РМК») с учетом всех требований разрешительного режима и работы с ТС ПИоТ. В нем парсинг кодов маркировки при любых операциях (и при продаже, и при возврате) работает корректно.
Разберем по шагам, как переключить кассу на новый интерфейс в 1С:Розница 2.3:
Если специфика вашего торгового процесса или привычки кассиров категорически не позволяют перейти на новый интерфейс РМК прямо сейчас, необходимо обратиться к механизму точечных исправлений. Разработчики 1С регулярно выпускают патчи для исправления ошибок в логике работы с маркировкой и ТС ПИоТ.
Для проверки и установки необходимых патчей выполните следующие действия:
ТС ПИоТ, РМК, Возврат маркированной продукции, Разрешительный режим (обычно они имеют префиксы вида EF_000XXXXX).Иногда корень проблемы кроется в самом торговом оборудовании. Если сканер штрихкода настроен некорректно, он может «срезать» управляющие символы (например, символ GS, он же FNC1), которые необходимы системе для идентификации DataMatrix как кода маркировки нового образца.
Проанализируем ситуацию со сканером на примере популярной модели Zebra (Motorola) DS2208:
GS1 DataMatrix в полном объеме (передача префикса AIM ID). Это гарантирует, что 1С получит всю структуру кода без искажений.Среди кассиров и администраторов часто возникает заблуждение, что для оформления возвратов маркированного товара на рабочем месте кассира обязательно должна быть установлена и настроена усиленная квалифицированная электронная подпись (УКЭП). Давайте внесем ясность в этот вопрос.
Для выполнения стандартного чека возврата на кассовом аппарате (ККТ) электронная подпись непосредственно на кассовом компьютере кассира не требуется. Процесс проверки марки при возврате происходит в режиме онлайн через фискальный накопитель и настроенный модуль ТС ПИоТ. Касса обменивается данными с ОФД и системой маркировки, используя токен доступа, который настраивается один раз администратором при запуске рабочего места.
Однако ЭЦП (УКЭП) понадобится в следующих случаях:
Таким образом, непосредственно для работы кассира на точке продаж устанавливать физический токен ЭЦП в кассовый компьютер нет необходимости. Достаточно корректно настроить права доступа, актуальные драйверы оборудования и современный интерфейс РМК.