Как организовать работу 1С на ТСД с Windows Embedded Handheld 6.5?

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

При работе с парком складского оборудования часто возникают ситуации, когда в распоряжении оказываются надежные, но программно устаревшие устройства, такие как MobileBase DS3 на базе Windows Embedded Handheld 6.5 (WinEH 6.5). Основная проблема заключается в том, что современная экосистема мобильной разработки 1С ориентирована на совершенно другие архитектуры. В этой статье мы подробно разберем, почему стандартная мобильная платформа не подходит для этих целей, и проанализируем три проверенных способа решения задачи.

Почему современная «1С:Мобильная платформа» не подходит?

Прежде всего, разберем технические причины несовместимости. Современная Мобильная платформа 1С:Предприятия (версии 8.3 и выше) поддерживает Windows только в вариантах Windows Phone 8.1 и Windows 10 Mobile. Эти операционные системы базируются на архитектуре WinRT/UWP.

В то же время Windows Embedded Handheld 6.5 является прямым наследником Windows Mobile 6.5 и Windows CE. Она работает на старых ядрах и использует процессоры архитектуры ARMv4/v5. Новые библиотеки 1С просто не смогут запуститься в этой среде. Поэтому, если перед нами стоит задача автоматизировать инвентаризацию на таких устройствах, стандартное приложение 1С «из коробки» нам не поможет.

Решение 1: Использование терминального доступа (RDP)

Это самый быстрый и экономически выгодный способ «оживить» старый ТСД. Вместо того чтобы писать полноценное мобильное приложение, мы будем использовать устройство как «тонкий терминал».

Рассмотрим алгоритм настройки:

  1. На ТСД запускается встроенный клиент Remote Desktop Mobile.
  2. На сервере создается отдельный пользователь для ТСД с ограниченными правами.
  3. В самой базе 1С разрабатываются специальные «усеченные» формы. Поскольку разрешение экрана MobileBase DS3 обычно составляет 640x480 или даже 320x240 пикселей, стандартные формы Управляемого приложения будут отображаться некорректно.

Проанализируем нюансы разработки форм для RDP:

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

Решение 2: Использование специализированного промежуточного ПО (Middleware)

Если работа через RDP невозможна (например, из-за нестабильного Wi-Fi покрытия на складе), стоит посмотреть в сторону готовых решений. Программы вроде Клеверенс (Cleverence) или DataMobile имеют свои легкие клиенты, специально написанные под Windows CE/Mobile.

Разберем, как это работает:

На ТСД устанавливается готовый клиент, который умеет работать с аппаратным сканером устройства. В 1С загружается специальная обработка или расширение, которое выступает сервером обмена. Обмен данными может происходить как в реальном времени через веб-сервисы, так и в офлайн-режиме через текстовые файлы или XML. Это избавляет программиста от необходимости изучать C++ или C# для написания драйверов сканера.

Решение 3: Собственная разработка на .NET Compact Framework

Для тех, у кого есть «спортивный интерес» и желание написать полностью автономное приложение, единственным путем остается использование Visual Studio 2008. Это последняя версия среды разработки, поддерживающая .NET Compact Framework для Win Mobile.

Разберем по шагам создание такой системы:

На стороне 1С необходимо создать HTTP-сервис. Это современный и быстрый способ обмена данными, который гораздо эффективнее, чем передача текстовых файлов по FTP.

Пример структуры простейшего HTTP-сервиса в 1С для получения данных о товаре:


Функция ТоварыGet(Запрос)
    Ответ = Новый HTTPСервисОтвет(200);
    Штрихкод = Запрос.ПараметрыURL.Получить("barcode");
    
    ЗапросКБД = Новый Запрос;
    ЗапросКБД.Текст = "ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура ГДЕ Штрихкод = &Штрихкод";
    ЗапросКБД.УстановитьПараметр("Штрихкод", Штрихкод);
    
    Выборка = ЗапросКБД.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Ответ.УстановитьТелоИзСтроки(Выборка.Наименование);
    Иначе
        Ответ.КодСостояния = 404;
    КонецЕсли;
    
    Возврат Ответ;
КонецФункции

Выясним причину выбора HTTP перед текстовыми файлами:

Использование текстовых файлов требует настройки общих сетевых папок или FTP-сервера, что накладывает дополнительные требования к безопасности и надежности сети. HTTPСервисы позволяют мобильному приложению на ТСД отправлять компактные JSON или XML пакеты напрямую в базу 1С, получая мгновенный ответ о наличии товара или остатке на складе.

Работа с аппаратной частью ТСД

При разработке собственного софта на C# для WinEH 6.5 самой большой сложностью будет управление лазером сканера. Для этого придется подключить SDK от производителя MobileBase. Если этого не сделать, сканер будет работать как клавиатура, что крайне неудобно для профессиональной инвентаризации, так как не позволяет программно контролировать начало и конец чтения штрихкода.

Подведем итог:

Для быстрой автоматизации на Windows Embedded Handheld 6.5 выбираем RDP с отрисовкой специальных форм 1С. Если бюджет позволяет и нужна высокая стабильность — используем Middleware (Клеверенс/DataMobile). Если же хочется создать уникальный продукт — готовим Visual Studio 2008, изучаем SDK производителя и связываем устройство с 1С через HTTPСервисы.

← На главную