Завершен

Возможно ли реализовать дополнительную обработку отсканированного штрихкода?

Максим Горбачев 5 лет назад в Прочие разделы / - Вопросы по разработке обновлен Сергей (Специалист) 4 года назад 8
Добрый день.
Торговля автозапчастями на иномарки. Торговля под заказ, товар пришел в большой фуре, тут же рассортировали по фургонам и отвезли клиентам.
Времени самостоятельно штрихкодировать товар или заносить штрихкоды в базу со сканера нет.
Поставщик во-первых штрихкодирует товар сам (позаказно),во-вторых не предоставляет полные штрихкоды на товар.
Например, мы получаем в электронных документах id товара/заказа в виде "12345678", а штрихкод на упаковке "*000912345678/7", или id "25ZX45" а штрихкод "25ZX45 007".
Вопрос: можно ли в панели управления настроить обработку штрихкода после сканирования примерно таким образом:
Отсканировали --> поиск по базе --> не нашли -->
Если Лев(Штрихкод,4)="*001" Тогда
вырезаем часть текста из сканированного штрихкода
Иначе
вырезаем тире, пробелы, пунктуацию
КонецЕсли;
--> и снова ищем?
Установленный продукт:
wi-fi
Версия драйвера:
2.7.1.1
Типовая конфигурация драйвера?:
Операционная система:
Win 7
Версия и конфигурация 1С, и режим работы (Файловы или Серверный):
Альфа-Авто Автосервис 4
Типовая конфигурация 1с?:
Модель ТСД:
Motorola MC55
ХОРОШО, МНЕ ПОНРАВИЛОСЬ
Оценка удовлетворенности от Максим Горбачев 4 года назад
Начат

Добрый день,

Если использовать ПРОФ драйвер, то это можно организовать в промежуточной базе 1С, в функции ПолучитьТовар. Более подробно специалист по разработке в Mobile Smarts ответит ниже...

Добрый день!

Если у Вас есть стандартные места в штрихкоде, куда смотреть и стандартная длина, которую нужно обрезать, то тогда это можно реализовать. Опишите чуть подробнее, стандартные ли "искажения" в штрихкодах? Если они каждый раз новые, то реализовать это будет проблематично.

Добрый день!
У меня пока WIFI драйвер, уже есть купленные лицензии и хотелось бы обойтись без промежуточной базы.

Про "стандартные места": да, есть конечное число вариантов обработки штрихкода.

Вариант 1: если он начинается с "*0001", я вырезаю 8 символов с 6 позиции и могу уже 100% найти это в базе.

Вариант 2: Убрать знаки препинания и тире, Если есть пробелы, взять первое слово, 95-99% найду по базе.

Добрый день.


Задача разбора любых штрихкодов в Mobile SMARTS вынесена в фичу, называемую шаблоны штрихкодов, там в статье есть примеры.


Работает это так: декларативно задаете кучу шаблонов, они по очереди применяются к штрихкоду, пока не совпадет. Есть упрощенный синтаксис, но разрешается использовать и регулярные выражения. Это более простой способ, чем писать if substring и т.п.

Добрый день!

Для штрихкода вида "Вариант 1" достаточно добавить шаблон номенклатуры (выделено красным на скриншоте).

По штрихкоду вида "Вариант 2" недостаточно данных, но если нужно просто удалять всё, кроме цифр, и искать по тому, что получилось, то подойдёт решение, выделенное зелёным прямоугольником.

Отлично! По варианту 1 все понял, будем воплощать в жизнь.

По варианту 2: Уточню. Читаем штрихкод. Если есть пробелы, берем все до первого пробела (первое слово). Из того, что осталось, убираем знаки "-;:,./\!" и прочую пунктуацию. в итоговом штрихкоде может быть латиница и цифры.

Про шаблоны штрихкода понял, попробую.

По второму варианту Вам тоже лучше будет использовать шаблоны, это снизит шанс того, что мы выбросим из штрихкода какую-то существенную информацию. Придётся сделать несколько шаблонов, чтобы предусмотреть все возможные варианты считываемых штрихкодов.

Сервис поддержки клиентов работает на платформе UserEcho