Как подключить терминалы сбора данных (ТСД) на Android к 1С 7.7 по RDP и какие модели использовать?

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

При автоматизации складских процессов на платформе 1С 7.7 часто возникает задача использования терминалов сбора данных (ТСД). В условиях ограниченного бюджета или необходимости быстрой реализации, подключение ТСД на базе Android через RDP (Remote Desktop Protocol) к существующей базе 1С 7.7 является одним из жизнеспособных вариантов. Рассмотрим подробно, какие модели ТСД подходят, как настроить работу и с какими трудностями мы можем столкнуться.

Выбор ТСД для работы по RDP с 1С 7.7

Прежде всего, давайте определимся с моделями ТСД, которые подходят для нашей задачи. Основное требование — это поддержка Android и наличие стабильного RDP-клиента.

  1. Zebra MC3300 Premium: Эта модель была названа как проверенный вариант. Устройства Zebra известны своей надежностью и производительностью, что критически важно для интенсивной складской работы.
  2. АТОЛ Smart.Slim и АТОЛ Smart.Lite: Это более бюджетные варианты, которые также успешно используются. Пользователи подтверждают, что в терминальном режиме сканер этих устройств работает как клавиатура, что позволяет интегрировать его с 1С 7.7.
  3. Бюджетные Android ТСД: Мы можем рассмотреть и другие, менее дорогие модели. Однако здесь стоит быть особенно внимательными. Мы выяснили, что некоторые недорогие ТСД могут быть задумчивыми при сканировании, особенно если штрихкод не черно-белый или поврежден. Скорость считывания может быть в 2 раза медленнее, что значительно снижает продуктивность кладовщиков. В таких случаях иногда целесообразнее приобрести бывший в употреблении, но надежный промышленный ТСД (например, Symbol) с новым аккумулятором, чем новый бюджетный Android-ТСД, который не справится с задачами.

При выборе всегда рекомендуем тщательно тестировать ТСД на реальных условиях склада, прежде чем закупать партию.

Особенности RDP-подключения и клиента на Android

Для успешной работы нам потребуется адекватный RDP-клиент на Android. Мы должны убедиться, что он обеспечивает стабильное соединение с терминальным сервером Windows, где запущена 1С 7.7. Важно проверить, пробрасывается ли звук с сервера на ТСД, так как звуковые оповещения могут быть полезны в работе.

Одним из важных аспектов при работе по RDP является вопрос лицензирования RDP-сессий. За каждую RDP-сессию на терминальный сервер требуется клиентская лицензия (CAL). Мы должны учесть это в бюджете и, при необходимости, рассмотреть альтернативные решения (например, мобильные приложения), если лицензионные затраты становятся слишком высокими.

Оптимизация интерфейса 1С 7.7 для ТСД

Экран ТСД значительно меньше монитора компьютера, поэтому стандартный интерфейс 1С 7.7 будет неудобен. Мы должны разработать специализированный интерфейс:

  1. Упрощенные формы: Создаем максимально простые формы с крупными элементами управления, минимизируем количество полей и кнопок.
  2. Горячие клавиши: Активно используем функциональные клавиши (F1-F9) и стрелки для навигации и выполнения основных операций.
  3. Formex: Компонента Formex для 1С 7.7 является мощным инструментом для создания пользовательских интерфейсов и перехвата событий клавиатуры. Мы можем использовать ее для рисования мини-интерфейсов, которые идеально подходят для небольших экранов ТСД. Formex позволяет гибко управлять размещением элементов и отработкой нажатий.

Обработка штрихкодов и ввода с клавиатуры на ТСД

Для работы со сканером ТСД в RDP-сессии, как правило, используется режим разрыва клавиатуры (Keyboard Wedge). В этом режиме сканер имитирует ввод данных с обычной клавиатуры.

Метод с использованием префиксов в ПриНажатииКнопкиКлавиатуры()

Это распространенный и эффективный способ обработки ввода со сканера в 1С 7.7:

  1. Использование префикса: Мы настраиваем ТСД или сам сканер так, чтобы перед каждым считанным штрихкодом добавлялся определенный префикс (например, CTRL+B или специальный символ). Это позволяет нам однозначно определить, что ввод поступил от сканера, а не от ручного набора.
  2. Перехват событий: В обработке .ert для ТСД мы используем процедуру ПриНажатииКнопкиКлавиатуры(). Эта процедура позволяет нам отслеживать все нажатия клавиш, включая те, что поступают от сканера.
  3. Логика обработки:
    
    Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши, СостояниеКлавиш)
        Если КодКлавиши = 66 И СостояниеКлавиш = 2 Тогда // CTRL+B
            // Включить режим ожидания штрихкода от сканера
            ГлобальнаяПеременная_ОжидаемШтрихкод = Истина;
            Возврат; // Префикс не обрабатываем как часть штрихкода
        КонецЕсли;
    
        Если ГлобальнаяПеременная_ОжидаемШтрихкод Тогда
            // Накапливаем символы штрихкода
            Если КодКлавиши = 13 Тогда // Enter (конец штрихкода)
                ГлобальнаяПеременная_ОжидаемШтрихкод = Ложь;
                // Здесь обрабатываем полученный штрихкод
                ОбработатьШтрихкод(НакопленныйШтрихкод);
                НакопленныйШтрихкод = "";
            Иначе
                НакопленныйШтрихкод = НакопленныйШтрихкод + Символ(КодКлавиши);
            КонецЕсли;
            Возврат;
        КонецЕсли;
        // Здесь обрабатываем обычные нажатия клавиш, не от сканера
        // Например, функциональные клавиши F1-F9, стрелки, ESC
        Если КодКлавиши = 113 Тогда // F2
            // Выполнить действие для F2
        ИначеЕсли КодКлавиши = 114 Тогда // F3
            // Выполнить действие для F3
        ИначеЕсли КодКлавиши = 37 Тогда // Стрелка влево
            // Переход влево
        ИначеЕсли КодКлавиши = 27 Тогда // ESC
            // Отмена или выход
        КонецЕсли;
    КонецПроцедуры
    

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

Использование единственного активного элемента для сканирования

Для простейших операций, когда нужно только сканировать, мы можем поместить на форму единственное активное поле ввода. Все штрихкоды, поступающие от сканера (в режиме Keyboard Wedge), будут автоматически вводиться в это поле. Далее мы можем отработать стандартную процедуру поля при изменении его значения или по нажатию Enter. Если нам не требуется отображать поле, мы можем сдвинуть его за пределы видимой области экрана ТСД.

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

Производительность сканирования: 1D против 2D

При выборе ТСД и сканера мы должны учитывать тип штрихкодов, с которыми будем работать, и требуемую скорость:

  1. 1D (линейные) сканеры: Традиционно лазерные 1D-сканеры значительно быстрее считывают линейные штрихкоды. Если мы работаем преимущественно с EAN-13, Code 39 и другими линейными кодами, и требуется высокая скорость обработки большого объема товаров (например, при сборке паллет), 1D-сканер может быть предпочтительнее. Некоторые пользователи отмечают, что для сканирования паллеты из 56 ящиков лазерный сканер справляется за 1,5 минуты, в то время как более медленный 2D-сканер может потребовать 3 минуты и дополнительные пересканирования.
  2. 2D (имиджевые) сканеры: С повсеместным внедрением маркировки товаров (QR-коды, Data Matrix) 2D-сканеры стали необходимостью. Современные 2D-сканеры, по сути, являются "фотоаппаратами", которые делают снимок штрихкода и затем распознают его с помощью встроенного процессора и микропрограммы. Скорость такого считывания зависит от качества камеры, мощности процессора ТСД и эффективности алгоритмов распознавания.

    Важно понимать, что большинство современных 2D-сканеров, в том числе в ТСД, являются именно имиджевыми (на основе камеры), а не лазерными в традиционном понимании "растровой развертки". Высокопроизводительные имиджевые сканеры существуют, но они, как правило, дороже. При выборе 2D-сканера обращаем внимание на его способность считывать поврежденные, плохо напечатанные или глянцевые коды.

Альтернативные подходы к интеграции ТСД с 1С 7.7

Хотя тема посвящена RDP, стоит упомянуть, что существуют и более современные и гибкие альтернативы, которые могут быть более эффективными в долгосрочной перспективе или при более высоком бюджете:

  1. HTTP-сервер для 1С 7.7 + мобильное приложение на 1С 8.х: Мы можем использовать внешнюю компоненту "HTTP-сервер" (например, доступную на Infostart) для 1С 7.7. Эта компонента позволяет 7.7 взаимодействовать с внешними системами по протоколу HTTP. Затем мы можем разработать мобильное приложение (например, на платформе 1С:Предприятие 8 для мобильных устройств) для ТСД.

    Этот подход предлагает несколько вариантов работы:

    • Онлайн-режим: Мобильный WEB-клиент на ТСД взаимодействует с базой 1С 8.х (по WEB), которая, в свою очередь, онлайн обменивается данными с 1С 7.7 по HTTP. Это позволяет реализовать функционал, например, привязки фотографий по штрихкоду.
    • Офлайн-режим: Отдельная база на 1С 8.х находится непосредственно на ТСД. Обмен данными с 1С 7.7 происходит по HTTP в сеансовом режиме (синхронизация), что позволяет работать в условиях нестабильного Wi-Fi, например, при проведении инвентаризаций.

    Данный метод обеспечивает более широкие возможности для использования нативных функций Android (например, прямого доступа к сканеру без имитации клавиатуры) и создания более современного и отзывчивого интерфейса.

  2. Нативные события сканера: На Android ТСД часто есть собственные SDK для доступа к сканеру. Если мы используем мобильное приложение, разработанное специально для Android, мы можем напрямую получать события сканирования, что более надежно и быстро, чем эмуляция клавиатуры.

Заключение

Работа с ТСД на Android через RDP-подключение к 1С 7.7 вполне осуществима и может быть эффективным решением для небольших складов с ограниченным бюджетом. Мы убедились, что важно тщательно подойти к выбору модели ТСД, оптимизировать интерфейс 1С 7.7 с помощью Formex и грамотно настроить обработку ввода со сканера и функциональных клавиш в процедуре ПриНажатииКнопкиКлавиатуры(). Несмотря на то, что это не самый современный подход, он позволяет использовать проверенные технологии 1С 7.7 для автоматизации складских операций.

← На главную