Как подключить сканер штрихкодов и терминал сбора данных к УПП на управляемых формах?

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

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

Причина ошибки «ПолучитьСерверТО» в УПП

Проанализируем типовой код модуля управляемого приложения УПП, вызывающий затруднения:


Функция ПолучитьСерверТО() Экспорт
    Если глСерверТО = Неопределено Тогда
        глСерверТО = ИнтеграцияЕГАИСВызовСервера.ПолучитьСерверТОНаСервере();
    КонецЕсли;
    Возврат глСерверТО;
КонецФункции

При вызове этой функции возникает исключение, так как метода ПолучитьСерверТОНаСервере() в общем модуле ИнтеграцияЕГАИСВызовСервера попросту нет. Выясним причину такого поведения конфигурации.

Подсистема торгового оборудования (ТО) в УПП 1.3 исторически проектировалась исключительно под толстый клиент и обычные формы (базовый объект — обработка ТОСервер). С появлением требований законодательства по ЕГАИС, маркировке и онлайн-кассам разработчики фирмы «1С» начали внедрять отдельные блоки на управляемых формах. Однако полноценная «Библиотека подключаемого оборудования» (БПО) для управляемого интерфейса в УПП так и не была интегрирована. Данная функция представляет собой незавершенный платформенный рудимент, из-за чего прямое обращение к методам подсистемы ТО в управляемом сеансе приводит к сбою.

Подключение сканера штрихкодов к управляемым формам

Рассмотрим два основных варианта настройки обычных проводных или беспроводных сканеров штрихкодов.

1. Режим эмуляции клавиатуры (HID Keyboard)

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

  1. В коде управляемой формы найдем и закомментируем обращения к методам ПолучитьСерверТО().ПодключитьКлиента() и ПолучитьСерверТО().ОтключитьКлиента(), вызывающим системную ошибку.
  2. Разместим на форме поле ввода, куда сканер будет передавать последовательность символов.
  3. Обработку полученного значения реализуем в стандартном событии элемента ПриИзменении или АвтоПодборТекста.

Важно помнить об ограничениях режима эмуляции клавиатуры: фокус ввода всегда должен находиться строго в целевом поле. Если пользователь переключится на другую колонку или кнопку, штрихкод будет введен некорректно или потеряется. Кроме того, при работе через терминальный доступ (RDP) нестабильный канал связи может вызывать «проглатывание» или перестановку символов длинного штрихкода.

2. Режим эмуляции COM-порта (Native API)

Этот способ более надежен, так как сканер генерирует внешнее событие в платформе 1С независимо от текущего фокуса курсора. Для его реализации без устаревшего ТОСервер выполним подключение внешней Native-компоненты напрямую на клиенте с помощью метода ПодключитьВнешнююКомпоненту() и настроим обработку события в форме через оповещения платформы, либо выборочно внедрим актуальные объекты БПО для работы с интерфейсом управляемых форм.

Варианты интеграции терминалов сбора данных (ТСД)

Поскольку классические терминалы на базе Windows CE/Mobile ушли в прошлое, а современные ТСД функционируют под управлением ОС Android, организация прямого сеанса RDP с УПП стала крайне неудобной. Разберем основные архитектурные варианты организации мобильной работы склада.

Вариант 1. Шлюз через отдельную конфигурацию на УФ и Мобильный клиент

Рассмотрим схему, основанную на разделении контуров:

  1. В основной базе УПП формируются складские документы и распоряжения (приемка, перемещение, отгрузка).
  2. Посредством настроенного плана обмена эти задания передаются в отдельную вспомогательную базу, разработанную на управляемых формах под платформу 8.3.
  3. Кладовщики на складе подключаются к промежуточной базе с Android-терминалов через Мобильный клиент или Мобильное приложение 1С. Интерфейс адаптирован под небольшие экраны и аппаратные кнопки ТСД.
  4. После завершения пересчета или отгрузки фактические данные автоматически выгружаются обменом обратно в УПП, обновляя учетные документы.

Вариант 2. Прямое взаимодействие через HTTP-сервисы УПП

Разберем по шагам, как исключить промежуточную базу данных. Платформа «1С:Предприятие 8.3» позволяет опубликовать HTTP-сервисы непосредственно для конфигурации УПП:

  1. В дереве метаданных УПП создадим объект HTTP-сервис, принимающий и отдающий данные в формате JSON.
  2. На стороне Android-терминала развернем специализированное мобильное складское приложение.
  3. Мобильное приложение отправляет запросы к HTTP-сервису УПП, в режиме реального времени получая номенклатуру, остатки и задания, а также передавая результаты сканирования сразу в регистры и документы базы без задержек на обмен.

Вариант 3. Использование готового клиент-серверного ПО

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

Вариант 4. Офлайн-обмен через файлы (TXT / CSV / JSON)

Если на складе отсутствует стабильное беспроводное покрытие Wi-Fi, используем классический сценарий пакетной обработки:

  1. С помощью внешней обработки формируем из УПП файл выгрузки с штрихкодами, артикулами и наименованиями номенклатуры.
  2. Файл загружается во внутреннюю память ТСД.
  3. Сотрудник выполняет сбор данных в автономном режиме. Терминал сохраняет массив считанных данных во внутреннюю базу.
  4. После возвращения на рабочее место ТСД подключается кабелем, и накопленный файл загружается типовой или доработанной внешней обработкой прямо в табличную часть необходимого документа УПП.

Вариант 5. Терминальный доступ по RDP с эмуляцией клавиатуры

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

← На главную