Как настроить распознавание штрихкодов GS1-128 в MobileSmart «Магазин 15» для 1С 7.7

Программист 1С v7.7 Управленческий учет IT и автоматизация бизнеса
← На главную

При работе с мобильными решениями MobileSmart (Клеверенс), особенно на платформе 1С 7.7, разработчики часто сталкиваются с проблемой: товар выгружен со стандартным EAN-13, а на складе необходимо сканировать сложные партионные штрихкоды формата GS1-128. В таких кодах «зашит» не только идентификатор товара, но и серия, дата производства или вес. Если система не настроена на разбор такой строки, она выдает ошибку «Штрихкод не найден».

Разберем подробно, как заставить терминал сбора данных (ТСД) «видеть» ваш товар внутри сложной строки GS1 и корректно сопоставлять его с номенклатурой из 1С 7.7.

Понимание структуры GS1-128 и идентификаторов применения

Прежде чем приступать к настройкам, проанализируем, что именно мы сканируем. Штрихкод GS1-128 — это не просто набор цифр, а контейнер. Он состоит из идентификаторов применения (AI). Самый важный для нас — (01), за которым следует GTIN (14 цифр). Если в вашей базе 1С 7.7 штрихкод имеет 13 знаков (EAN-13), то в GS1 он будет дополнен ведущим нулем до 14 знаков.

Рассмотрим пример ситуации: сканируется код 01046012345678901723123110BATCH123. Здесь:

Наша задача — настроить Шаблон штрихкода в панели управления MobileSmart так, чтобы система вырезала нужную часть строки для поиска.

Настройка шаблона штрихкода в MobileSmart

Для корректного разбора выполним следующие шаги в «Панели управления MobileSmart»:

  1. Перейдем в раздел «Настройки» — «Шаблоны штрихкодов».
  2. Создадим новый шаблон. Назовем его, например, «GS1 Товар».
  3. В поле «Регулярное выражение» нам нужно прописать маску, которая определит структуру кода.

Проанализируем типичное регулярное выражение для поиска GTIN:

^01(\d{14}).*

В данном примере ^01 означает, что строка должна начинаться с префикса 01, а (\d{14}) выделяет следующие 14 цифр в отдельную группу, которую мы и будем использовать для поиска товара. Если ваш штрихкод в 1С хранится как 13-значный (без ведущего нуля), в шаблоне можно указать правило удаления первого символа.

Использование дополнительных полей номенклатуры

Как упоминалось в ситуации автора, иногда требуется отсекать определенные символы (например, префиксы). Однако в MobileSmart правильнее использовать «Дополнительные поля номенклатуры» для хранения именно GTIN. Рассмотрим, как это настроить в 1С 7.7.

При выгрузке данных из 1С 7.7 в MobileSmart убедитесь, что штрихкод передается в чистом виде. Выясним причину возможных нестыковок: часто в 7.7 штрихкоды хранятся с пробелами. Перед выгрузкой обязательно используйте функцию СокрЛП().

Пример формирования строки выгрузки в 1С 7.7:


// Пример подготовки штрихкода для выгрузки в CSV/XML для Клеверенс
ШтрихКодДляВыгрузки = СокрЛП(ТекНоменклатура.ШтрихКод);
Если СтрДлина(ШтрихКодДляВыгрузки) = 13 Тогда
    ШтрихКодДляВыгрузки = "0" + ШтрихКодДляВыгрузки; // Дополняем до GTIN-14
КонецЕсли;

Настройка аппаратной части ТСД

Даже самый верный шаблон не сработает, если сам сканер ТСД настроен неверно. Посмотрим на критические настройки оборудования:

Настройка логики в визуальном редакторе («стрелочки»)

Когда шаблон готов, нужно убедиться, что бизнес-процесс в конфигурации (алгоритм работы на ТСД) использует этот шаблон. Рассмотрим по шагам:

  1. Откройте нужную операцию (например, «Сбор штрихкодов» или «Подбор заказа») в редакторе конфигурации.
  2. Найдите действие «При сканировании».
  3. Внутри этого действия обычно вызывается функция поиска — «Поиск по штрихкоду».
  4. Проанализируем свойства этого действия. Там есть флаг «Использовать шаблоны». Он должен быть установлен в значение True (Истина).

Если этот флаг выключен, MobileSmart будет искать в базе данных всю считанную строку целиком (все 30–50 символов GS1-кода), что предсказуемо приведет к ошибке «Товар не найден».

Проверка данных в локальной базе ТСД

Если ошибка сохраняется, выясним, как данные физически легли в базу данных терминала. Для этого можно воспользоваться «Просмотром данных» в Панели управления Клеверенс:

Важный момент: Если вы используете лицензию уровня «Базовая», возможности работы со сложными шаблонами могут быть ограничены. Для полноценного разбора GS1-128 и DataMatrix (Маркировка) рекомендуется использовать уровни «Расширенный» или «ПРОФ».

Резюме решения

Для успешного сканирования GS1-128 в связке с 1С 7.7 необходимо:

  1. Привести штрихкоды в 1С к единому формату (GTIN-14) при выгрузке.
  2. Создать в MobileSmart шаблон штрихкода с регулярным выражением ^01(\d{14}).
  3. Включить в действии поиска на ТСД опцию «Использовать шаблоны».
  4. Убедиться, что сканер ТСД настроен на передачу данных через Intent и распознает символику GS1.

Следуя этой инструкции, вы сможете настроить корректную работу склада и избежать ошибок при подборе заказов, сохранив при этом привычную структуру данных в вашей системе 1С 7.7.

← На главную