Проблема, с которой сталкиваются многие пользователи устаревших конфигураций, таких как Управление торговлей 10.3, заключается в изменении форматов кодов DataMatrix со стороны системы «Честный ЗНАК». Конфигурации, разработанные задолго до введения обязательной маркировки, имеют жестко запрограммированные механизмы разбора строк, которые перестают справляться с новыми структурами данных.
Рассмотрим, почему одни коды считываются, а другие — нет. Основная причина кроется в структуре кода и наличии спецсимволов. Старые коды имеют предсказуемую длину и структуру, тогда как новые коды для товаров легкой промышленности и других групп содержат иные разделители и криптографические «хвосты».
Когда сканер в режиме эмуляции COM-порта передает данные в 1С, встроенная внешняя обработка пытается «разрезать» эту строку на составляющие: GTIN, серийный номер и криптокод. Если новая марка отличается по длине или содержанию символов, алгоритм обработки 1С выдает ошибку, так как не может найти необходимые идентификаторы в ожидаемых позициях строки.
Первым делом проанализируем настройки вашего оборудования Mercury 2200 p2d. Некорректная интерпретация спецсимволов (таких как FNC1) часто приводит к «обрезке» кода.
USB HID (эмуляция клавиатуры) через управляющий код из инструкции к устройству.COM-порта или методах обработки строки в коде 1С, которые не ожидают такую последовательность символов.Разберем различия в кодах. Старые коды для обуви зачастую имеют меньшую сложность. Новые коды для текстильной промышленности содержат более длинные криптографические токены. 1С в конфигурации УТ 10.3 использует устаревшие методы парсинга. Вам необходимо внести изменения в код обработки, которая занимается разбором сканируемого штрихкода.
Для корректного распознавания следует модифицировать функцию, отвечающую за разделение строки маркировки. Посмотрите, как реализован парсинг в вашей внешней обработке, и убедитесь, что она поддерживает работу с длинными последовательностями:
// Пример логики парсинга, которую нужно адаптировать
Функция РазбитьКодМаркировки(СтрокаМаркировки)
// Добавить логику для определения типа кода по первым символам (например, 01)
// И предусмотреть динамическую обработку крипто-хвоста,
// игнорируя жесткую фиксацию длины строки
...
КонецФункции
При вводе остатков товаров легкой промышленности система может требовать использование специфических шаблонов. Если 1С не распознает марку через сканер, проверьте, не является ли данный код упрощенным кодом остатков. В таких случаях:
GS1 DataMatrix.Поскольку конфигурация УТ 10.3 не является профильной для маркировки, работа с новыми товарными группами всегда будет требовать от вас доработки программного кода. Рекомендуем:
1. Обновить внешние обработки: Регулярно скачивайте обновления для модулей маркировки, если их выпускает партнер 1С или разработчик вашей доработки.
2. Программирование парсера: Пригласите специалиста для адаптации регулярных выражений в коде 1С, чтобы парсер корректно определял разделители GS (ASCII 29) независимо от длины кода.
3. Переход на современные версии: Учитывая сложность поддержки устаревших систем, планируйте переход на 1С:Управление торговлей 11 или 1С:Розница 3.0, где механизмы работы с маркировкой встроены в ядро системы и поддерживаются в актуальном состоянии разработчиком.