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

Ниже — порядок действий с теми местами, где новички теряют больше всего времени. Где мобильная платформа уместна, а где лучше сделать веб-интерфейс, я разбираю отдельно; здесь — практическая часть.

Шаг 1. Мобильная платформа и окружение на ПК

Дистрибутив мобильной платформы скачивается с сайта обновлений 1С. Архив большой: в нём сборки для всех поддерживаемых ОС и архитектур. Для Android нужны только APK-файлы под разные архитектуры процессора (ARM и x86, 32 и 64 бита). Если не знаете архитектуру тестового устройства — установите подходящий файл методом исключения, лишние просто не встанут.

На компьютере разработчика понадобятся:

КомпонентЗачем
Платформа 1С той же версии, что мобильнаяРазработка конфигурации
Модули расширения веб-сервера (компонент установщика платформы)Публикация конфигурации
Веб-сервер Apache или IISЧерез него устройство получает конфигурацию
Эмулятор AndroidТестирование без телефона

Для Apache важно совпадение разрядности веб-сервера и модуля 1С, а в конфигурационном файле должна быть строка загрузки модуля wsap24 с путём к каталогу установленной версии платформы. После обновления платформы путь меняется — проверяйте его, даже если публикация «вроде бы» прошла.

bash
# Пример строки в httpd.conf (путь зависит от версии платформы)
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.xx.xxxx/bin/wsap24.dll"

Шаг 2. Эмулятор вместо телефона

Тестовый телефон не обязателен. Эмулятор из Android Studio позволяет проверить приложение на разных версиях Android и разрешениях экрана; есть и более лёгкие эмуляторы, выбор — дело вкуса. Учтите, что эмулятор с образом x86 потребует x86-сборку мобильной платформы.

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

Шаг 3. Конфигурация для мобильного устройства

В свойствах новой конфигурации укажите назначение использования «Мобильное устройство» (можно вместе с персональным компьютером, если конфигурация общая). После этого конфигуратор начнёт контролировать то, что недоступно в мобильной платформе: часть объектов метаданных и методов там отсутствует, и синтакс-помощник показывает доступность для мобильного приложения.

Простейшая проверка, что всё работает, — общая форма с командой:

1С
&НаКлиенте
Процедура Поприветствовать(Команда)

	ПоказатьПредупреждение(, "Мобильное приложение работает");

КонецПроцедуры

Для обмена с основной базой мобильное приложение обычно обращается к HTTP-сервису учётной системы. Объект HTTPСоединение доступен и в мобильной платформе:

1С
&НаКлиенте
Функция ЗагрузитьСписокЗаданий()

	Соединение = Новый HTTPСоединение("erp.example.ru", 443, , , , 30, Новый ЗащищенноеСоединениеOpenSSL);
	Запрос = Новый HTTPЗапрос("/erp/hs/mobile/tasks");
	Ответ = Соединение.Получить(Запрос);

	Если Ответ.КодСостояния <> 200 Тогда
		Возврат Неопределено;
	КонецЕсли;

	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
	Задания = ПрочитатьJSON(ЧтениеJSON);
	ЧтениеJSON.Закрыть();

	Возврат Задания;

КонецФункции

Адрес, порт и учётные данные в реальном приложении хранятся в настройках, а не в коде. Серверная сторона такого обмена — обычный REST API на стороне 1С.

Шаг 4. Публикация мобильного приложения

Здесь спотыкаются почти все. Мобильная конфигурация публикуется не через «Администрирование → Публикация на веб-сервере», а командой из меню конфигуратора «Конфигурация → Мобильное приложение → Публиковать». Укажите имя публикации и каталог; конфигуратор добавит в настройки веб-сервера отдельную секцию.

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

После публикации на устройстве в мобильной платформе добавьте приложение:

ПолеЧто указать
НаименованиеКак приложение будет называться в списке
АдресАдрес публикации, доступный с устройства по сети
Пользователь и парольЕсли на публикации включена авторизация
Перезапуск из конфигуратораУстройство будет забирать обновлённую конфигурацию при каждом обновлении в конфигураторе
Адрес сервера отладкиДля отладки, см. следующий шаг

Адрес localhost из эмулятора указывает на сам эмулятор, а не на ваш компьютер. Используйте IP компьютера в локальной сети (или специальный адрес хоста, который предоставляет эмулятор).

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

Мобильное приложение 1С: конфигурация публикуется на веб-сервере и загружается на устройство
Мобильное приложение 1С: конфигурация публикуется на веб-сервере и загружается на устройство

Шаг 5. Отладка мобильного приложения 1С

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

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

  • доступен ли порт сервера отладки с устройства (брандмауэр Windows блокирует его часто);
  • совпадают ли версии платформы на компьютере и устройстве;
  • перезапущено ли приложение после изменения настроек.

Шаг 6. Сборка APK для пользователей

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

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

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

Типичные ошибки новичков

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

Итог

  • Мобильное приложение 1С разрабатывается в конфигураторе с назначением «Мобильное устройство».
  • Конфигурация публикуется отдельной командой «Мобильное приложение → Публиковать», а не как обычная база.
  • Для тестов хватает эмулятора, финальную проверку делайте на реальном устройстве.
  • Отладка идёт по HTTP через сервер отладки — проверьте порт и версии.
  • APK собирается сборщиком; с 8.3.20 доступен сервис сборки фирмы «1С».

Если мобильное приложение нужно для полевых сотрудников и связано с учётной системой, обсудим архитектуру обмена и альтернативы вроде 1С:Элемент — иногда веб-приложение решает задачу дешевле.