Разработка мобильных приложений на платформе «1С:Предприятие» открывает перед программистом широкие возможности, но в то же время ставит перед ним ряд специфических задач. Наиболее частыми вопросами новичков являются механизмы взаимодействия с пользователем через уведомления и получение данных о местоположении устройства, когда приложение не активно. Разберем эти темы подробно, опираясь на современные стандарты мобильных операционных систем и возможности платформы 1С.
Для вывода уведомлений об акциях, новых сообщениях или событиях, когда приложение закрыто, используется технология Push-уведомлений. В экосистеме 1С этот процесс завязан на взаимодействии трех сторон: вашей серверной базы (информационной системы), облачного сервиса уведомлений (Google или Apple) и самого мобильного устройства.
Рассмотрим механизм работы подробнее. На стороне 1С основным объектом для работы является ДоставляемоеУведомление. Процесс отправки выглядит следующим образом:
Важно понимать различие между типами уведомлений. Разберем их:
Проанализируем пример кода для инициализации уведомлений на мобильном устройстве:
// Пример получения токена устройства для отправки Push
Процедура ПриЗавершенииРегистрацииУведомлений(Токен, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(Токен) Тогда
// Передаем токен на сервер для сохранения в справочнике мобильных устройств
ЗаписатьТокенНаСервере(Токен);
КонецЕсли;
КонецПроцедуры
Обратите внимание на ограничения 2024 года: Начиная с Android 13, система требует от пользователя явного разрешения на получение уведомлений (Runtime Permission). Если вы не запросите это право программно или через настройки платформы, уведомления не будут отображаться.
Вопрос получения координат при закрытом приложении является одним из самых сложных. Современные ОС (Android и iOS) жестко ограничивают работу приложений в фоне для экономии заряда батареи. Рассмотрим основные способы решения этой задачи, доступные в 1С.
Многие разработчики ошибочно полагают, что получение координат в фоне невозможно. Однако мы можем использовать механизм Геозон (Geofencing). Вместо того чтобы постоянно опрашивать GPS-датчик и разряжать телефон, мы задаем области на карте, за которыми должна следить сама операционная система.
Проанализируем алгоритм работы с геозонами:
Для непрерывного отслеживания (трекинга) в 1С используется метод НачатьПолучениеКоординат. Посмотрим, как настроить его работу в фоновом режиме:
// Настройка фонового получения координат
ПараметрыОпроса = Новый ПараметрыОпросаГеопозиции;
ПараметрыОпроса.ОбновлениеПриИзменении = Истина;
ПараметрыОпроса.МинимальноеРасстояние = 10; // в метрах
НачатьПолучениеКоординат(СпособОпределенияГеопозиции.GPS, ПараметрыОпроса);
Чтобы это работало при заблокированном экране, необходимо соблюдение нескольких условий:
ПриИзмененииГеопозиции.Выясним причину, по которой выбор типа приложения критически важен для реализации вышеуказанных функций. Платформа 1С предлагает три варианта:
1. Мобильная платформа (автономное приложение): Имеет собственную базу данных (SQLite). Идеально подходит для работы без интернета. Все Push-уведомления и фоновые задачи программируются внутри мобильной конфигурации.
2. Мобильный клиент: По сути, это браузер для вашей основной базы. Он работает только при наличии связи. Реализация фоновых задач здесь сложнее, так как клиент сильно зависит от активной сессии с сервером.
3. Мобильный клиент с автономным режимом: Гибридное решение. Оно позволяет использовать интерфейс мобильного клиента, но при потере связи переключаться на локальные данные. Это наиболее современный подход для корпоративных систем.
Помимо уведомлений и карт, современные мобильные приложения 1С могут взаимодействовать с «железом» устройства. Разберем, что еще можно использовать для повышения качества вашего продукта:
СредстваБиометрическойАутентификации для входа по FaceID или TouchID. Это значительно повышает безопасность корпоративных данных.Для углубления знаний рекомендуем регулярно изучать материалы на специализированных ресурсах. Хотя Инфостарт остается крупнейшей базой знаний, за оперативной информацией о новых требованиях магазинов приложений (App Store и Google Play) лучше обращаться в тематические Telegram-каналы сообщества 1С-разработчиков и официальный Центр разработки (Developer Hub) фирмы 1С. Там публикуются свежие кейсы по оптимизации интерфейсов и обходу системных ограничений новых версий мобильных ОС.
Помните, что мобильная разработка на 1С — это динамичная среда. То, что вчера считалось невозможным (например, работа приложения в глубоком фоне), сегодня решается через использование новых механизмов платформы, таких как геозоны или тихие пуши. Постоянно экспериментируйте с настройками прав доступа и следите за обновлениями мобильной платформы.