При разработке мобильных приложений на базе 1С:Предприятие часто возникает ситуация, когда при использовании Библиотеки подключаемого оборудования (БПО), перенесенной из стационарной конфигурации, в мобильном клиенте не удается выбрать сканер штрихкода или другое торговое оборудование. Поля выбора драйверов остаются пустыми, а попытки запуска приводят к синтаксическим ошибкам. Давайте разберем, как правильно организовать работу оборудования в мобильной среде.
Первое и самое важное правило: нельзя использовать стандартную «настольную» БПО в мобильном приложении без изменений. Мобильная платформа 1С имеет существенные ограничения: в ней отсутствует поддержка многих серверных методов и типов объектов, которые есть в полноценной конфигурации для ПК.
Когда вы видите ошибку типа Тип не определен (ИдентификаторОбсужденияСистемыВзаимодействия), это явный признак того, что в состав мобильного приложения попали модули, которые пытаются обратиться к функционалу Системы взаимодействия или другим серверным компонентам, не поддерживаемым мобильной платформой. Чтобы избежать этого:
БПО, которая адаптирована для мобильных устройств.ВызовСервера или работу с COM-объектами, которые невозможны на Android/iOS.Многие разработчики сталкиваются с проблемой, когда после сборки APK-файла через Сервис сборки мобильных приложений функционал оборудования пропадает. Это часто связано с тем, что автоматический сборщик не всегда корректно включает необходимые компоненты в состав приложения. Рассмотрим альтернативный подход, который значительно упрощает отладку:
Вместо постоянной пересборки APK-файла для каждой проверки, используйте «прямое подключение» к опубликованной конфигурации:
Если справочник драйверов пуст, проверьте настройки командного интерфейса и прав доступа. Даже если драйверы включены в конфигурацию, они могут не отображаться для текущего пользователя:
Конфигуратор и проверьте, установлены ли галочки видимости в Командном интерфейсе для подсистем ПодключаемоеОборудование.Роли пользователя. Убедитесь, что у пользователя, под которым работает мобильный клиент, есть права на чтение справочников ДрайверыОборудования и ПодключаемоеОборудование.Не забывайте, что БПО в мобильном приложении требует правильной инициализации. В модуле управляемого приложения или в процедуре ПриНачалеРаботыСистемы необходимо предусмотреть вызов методов инициализации оборудования. Если этот код отсутствует или выполняется некорректно, платформа не сможет «подхватить» установленные драйверы и вывести их в список выбора.
Рассмотрим пример того, как это должно выглядеть на базовом уровне:
// Пример инициализации в модуле управляемого приложения
Процедура ПриНачалеРаботыСистемы()
// Проверка, что мы в мобильном клиенте
Если МобильныйКлиент() Тогда
// Вызов менеджера для инициализации оборудования
МенеджерОборудованияВызовСервера.ИнициализироватьОборудование();
КонецЕсли;
КонецПроцедуры
Помните, что ключ к успеху — это «чистая» конфигурация с минимумом зависимостей от серверных функций платформы. Если вы будете придерживаться этих шагов, вы сможете добиться стабильной работы сканеров штрихкода и другого оборудования на любом мобильном устройстве под управлением 1С.