Как интегрировать ТСД на Windows CE с 1С:Комплексная автоматизация 2 или 1С:ERP?

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

Интеграция устаревших терминалов сбора данных (ТСД) под управлением операционной системы Windows CE (например, классических моделей Motorola/Symbol MC3090, MC3190, MC9090) с современными конфигурациями 1С на управляемых формах часто вызывает у разработчиков и системных администраторов множество вопросов. Напрямую запустить современный мобильный клиент 1С на таких устройствах невозможно, так как Microsoft прекратила поддержку Windows CE, а новые мобильные приложения 1С разрабатываются исключительно под Android и iOS.

Тем не менее, списывать рабочие и надежные терминалы в утиль не обязательно. В этой статье мы подробно разберем, как успешно интегрировать ТСД на Windows CE с современными конфигурациями «1С:Комплексная автоматизация 2» и «1С:ERP Управление предприятием 2» с помощью терминального доступа (RDP) и специализированного программного обеспечения.

Вариант 1. Использование встроенного «Мобильного рабочего места» через RDP

В конфигурациях 1С:ERP и КА 2.х реализован встроенный механизм под названием Мобильное рабочее место работника склада (МРМ). Изначально (в версиях 2.4) оно проектировалось именно под работу через RDP-клиент. Рассмотрим по шагам архитектуру и принцип работы данного решения.

Схема терминальной работы выглядит следующим образом:

  1. На терминале сбора данных запускается RDP-клиент (Remote Desktop Connection), который подключается к терминальному серверу под управлением Windows Server.
  2. В рамках терминальной сессии автоматически стартует сеанс «1С:Предприятия» под учетной записью конкретного кладовщика.
  3. При старте системы запускается специализированная обработка «Рабочее место работника склада», интерфейс которой оптимизирован под маленькие экраны ТСД (обычно имеющие разрешение 320х320 или 320х240 пикселей).

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

Технические нюансы настройки RDP на Windows CE

Попытка «из коробки» подключить старый ТСД на Windows CE 5.0 или 6.0 к современному серверу (Windows Server 2016/2019/2022) обычно заканчивается ошибкой авторизации (например, "Internal Error"). Выясним причину этой проблемы.

Дело в том, что старый RDP-клиент Windows CE не поддерживает современные протоколы безопасности, такие как NLA (Network Level Authentication / проверка подлинности на уровне сети) и протоколы шифрования TLS 1.2 и выше. Чтобы обойти это ограничение, выполним следующие действия:

  1. На терминальном сервере в настройках служб удаленных рабочих столов временно ослабим требования безопасности: разрешим подключения от компьютеров, на которых не запущена NLA.
  2. В групповых политиках сервера разрешим использование более ранних версий протокола RDP и алгоритмов шифрования (хотя это может снизить общую безопасность сети, для изолированного складского контура Wi-Fi это вполне допустимо).
  3. В качестве альтернативного и более безопасного варианта можно использовать сторонние современные RDP-клиенты для Windows CE, поддерживающие NLA, или настроить проксирование трафика через защищенный туннель.

Вариант 2. Разработка собственных облегченных форм под RDP

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

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

Ниже приведем пример кода на встроенном языке 1С, который обрабатывает ввод штрихкода в текстовое поле формы и выполняет поиск номенклатуры при нажатии клавиши Enter:


&НаКлиенте
Процедура ШтрихкодПриИзменении(Элемент)
    
    Если Не ЗначениеЗаполнено(Объект.Штрихкод) Тогда
        Возврат;
    КонецЕсли;
    
    // Выполняем поиск номенклатуры на сервере
    НайденныйТовар = НайтиТоварПоШтрихкодуНаСервере(Объект.Штрихкод);
    
    Если НайденныйТовар = Неопределено Тогда
        ПоказатьПредупреждение(, "Товар со штрихкодом " + Объект.Штрихкод + " не найден!");
        Объект.Штрихкод = "";
        ТекущийЭлемент = Элементы.Штрихкод;
        Возврат;
    КонецЕсли;
    
    // Добавляем товар в табличную часть документа
    ДобавитьТоварВДокумент(НайденныйТовар);
    
    // Очищаем поле ввода для следующего сканирования
    Объект.Штрихкод = "";
    ТекущийЭлемент = Элементы.Штрихкод;
    
КонецПроцедуры

Настройка сканирования штрихкодов в RDP-сессии

При работе через RDP сканер ТСД функционирует в режиме эмуляции клавиатуры (так называемый режим Keyboard Wedge). За эту логику на самом терминале отвечает специализированная встроенная утилита, чаще всего — DataWedge. Проанализируем, как правильно ее сконфигурировать:

  1. Запустим утилиту DataWedge на самом ТСД.
  2. В настройках профиля (например, Profile0) найдем раздел Keystroke output и включим его (Enabled).
  3. Крайне важно настроить суффикс отправки данных. В параметре Basic data formatting включим отправку суффикса возврата каретки: установим флаг Send Enter key или пропишем суффикс \n (код клавиши 13). Это необходимо для того, чтобы после считывания штрихкода ТСД автоматически имитировал нажатие клавиши Enter, инициируя событие ПриИзменении в нашей форме 1С.

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

Вариант 3. Использование специализированного ПО (Клеверенс, DataMobile)

Если стабильность вашего складского Wi-Fi оставляет желать лучшего, постоянные обрывы RDP-сессий будут тормозить работу склада. В таких сценариях рассмотрим использование специализированного промежуточного ПО, например, продуктов компании Клеверенс (Mobile SMARTS: Склад 15) или программного пакета DataMobile.

Эти системы предлагают гибридный или полностью автономный режим работы:

Перспективы развития инфраструктуры: почему переход на Android неизбежен

Хотя запуск ТСД на Windows CE через RDP — это отличное, рабочее и бюджетное временное решение, мы должны понимать, что долгосрочно эта технология является тупиковой. Проанализируем ключевые причины:

  1. Проблемы с аккумуляторами: Найти новые оригинальные батареи для Motorola MC3190 / MC9090 становится практически невозможно. Неоригинальные аналоги быстро теряют емкость, особенно при работе на неотапливаемых или холодных складах.
  2. Требования к маркировке (Честный Знак): Современные коды маркировки DataMatrix содержат большой объем информации. Сканирование двумерных штрихкодов старыми лазерными или слабыми имидж-сканерами на Windows CE происходит медленно и с частыми ошибками распознавания, тогда как современные Android-ТСД считывают поврежденные 2D-коды мгновенно.
  3. Финансовая целесообразность: Покупка терминальных лицензий доступа (RDS CAL) для сервера под каждого работающего сотрудника склада, администрирование RDP-сервера и постоянный ремонт старого парка техники в конечном итоге могут обойтись дороже, чем приобретение новых современных китайских ТСД на Android начального уровня (например, брендов Urovo, Chainway или iData).

Подводя итог, можно утверждать: если перед вами стоит задача быстро запустить автоматизацию склада "здесь и сейчас" с минимальным бюджетом при наличии парка ТСД на Windows CE — смело разворачивайте терминальный доступ RDP и используйте штатное мобильное рабочее место 1С или самописные формы. Это проверенная временем, работоспособная схема, которая позволит вашему бизнесу работать эффективно в течение переходного периода.

← На главную