Как настроить работу с маркировкой в 1С:Мобильное рабочее место кладовщика (МРМК) и решить проблемы со сканированием

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация Управленческий учет IT и автоматизация бизнеса
← На главную

Автоматизация складских процессов с использованием мобильных устройств — одна из приоритетных задач для современного бизнеса, особенно в условиях обязательной маркировки товаров. Конфигурация 1С:Комплексная автоматизация 2.5 (КА 2.5) предлагает типовое решение — Мобильное рабочее место кладовщика (МРМК). Однако на практике пользователи часто сталкиваются с техническими сложностями при попытке отсканировать коды DataMatrix. Рассмотрим подробнее, почему возникают ошибки и как настроить систему для корректной работы.

Проблема сканирования DataMatrix через камеру смартфона

Одной из самых частых проблем является ситуация, когда при попытке сканирования кода маркировки через камеру телефона в форме МРМК ничего не происходит или система выдает ошибку соответствия штрихкоду EAN-13. Проанализируем причину этого поведения. Код маркировки (DataMatrix) содержит в себе не только GTIN и серийный номер, но и специальные управляющие символы, такие как разделитель GS (ASCII 29).

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

Настройка ТСД и режима Broadcast (Intent)

Если вы используете профессиональный терминал сбора данных (ТСД), например, Atol или Zebra, работа через камеру является неэффективной. Правильный путь — использование встроенного сканирующего луча. Разберем по шагам, как настроить взаимодействие ТСД и 1С через механизм Android Intent (Broadcast).

Многие совершают ошибку, оставляя ТСД в режиме эмуляции клавиатуры. В этом случае данные вводятся в активное поле медленно, и 1С не понимает, что произошло именно событие сканирования. Для настройки режима Broadcast выполним следующие действия:

  1. Зайдем в настройки сканирования на самом ТСД (утилита Barcode Utility или ScanWedge).
  2. Выберем режим вывода данных Intent Output или Broadcast.
  3. В поле Action (Действие) укажем строку, которую ожидает драйвер 1С. Для устройств Atol это часто com.xcheng.scanner.action.BARCODE_DECODING_BROADCAST.
  4. В поле Extra (Дополнительно) укажем EXTRA_BARCODE_DECODING_DATA.
  5. В самой 1С, в настройках подключаемого оборудования для мобильного клиента, выберем драйвер 1С:Сканеры штрихкода (NativeApi) и синхронизируем параметры Action и Extra с настройками ТСД.

Важно помнить, что регистр символов в названиях действий имеет значение. Если строки не совпадут, 1С просто проигнорирует сигнал от сканера.

Оптимизация ордерной схемы и этапов отгрузки

Рассмотрим ситуацию, когда кладовщик вынужден сканировать один и тот же товар дважды: сначала для статуса «К отбору», затем для статуса «К проверке». Это происходит из-за жесткой логики ордерного склада, заложенной в 1С. Проанализируем, как можно упростить этот процесс.

Если ваша задача — максимально быстрая отгрузка, проверьте настройки склада в 1С:

Почему работа в МРМК может казаться медленной?

Выясним причину низкой скорости обработки данных. 1С:МРМК по своей сути является «тонким» мобильным клиентом. Это означает, что на каждое сканирование или нажатие кнопки устройство отправляет HTTP-запрос на сервер 1С. Если Wi-Fi соединение на складе нестабильно или сервер перегружен, возникают задержки.

Посмотрим на пример того, как происходит обработка в типовом коде. Каждый раз при активации камеры вызывается инициализация видеозахвата, что занимает 1–2 секунды. Для массовой приемки или отгрузки (сотни позиций) это критично. В таких случаях профессионалы часто рекомендуют переходить на специализированное ПО, работающее с локальной базой данных на ТСД (например, DataMobile), либо глубоко дорабатывать интерфейсы МРМК, чтобы минимизировать количество серверных вызовов.

Пример логики обработки сканирования в расширении

Если вы все же решили дорабатывать МРМК самостоятельно, рассмотрим примерный алгоритм перехвата данных в модуле мобильного клиента. Нам нужно убедиться, что событие ВнешнееСобытие корректно обрабатывает входящий поток данных:


Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    Если Событие = "Barcode" Тогда
        // Очищаем данные от лишних символов
        Штрихкод = СокрЛП(Данные);
        
        // Проверяем, является ли это кодом маркировки DataMatrix
        Если СтрДлина(Штрихкод) > 20 Тогда 
            // Логика поиска марки и сопоставления с заданием
            ОбработатьМаркировкуНаКлиенте(Штрихкод);
        Иначе
            // Обычный штрихкод товара
            ОбработатьШтрихкодТовара(Штрихкод);
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Важный момент: при работе с маркировкой всегда проверяйте наличие прав у пользователя МРМК на работу с объектами Справочник.ШтрихкодыУпаковокТоваров. Без этого мобильное приложение может молча игнорировать отсканированные марки.

Подводя итог, можно сказать, что 1С:МРМК — это рабочий инструмент, но он требует тщательной настройки «под железо» (ТСД) и, в ряде случаев, программной адаптации под особенности конкретных кодов маркировки. Если скорость работы является решающим фактором, стоит обратить внимание на качество сетевого покрытия на складе и использование специализированных драйверов NativeApi вместо эмуляции клавиатуры.

← На главную