Разработка и Конфигурация · 10 мин
Как сделать мобильное приложение 1С для Android из собственной конфигурации
Как создать мобильное приложение 1С для Android на базе собственной конфигурации: мобильная платформа, сборка, обмен данными, публикация и типичные ошибки.
Мобильное приложение 1С для Android создаётся не из обычной конфигурации «как есть», а из отдельной мобильной конфигурации, которую разрабатывают на мобильной платформе 1С:Предприятия. Она повторяет нужную часть логики основной базы — документы, справочники, регистры, — но в урезанном виде, адаптированном под экран смартфона и автономную работу. Обмен данными между мобильным приложением и основной базой настраивается через планы обмена, веб-сервисы или HTTP-сервисы.
Практический сценарий выглядит так: вы создаёте новую конфигурацию с типом «Мобильное приложение», переносите в неё необходимые объекты, пишете код интерфейса и обмена, затем собираете APK-файл через сборщик мобильных приложений и устанавливаете его на устройство. Для полноценной работы также понадобится опубликовать основную базу на веб-сервере, чтобы смартфон мог с ней связываться.
Важно понимать ограничения: мобильная платформа не поддерживает часть возможностей настольной 1С (например, полноценные сложные отчёты, некоторые механизмы СКД и ряд системных функций), а обычную конфигурацию «Управление торговлей» или «Бухгалтерию» напрямую превратить в приложение нельзя. Поэтому проект начинается с проектирования: какие задачи пользователь будет решать с телефона и какие данные ему для этого нужны.
Что потребуется перед началом работы
Для разработки нужна платформа 1С:Предприятия версии, поддерживающей мобильную разработку (как правило, 8.3.8 и новее, но лучше ориентироваться на актуальные релизы), и дистрибутив мобильной платформы. Мобильная платформа — это среда исполнения на устройстве Android, аналог обычной платформы 1С, но с урезанным набором возможностей.
Для сборки APK-файла потребуется сборщик мобильных приложений — он распространяется отдельно и требует установленных инструментов Android (JDK, Android SDK). Альтернатива — облачный сервис сборки от 1С, который избавляет от локальной настройки SDK, но требует подписки. Также понадобится Android-устройство или эмулятор для отладки.
Для обмена данными с основной базой её нужно опубликовать на веб-сервере (Apache или IIS) с включённым доступом через HTTP/HTTPS. Если база файловая и стоит в офисе, потребуется либо выделенный веб-сервер с доступом извне, либо размещение базы в клиент-серверном варианте.
Проверьте, что версия платформы разработки совместима с версией мобильной платформы
Убедитесь, что есть доступ к сборщику и установлены JDK и Android SDK
Проверьте, что база открывается через браузер по адресу публикации
Создание мобильной конфигурации из объектов основной базы
В конфигураторе создайте новую конфигурацию и в свойствах корня конфигурации установите назначение использования «Мобильное устройство» (или «Персональный компьютер и мобильное устройство», если планируется единая разработка). После этого конфигуратор начнёт проверять объекты на совместимость с мобильной платформой и подсвечивать неподдерживаемые возможности.
Далее перенесите из основной конфигурации только те объекты, которые реально нужны на устройстве: справочники номенклатуры и контрагентов, документы, которые сотрудник вводит с телефона, необходимые регистры сведений. Не тяните всю конфигурацию целиком — каждый лишний объект увеличивает объём базы на устройстве и трафик обмена.
Удобный приём — выгрузка объектов через «Сравнение и объединение конфигураций» или через выгрузку в файлы конфигурации с последующей загрузкой в мобильную. После переноса обязательно пройдитесь по свойствам: уберите ссылки на объекты, которых в мобильной конфигурации нет, иначе получите ошибки проверки.
Проектирование интерфейса под мобильное устройство
Интерфейс мобильного приложения строится на тех же управляемых формах, но с учётом малого экрана и сенсорного управления. Длинные табличные части, многоколоночные формы и плотные панели кнопок на телефоне нечитаемы — формы придётся перепроектировать, а не копировать из основной конфигурации.
Используйте типовые приёмы мобильного интерфейса: главный экран со списком основных функций, пошаговые сценарии ввода вместо одной большой формы, крупные элементы управления. Для списков документов оставляйте только ключевые реквизиты — номер, дату, контрагента, сумму.
Учтите специфику мобильной платформы: на ней доступны камера (для фотографий и штрихкодов), геопозиционирование, push-уведомления, телефония. Если эти функции нужны в сценарии — например, фото товара при приёмке или координаты торговой точки, — закладывайте их в формы сразу, это проще, чем дорабатывать позже.
Настройка обмена данными с основной базой
Обмен — самая ответственная часть проекта. Стандартный подход: в основной базе публикуются HTTP-сервисы или веб-сервисы, через которые мобильное приложение запрашивает справочники и отправляет созданные документы. Данные обычно передают в формате JSON или XML.
Для типовых сценариев можно использовать план обмена «Мобильное приложение» с механизмом обмена данными, но на практике HTTP-сервисы дают больше контроля: вы сами определяете состав передаваемых данных, фильтры и порядок синхронизации. Например, на устройство выгружаются только активные контрагенты конкретного менеджера, а не весь справочник.
Предусмотрите автономную работу: приложение должно корректно функционировать без связи, складывая документы в локальную базу, и выгружать их при появлении сети. Также продумайте разрешение конфликтов — что делать, если один и тот же объект изменили и на устройстве, и в основной базе.
- 1Опубликуйте основную базу на веб-сервере и проверьте доступ из браузера
- 2Создайте в основной базе HTTP-сервисы для выгрузки справочников и приёма документов
- 3В мобильной конфигурации реализуйте вызовы сервисов и сохранение данных в локальную базу
- 4Реализуйте очередь отправки документов для работы без сети
- 5Протестируйте обмен на реальном устройстве, включая сценарий потери связи
Сборка APK и установка на устройство
Когда конфигурация готова, её нужно упаковать в установочный файл. Сначала выгрузите мобильную конфигурацию в XML-файлы, затем запустите сборщик мобильных приложений, указав путь к выгрузке, иконку, имя пакета (например, com.example.myapp) и версию приложения. На выходе получится APK-файл.
Для установки на устройства внутри компании APK подписывают отладочным или собственным ключом и распространяют напрямую — по почте, через MDM-систему или внутренний портал. Публикация в Google Play потребует аккаунта разработчика и прохождения проверки магазина.
При отладке удобнее не собирать APK каждый раз: на устройство ставится мобильная платформа-разработчик, которая загружает конфигурацию по сети прямо из конфигуратора. Это ускоряет цикл «изменил — проверил» в десятки раз. Финальный APK собирают только для тиражирования.
Проверка результата и типичные ошибки
После установки приложения пройдите полный пользовательский сценарий: авторизация, получение справочников, создание документа без сети, появление сети, отправка документа в базу, проверка документа в основной конфигурации. Проверяйте не только «счастливый путь», но и ошибки: неверный пароль, пустой справочник, обрыв связи посреди обмена.
Наиболее частые проблемы: приложение не подключается к базе из-за ошибок в адресе публикации или самоподписанного сертификата, которому устройство не доверяет; обмен падает на больших объёмах из-за отсутствия порционной выгрузки; формы «разъезжаются» на экранах с нестандартным разрешением, потому что тестировали только на одном устройстве.
Альтернативы собственной разработке
Собственная мобильная конфигурация — не единственный путь. Если задача простая (просмотр остатков, ввод заказов), иногда достаточно веб-клиента: основная база публикуется на веб-сервере, и сотрудники работают с ней через браузер смартфона. Минус — нужна постоянная связь и интерфейс не адаптирован под сенсорный экран.
Другой вариант — готовые мобильные решения от 1С и партнёров (например, мобильные клиенты для торговых представителей или складов), которые подключаются к типовым конфигурациям. Они закрывают стандартные сценарии, но слабо поддаются кастомизации под нестандартные процессы.
Сравнение вариантов
Полный контроль и автономность, но требует разработки, сборки и поддержки
Быстрый старт без разработки, но нужна постоянная связь и интерфейс не мобильный
Подходит для типовых сценариев, ограничено в настройке под нестандартные процессы
Частые вопросы
Можно ли превратить типовую «Управление торговлей» в мобильное приложение напрямую?
Нет. Типовая конфигурация рассчитана на полную платформу и содержит объекты, не поддерживаемые мобильной платформой. Правильный путь — создать отдельную мобильную конфигурацию и перенести в неё только нужные объекты с адаптацией интерфейса и обмена.
Работает ли мобильное приложение 1С без интернета?
Да, мобильная платформа хранит локальную базу на устройстве, поэтому приложение может работать автономно. Но это нужно специально запроектировать: локальное сохранение документов, очередь отправки и синхронизация при появлении связи.
Нужен ли аккаунт разработчика Google Play?
Только если вы планируете публиковать приложение в магазине. Для внутреннего использования APK можно распространять напрямую: по почте, через MDM-систему или корпоративный портал. Аккаунт и проверки Google в этом случае не требуются.
Можно ли отлаживать приложение без сборки APK?
Да. На устройство устанавливается мобильная платформа для разработчика, которая загружает конфигурацию по сети из конфигуратора. Это штатный режим отладки, и собирать APK нужно только для финального тиражирования.
Сколько времени занимает создание такого приложения?
Сроки сильно зависят от объёма: простое приложение с одним документом и парой справочников опытный разработчик соберёт за несколько дней, полноценное решение с офлайн-режимом, штрихкодами и сложным обменом — недели. Основное время уходит на обмен данными и тестирование на реальных устройствах.
Что важно запомнить
Мобильное приложение 1С для Android — это отдельная мобильная конфигурация, а не копия основной базы. Переносите только нужные объекты, проектируйте интерфейс под сенсорный экран, обязательно закладывайте автономную работу и защищайте канал обмена. Собирайте APK через сборщик только для тиражирования, а отлаживайтесь через мобильную платформу разработчика.