Разработка мобильных приложений на платформе 1С 8.3: рекомендации, технологии и методы обмена данными

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

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

Выбор технологии: Мобильная платформа или Мобильный клиент?

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

  1. Мобильная платформа: Это полноценная среда исполнения. Приложение устанавливается на смартфон и имеет собственную локальную базу данных (SQLite). Оно может работать полностью автономно без интернета. Однако в этом случае нам придется самостоятельно реализовывать механизмы обмена данными.
  2. Мобильный клиент: Представьте, что это специализированный «браузер», адаптированный под мобильное устройство. Он напрямую подключается к вашей основной базе через интернет. Весь код выполняется на сервере, а интерфейс автоматически перестраивается под экран смартфона. Это самый быстрый способ «мобилизировать» существующую конфигурацию, но он требует постоянного наличия связи.
  3. Мобильный клиент с автономным режимом: Современный гибридный вариант. Приложение работает онлайн, но позволяет закешировать определенные данные для работы без интернета, а при восстановлении связи — синхронизировать изменения автоматически.

Если ваша задача — создание упрощенного документа с последующей выгрузкой в центральную базу (как упоминалось в обсуждении), выбор технологии будет зависеть от стабильности интернета на местах работы пользователей. Разберем ситуацию, когда выбрана автономная Мобильная платформа.

Организация обмена данными: HTTP-сервисы и JSON

Рассмотрим подробнее механизм обмена данными, если вы разрабатываете автономное приложение. На сегодняшний день наиболее актуальным и производительным способом является использование HTTPСервисы. В отличие от тяжеловесных планов обмена или веб-сервисов (SOAP), HTTP-сервисы позволяют передавать данные в легком формате JSON.

Посмотрим на пример того, как может выглядеть отправка данных из мобильного приложения на сервер. Предположим, нам нужно передать созданный на телефоне документ:


// Код на стороне мобильного приложения
Процедура ОтправитьДокументНаСервер(СсылкаНаДокумент)
    
    // Подготавливаем данные в формате JSON
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    ЗаписьДанных = СсылкаНаДокумент.ПолучитьОбъект();
    СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ЗаписьДанных, НазначениеТипаXML.Явное);
    СтрокаJSON = ЗаписьJSON.Закрыть();
    
    // Настраиваем соединение
    НТТРСоединение = Новый HTTPСоединение("myserver.com", , "user", "password");
    Запрос = Новый HTTPЗапрос("/v1/exchange/post_document");
    Запрос.УстановитьТелоИзСтроки(СтрокаJSON, КодировкаТекста.UTF8);
    
    // Отправляем данные
    Попытка
        Ответ = НТТРСоединение.ОтправитьДляОбъекта(Запрос);
        Если Ответ.КодСостояния = 200 Тогда
            Сообщить("Данные успешно переданы");
        КонецЕсли;
    Исключение
        Сообщить("Ошибка связи: " + ОписаниеОшибки());
    КонецПопытки;
    
КонецПроцедуры

На стороне центральной базы нам необходимо создать объект HTTPСервис, который примет этот запрос, распарсит JSON и создаст соответствующий документ в основной базе. Это позволяет гибко управлять логикой синхронизации и обрабатывать конфликты данных.

Особенности разработки интерфейса (Управляемые формы)

Разберем важный нюанс: хотя мобильное приложение использует те же Управляемые формы, что и десктопная версия, визуальное отображение значительно отличается. Разработчику необходимо учитывать ограниченное пространство экрана.

Проанализируем основные правила проектирования мобильного интерфейса в 1С:

  1. Минимизация колонок в списках: На экране смартфона хорошо смотрятся 2, максимум 3 колонки. Используйте свойство ПутьКДаннымЗаголовка и ПутьКДаннымПодвала для группировки информации.
  2. Использование командного интерфейса: Кнопки должны быть крупными, чтобы по ним было удобно попадать пальцем. Старайтесь выносить основные действия в командную панель формы.
  3. Группировка полей: Используйте группы «Страницы» или обычные группы с заголовками, чтобы логически разделить данные документа.

Работа с аппаратными функциями смартфона

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

Для работы с камерой и сканирования штрихкодов используется объект СредстваМультимедиа. Это позволяет превратить обычный телефон в терминал сбора данных (ТСД) без покупки дорогостоящего оборудования.


// Пример вызова сканирования штрихкода
Процедура СканироватьКод(Команда)
    #Если МобильноеПриложениеКлиент Тогда
        ОбработчикСканирования = Новый ОписаниеОповещения("ПослеСканирования", ЭтаФорма);
        СредстваМультимедиа.ПоказатьСканированиеШтрихКодов("Наведите камеру на код", ОбработчикСканирования);
    #КонецЕсли
КонецПроцедуры

Процедура ПослеСканирования(Результат, ДополнительныеПараметры) Экспорт
    Если Результат <> Неопределено Тогда
        ТекШтрихкод = Результат.Значение;
        // Поиск товара по штрихкоду
    КонецЕсли;
КонецПроцедуры

Также платформа позволяет работать с геопозиционированием (получение координат текущего местоположения), push-уведомлениями и NFC-метками. Все это реализовано через встроенные объекты встроенного языка, что значительно упрощает разработку по сравнению с нативными языками (Swift или Java).

Сборка и публикация приложения

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

Процесс сборки выглядит следующим образом:

  1. Выгрузка конфигурации мобильного приложения в файл .xml.
  2. Загрузка этого файла в конфигурацию «Сборщик».
  3. Настройка параметров: иконки, splash-экраны, идентификатор приложения (например, com.mycompany.myapp).
  4. Для Android: создание .apk или .aab файла (требуется установленный Android SDK).
  5. Для iOS: создание проекта для Xcode (требуется компьютер Mac и учетная запись разработчика Apple).

Рекомендованная литература и ресурсы для обучения

Для глубокого погружения в тему рекомендуем обратить внимание на следующие источники:

Подведем итог: разработка под 1С — это эффективный способ быстрого создания бизнес-инструментов. Главное — правильно выбрать между Мобильным клиентом для работы в офисе с хорошим Wi-Fi и Мобильной платформой для полевых сотрудников, работающих в условиях нестабильной связи. Использование HTTPСервисы и современных стандартов обмена делает такие решения надежными и масштабируемыми.

← На главную