Существует ли БСП для разработки мобильных приложений на 1С?

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

При переходе от классической настольной разработки на платформе 1С к созданию мобильных решений у многих разработчиков возникает логичный вопрос: существует ли специализированная «Библиотека стандартных подсистем для мобильных приложений»? В обычной разработке БСП берет на себя огромное количество рутинных задач — от механизмов обмена до работы с файлами. Выясним причину, почему для мобильной среды ситуация выглядит иначе, и разберем, какие встроенные инструменты и готовые библиотеки предоставляет платформа 1С.

Официальная позиция: существует ли отдельная мобильная БСП

Специализированной конфигурации под названием «БСП для мобильных приложений» от фирмы 1С не существует. Платформа 1С изначально проектировалась с ориентацией на кроссплатформенность, поэтому львиная доля мобильных функций реализована на уровне самого движка платформы. Обобщить все мобильные сценарии в одну тяжелую библиотеку сложно из-за специфики мобильных ОС: частых изменений требований безопасности Google и Apple, нюансов интерфейсов смартфонов и ограничений фоновых процессов.

Тем не менее, для работы с торговым оборудованием фирма 1С выпустила специализированную библиотеку — «1С:Библиотека подключаемого оборудования для мобильных приложений» (мБПО). Она предоставляет готовые NativeAPI-драйверы и интерфейсы для взаимодействия со сканерами штрихкодов, камерами, мобильными фискальными регистраторами и эквайринговыми терминалами непосредственно из мобильного приложения.

Мобильный клиент и мобильная платформа: принципиальная разница

Для понимания того, как применять БСП на смартфонах и планшетах, проанализируем разницу между двумя ключевыми технологиями:

  1. Мобильный клиент (онлайн-доступ). В этом сценарии мобильное устройство подключается напрямую к серверной базе 1С. Здесь классическая конфигурация БСП работает полноценно. В коде стандартной БСП уже предусмотрены адаптивные интерфейсы и директивы препроцессора, такие как #Если МобильныйКлиент или программная проверка через функцию ОбщегоНазначенияКлиент.ЭтоМобильныйКлиент(), позволяющие гибко подстраивать формы под компактные экраны.
  2. Мобильное приложение (автономная мобильная платформа). В данном случае база создается локально на устройстве под управлением мобильной СУБД. Встроить стандартную БСП целиком в такое приложение невозможно из-за ограничений мобильной СУБД: отсутствия ряда привычных объектов метаданных, ограничений на параллелизм, структуры прав и фоновые задания. Разработчики переносят в автономные мобильные базы только отдельные легковесные модули общего назначения (строковые функции, форматирование дат, работу с массивами и структурами).

Встроенное мобильное API: мультимедиа, геопозиция и разрешения

Многие функции, для которых в десктопной среде требовались бы подсистемы БСП, в мобильной платформе 1С реализованы прямо «из коробки» через встроенный язык. Рассмотрим подробнее работу с мультимедиа и геопозицией.

Посмотрим на пример работы с камерой устройства через глобальный объект СредстваМультимедиа. Перед выполнением снимка обязательно проверяется поддержка оборудования:


Если СредстваМультимедиа.ПоддерживаетсяФотоснимок() Тогда
    ПараметрыСнимка = Новый ПараметрыСнимка;
    ПараметрыСнимка.Качество = 80;
    СредстваМультимедиа.СделатьФотоснимок(ПараметрыСнимка);
КонецЕсли;

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


Если СредстваГеопозиционирования.ИспользованиеДанныхГеопозиционированияВключено() Тогда
    СредстваГеопозиционирования.ПодключитьОбработчикИзмененияМестоположения("ОбработкаИзмененияКоординат", 10, 5);
КонецЕсли;

Важно помнить: любые вызовы функций мультимедиа, аудиозаписи, геолокации или телефонии требуют выдачи разрешений пользователем во время выполнения (Runtime Permissions). Разработчик обязан предусмотреть обработку отказа в предоставлении прав доступа.

Как организовывать обмен данными без тяжелой БСП

В классической БСП подсистема обмена данными опирается на громоздкие планы обмена, сериализацию XML и форматы EnterpriseData. В условиях мобильных устройств использование таких механизмов нерационально: они перегружают оперативную память и расходуют заряд батареи.

Рассмотрим проверенные решения для построения обмена между мобильным приложением и центральной базой:

  1. Обмен через HTTP-сервисы в формате JSON. На стороне мобильного приложения обмен реализуется с помощью объектов HTTPСоединение, HTTPЗапрос, ЗаписьJSON и ЧтениеJSON. Это легковесный и быстрый протокол, минимально нагружающий сеть и процессор смартфона.
  2. Использование технологии «Мобильный клиент с автономным режимом». В этом режиме платформа берет задачи кэширования и фоновой синхронизации данных на себя, избавляя разработчика от необходимости писать сложный протокол обмена вручную.
  3. Организация push-уведомлений. Поскольку мобильные ОС жестко прерывают работу фоновых заданий 1С при сворачивании приложения для экономии аккумулятора, передачу оперативных сигналов с центрального сервера следует реализовывать через платформенный «Сервис доставки push-уведомлений 1С» (интегрированный с FCM и APNs).

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

← На главную