В чем разница между мобильной платформой и мобильным клиентом 1С и как работает их лицензирование

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

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

В рамках данной статьи мы проанализируем ключевые технологические различия этих подходов, разберем вопросы лицензирования, которые часто вызывают споры, и рассмотрим практические аспекты разработки мобильных решений, включая интеграцию с оборудованием и публикацию в магазинах приложений App Store и Google Play.

Различие подходов: Мобильная платформа vs Мобильный клиент

Для начала выясним причину существования двух разных технологий. Рассмотрим каждый вариант подробнее.

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

Мобильный клиент 1С — это тонкий клиент для мобильного устройства. Он не имеет собственной базы данных и работает напрямую с основной информационной базой в режиме реального времени. Интерфейс динамически адаптируется под экран смартфона. Это решение требует постоянного подключения к сети, но значительно упрощает разработку, так как не нужно писать механизмы синхронизации данных.

Анализируем вопросы лицензирования

Один из самых острых вопросов — сколько нужно платить фирме 1С за использование мобильных технологий. Разберем ситуацию на основе структуры лицензирования, актуальной для платформы 8.3.

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

Технические возможности и интеграция с оборудованием

Современная мобильная среда 1С позволяет использовать практически все аппаратные возможности смартфона. Рассмотрим, какие объекты и методы помогают нам в разработке.

Для работы с мультимедиа и оборудованием мы используем средства встроенного языка. Например, для запуска сканирования штрихкода мы можем использовать объект СредстваМультимедиа. Проанализируем пример кода для инициализации сканирования:


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

&НаКлиенте
Процедура ОбработкаСканирования(Штрихкод, Результат, Сообщение) Экспорт
    Если Результат Тогда
        // Здесь мы обрабатываем полученный штрихкод
        Сообщить("Считан штрихкод: " + Штрихкод);
    КонецЕсли;
КонецПроцедуры

Обратите внимание на использование директив препроцессора #Если МобильноеПриложениеКлиент. Это позволяет писать универсальный код, который будет корректно отрабатывать как на мобильных устройствах, так и в обычном тонком клиенте (игнорируя мобильный функционал там, где он недоступен).

Голосовое управление и интеллектуальные функции

На профильных мероприятиях, таких как Mobileparty 1С, часто демонстрируются инновационные подходы, например, «роботы, говорящие на 1С». Это реализуется через интеграцию с движками TTS (Text-to-Speech) и STT (Speech-to-Text).

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

Пример использования синтеза речи:


&НаКлиенте
Процедура ОзвучитьСтатусЗаказа(ТекстСтатуса)
    Менеджер = СредстваМультимедиа.СоздатьМенеджерСинтезаРечи();
    Менеджер.Произнести(ТекстСтатуса);
КонецПроцедуры

Проблемы публикации и производительности

Разберем основные сложности, с которыми сталкиваются разработчики при выводе приложения «в свет».

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

Производительность: Мобильные решения 1С довольно требовательны к оперативной памяти. Для оптимизации работы на бюджетных Android-устройствах мы рекомендуем:

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

Для превращения вашей конфигурации в готовый файл APK или IPA используется специальная конфигурация — «Сборщик мобильных приложений». Проанализируем последовательность действий:

  1. Выгружаем мобильную конфигурацию в файл .xml.
  2. Загружаем этот файл в «Сборщик».
  3. Указываем иконки, заставки и параметры поставщика.
  4. Выбираем версию мобильной платформы, которая будет «движком» приложения.
  5. Запускаем процесс сборки (для iOS потребуется наличие компьютера Mac в сети или использование облачных сервисов сборки).

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

← На главную