Переход на обязательную маркировку товаров (в частности, обуви) заставляет многих владельцев бизнеса и разработчиков пересмотреть архитектуру своих учетных систем. Конфигурация 1С:Розница 2 часто воспринимается как избыточная и "тяжелая" для работы непосредственно на кассовом узле, где требуется максимальная скорость и стабильность. В этой статье мы проанализируем альтернативные варианты фронт-офиса, а также разберем технические нюансы работы с кодами DataMatrix в среде 1С.
Рассмотрим основные варианты, которые могут заменить "тяжелый" фронт на базе 1С, обеспечивая при этом корректную работу с системой Честный Знак:
Разберем детально ситуацию, когда 1С используется как "станция маркировки". Одной из главных проблем является корректная обработка кода маркировки (КМ). Код DataMatrix содержит в себе невидимые спецсимволы, такие как разделитель GS1 (ASCII 29). При попытке передать такой код в виде обычной строки между клиентом и сервером в управляемых формах, данные часто искажаются.
Проанализируем причину: управляемые формы 1С при передаче строк могут "обрезать" или заменять непечатные символы. В результате, сформированный и распечатанный DataMatrix визуально выглядит правильно, но не проходит проверку в мобильном приложении "Честный Знак".
Для решения этой проблемы рассмотрим следующий алгоритм обработки строки кода маркировки:
COM-порта. В режиме эмуляции клавиатуры спецсимволы (ASCII 29) часто теряются или преобразуются в нажатия клавиш.Посмотрим на пример логики кодирования/декодирования данных при передаче между контекстами:
// На сервере кодируем полученный из СУЗ код маркировки
ДанныеДляКлиента = Base64Строка(Новый ДвоичныеДанныеИзСтроки(КодМаркировки, КодировкаТекста.UTF8));
// На клиенте получаем и декодируем для печати
// Обратите внимание: стандартная функция РаскодироватьСтроку часто доступна только на сервере
// Поэтому используем временное хранилище или передаем уже подготовленный массив байтов
Выясним, на что обратить внимание при настройке оборудования для работы с маркировкой обуви:
DataMatrix рекомендуется использовать языки описания страниц принтера. Это исключает размытие кода при масштабировании картинки.Проанализируем, как меняется работа кассира и товароведа после внедрения маркировки:
EAN-13 (штрихкод товара), а затем система требует обязательного сканирования DataMatrix. Данные через ОФД автоматически уходят в ЦРПТ для вывода товара из оборота.Важный совет: Если вы используете старые конфигурации (например, 1С:Комплексная автоматизация 1.1), внедрение маркировки "в лоб" может потребовать колоссальных затрат на переписывание ядра системы. В этом случае использование стороннего фронт-офиса (того же Frontol), который берет на себя всю специфику работы с кассовым чеком и маркировкой, является наиболее экономически оправданным решением.