При попытке задействовать торговое оборудование в конфигурации «1С:Управление производственным предприятием 1.3» в режиме управляемого приложения разработчики часто сталкиваются с ошибкой отсутствия методов сервера торгового оборудования, а также с трудностями интеграции современных ТСД. Разберем детально, почему возникает эта проблема и какие существуют практические способы подключения оборудования.
Проанализируем типовой код модуля управляемого приложения УПП, вызывающий затруднения:
Функция ПолучитьСерверТО() Экспорт
Если глСерверТО = Неопределено Тогда
глСерверТО = ИнтеграцияЕГАИСВызовСервера.ПолучитьСерверТОНаСервере();
КонецЕсли;
Возврат глСерверТО;
КонецФункции
При вызове этой функции возникает исключение, так как метода ПолучитьСерверТОНаСервере() в общем модуле ИнтеграцияЕГАИСВызовСервера попросту нет. Выясним причину такого поведения конфигурации.
Подсистема торгового оборудования (ТО) в УПП 1.3 исторически проектировалась исключительно под толстый клиент и обычные формы (базовый объект — обработка ТОСервер). С появлением требований законодательства по ЕГАИС, маркировке и онлайн-кассам разработчики фирмы «1С» начали внедрять отдельные блоки на управляемых формах. Однако полноценная «Библиотека подключаемого оборудования» (БПО) для управляемого интерфейса в УПП так и не была интегрирована. Данная функция представляет собой незавершенный платформенный рудимент, из-за чего прямое обращение к методам подсистемы ТО в управляемом сеансе приводит к сбою.
Рассмотрим два основных варианта настройки обычных проводных или беспроводных сканеров штрихкодов.
1. Режим эмуляции клавиатуры (HID Keyboard)
В этом режиме сканер передает считанные символы непосредственно в поток ввода операционной системы, подобно обычному нажатию клавиш на клавиатуре. При этом стандартный механизм внешних событий платформы 1С и объект ТОСервер вообще не задействуются.
ПолучитьСерверТО().ПодключитьКлиента() и ПолучитьСерверТО().ОтключитьКлиента(), вызывающим системную ошибку.ПриИзменении или АвтоПодборТекста.Важно помнить об ограничениях режима эмуляции клавиатуры: фокус ввода всегда должен находиться строго в целевом поле. Если пользователь переключится на другую колонку или кнопку, штрихкод будет введен некорректно или потеряется. Кроме того, при работе через терминальный доступ (RDP) нестабильный канал связи может вызывать «проглатывание» или перестановку символов длинного штрихкода.
2. Режим эмуляции COM-порта (Native API)
Этот способ более надежен, так как сканер генерирует внешнее событие в платформе 1С независимо от текущего фокуса курсора. Для его реализации без устаревшего ТОСервер выполним подключение внешней Native-компоненты напрямую на клиенте с помощью метода ПодключитьВнешнююКомпоненту() и настроим обработку события в форме через оповещения платформы, либо выборочно внедрим актуальные объекты БПО для работы с интерфейсом управляемых форм.
Поскольку классические терминалы на базе Windows CE/Mobile ушли в прошлое, а современные ТСД функционируют под управлением ОС Android, организация прямого сеанса RDP с УПП стала крайне неудобной. Разберем основные архитектурные варианты организации мобильной работы склада.
Вариант 1. Шлюз через отдельную конфигурацию на УФ и Мобильный клиент
Рассмотрим схему, основанную на разделении контуров:
Вариант 2. Прямое взаимодействие через HTTP-сервисы УПП
Разберем по шагам, как исключить промежуточную базу данных. Платформа «1С:Предприятие 8.3» позволяет опубликовать HTTP-сервисы непосредственно для конфигурации УПП:
HTTP-сервис, принимающий и отдающий данные в формате JSON.Вариант 3. Использование готового клиент-серверного ПО
Для быстрого запуска складских процессов часто используют готовые программные комплексы для ТСД (например, специализированные складские драйверы и клиенты). Они подключаются к УПП через COM-соединение, веб-сервисы или внешние обработки. Вся логика сканирования, проверки расхождений и накопления штрихкодов выполняется внутри мобильного софта, а в УПП передаются уже готовые строки документов. Старая подсистема торгового оборудования конфигурации при этом полностью изолирована от процесса.
Вариант 4. Офлайн-обмен через файлы (TXT / CSV / JSON)
Если на складе отсутствует стабильное беспроводное покрытие Wi-Fi, используем классический сценарий пакетной обработки:
Вариант 5. Терминальный доступ по RDP с эмуляцией клавиатуры
Если бизнес-процесс требует исключительно прямой работы в интерфейсе УПП через удаленный рабочий стол на Android, на ТСД запускается RDP-клиент. В системных настройках встроенного сканирующего модуля терминала включается режим Keyboard Wedge (передача штрихкода как нажатия клавиш) с автоматическим суффиксом Enter или Tab. На стороне конфигурации создается отдельная минималистичная управляемая форма с одним полем ввода, куда после каждого сканирования падает строка и сразу запускается процедура обработки данных.