Разработка и Конфигурация · 12 мин
Как сделать мобильное приложение на платформе 1С
Как сделать мобильное приложение 1С: мобильная платформа, сборка для Android и iOS, обмен данными с основной базой, тестирование и типичные ошибки разработчиков.
Мобильное приложение на 1С создаётся не с нуля на Java или Kotlin, а на «Мобильной платформе 1С:Предприятие» — специальной версии платформы, которая исполняет конфигурацию на устройстве под Android или iOS. Разработчик пишет код на встроенном языке 1С в привычном конфигураторе, а затем собирает установочный пакет через инструмент «Сборщик мобильных приложений» или сервис сборки. Это резко снижает порог входа: знание мобильных SDK не требуется.
Типовые сценарии таких приложений — мобильный клиент для торговых представителей, складской терминал для приёмки и инвентаризации, приложение для курьеров и выездных специалистов, личный кабинет сотрудника. Мобильная конфигурация обычно работает автономно и периодически обменивается данными с основной базой через веб-сервисы, HTTP-сервисы или планы обмена.
Прежде чем начинать, важно понимать ограничения: мобильная платформа поддерживает не все объекты метаданных (например, нет полноценных регистров бухгалтерии и сложных отчётов), интерфейс адаптирован под сенсорный ввод, а производительность устройства ограничивает объём локальных данных. Поэтому мобильное приложение проектируют как «тонкого помощника» основной системы, а не как её полную копию.
Какие варианты создания мобильного приложения существуют
Первый вариант — автономная мобильная конфигурация на Мобильной платформе. Это полноценное приложение с собственной локальной базой на устройстве, которое работает офлайн и синхронизируется с центральной системой. Подходит для торговых представителей, курьеров, мерчандайзеров — всех, кто работает в полях без стабильного интернета.
Второй вариант — мобильный клиент, который подключается к опубликованной на веб-сервере основной базе и работает только онлайн. Разработка проще, обмен не нужен, но без сети приложение бесполезно. Третий вариант — вообще без мобильной платформы: публикация информационной базы через веб-сервер и доступ через браузер или мобильный тонкий клиент. Это быстрый способ дать сотрудникам доступ к данным, но интерфейс будет не адаптирован под сценарии полевой работы.
Сравнение вариантов
Работает офлайн, есть локальная база. Требует разработки обмена данными и отдельной конфигурации — самый трудоёмкий вариант.
Быстрая разработка, данные всегда актуальны. Не работает без интернета, зависит от качества связи.
Минимум затрат, ничего не устанавливается. Интерфейс не оптимизирован под полевые сценарии и сканирование штрихкодов.
Что понадобится перед началом разработки
Для разработки потребуется установленная платформа 1С:Предприятие той версии, с которой совместима нужная версия мобильной платформы, дистрибутив самой Мобильной платформы и сборщик мобильных приложений. Для сборки под Android нужны Android SDK и JDK, для сборки под iOS — компьютер с macOS, Xcode и действующий аккаунт разработчика Apple. Это принципиальное ограничение: собрать iOS-приложение на Windows-компьютере без дополнительных сервисов нельзя.
Также заранее продумайте инфраструктуру обмена: основная база должна быть доступна по сети, на ней публикуются HTTP-сервисы или веб-сервисы, через которые мобильное приложение будет получать справочники и отправлять документы. Для тестирования удобно использовать эмулятор Android или реальное устройство, подключённое по USB в режиме отладки.
Как спроектировать мобильную конфигурацию
Мобильную конфигурацию создают в обычном конфигураторе, но назначение у неё особое — в свойствах конфигурации указывается использование под мобильную платформу. Состав объектов нужно минимизировать: оставьте только те справочники и документы, которые реально нужны в поле. Каждый лишний объект — это рост объёма локальной базы, времени синхронизации и нагрузки на устройство.
Продумайте состав реквизитов с точки зрения обмена. Поля, которые заполняются только в офисе (например, проведённые цены, внутренние статусы), не нужно передавать на устройство и обратно. Определите, кто является «мастером» каждого объекта: обычно справочники редактируются в центральной базе и только выгружаются на устройство, а документы создаются на устройстве и загружаются в центр. Конфликт, когда объект меняется с двух сторон, — главный источник проблем в мобильных решениях.
Интерфейс проектируйте под одну руку и большие элементы управления: списки с крупными строками, минимум вложенных форм, быстрый доступ к сканеру штрихкодов. Проверяйте формы на устройстве с небольшим экраном — то, что выглядит нормально в эмуляторе на мониторе, на реальном смартфоне может оказаться нечитаемым.
Как разработать конфигурацию в конфигураторе
Создайте новую пустую конфигурацию и добавьте необходимые объекты: справочники (номенклатура, контрагенты, склады), документы (заказ, акт выполненных работ, приёмка), при необходимости — регистры сведений для хранения настроек обмена. Код пишется на обычном встроенном языке, но с учётом доступных на мобильной платформе возможностей: часть функций толстого клиента и сервера там отсутствует.
Для работы с оборудованием используйте встроенные механизмы мобильной платформы: доступ к камере для сканирования штрихкодов, геопозиционирование, телефонные звонки, push-уведомления. Например, сканирование штрихкода в форме документа подключается через обработчик оповещения, куда приходит результат сканирования камерой.
Отладку ведите сначала на разработческом устройстве: мобильная платформа для разработчика позволяет загружать конфигурацию на устройство по сети без полной сборки пакета. Это ускоряет цикл «изменил — проверил» в разы. Полную сборку делайте только когда логика отлажена.
- 1Создайте новую конфигурацию и добавьте только необходимые объекты метаданных
- 2Настройте формы под сенсорный ввод: крупные элементы, минимум вложенности
- 3Реализуйте модули обмена: выгрузку справочников и загрузку документов
- 4Загрузите конфигурацию на устройство для разработчика и проверьте основные сценарии
- 5Протестируйте работу офлайн и поведение при потере связи
- 6Переходите к сборке установочного пакета
Как настроить обмен данными с основной базой
Самый распространённый способ обмена — HTTP-сервисы, опубликованные в основной базе. Мобильное приложение отправляет запросы (например, «отдать изменения справочников с даты последней синхронизации») и получает данные в формате JSON или XML. На стороне основной базы пишется модуль HTTP-сервиса, который формирует ответ и принимает пакеты с документами от устройств.
Альтернатива — план обмена с мобильной конфигурацией, где регистрация изменений работает штатно, а транспортом служат те же веб-сервисы. Такой подход удобен, когда устройств много и нужно отслеживать, какие данные уже доставлены на каждое из них. Для идентификации устройства используйте уникальный код узла обмена, который присваивается при первом запуске приложения.
Обязательно реализуйте обработку ошибок обмена: приложение должно корректно вести себя при обрыве связи посреди пакета, повторять неотправленные данные и не создавать дублей документов при повторной загрузке. Проверяйте это искусственно — отключайте сеть в середине синхронизации на тестовом устройстве.
Как собрать установочный пакет для Android и iOS
Сборка выполняется через «Сборщик мобильных приложений» — отдельный инструмент, который упаковывает мобильную платформу и вашу конфигурацию в установочный файл. Для Android на выходе получается APK или AAB, который можно установить напрямую или опубликовать в Google Play. Потребуется ключ подписи приложения — создайте его заранее и храните в безопасном месте: обновления приложения принимаются магазином только с тем же ключом.
Для iOS сборка выполняется на macOS с установленным Xcode, а результат подписывается сертификатом из аккаунта Apple Developer. Дистрибуция возможна через App Store или корпоративные механизмы распространения. Учтите, что публикация в App Store проходит модерацию и занимает время — закладывайте это в сроки проекта.
Как проверить результат
Пакет устанавливается на чистое устройство без ошибок, приложение запускается
Ошибка установки или вылет при первом запуске
Справочники загружаются, документы уходят в основную базу без дублей
Дубли документов, потерянные записи, зависание обмена
Приложение полностью работает без сети, данные синхронизируются после появления связи
Приложение требует сеть или теряет данные офлайн
Обновление поверх установленной версии сохраняет локальные данные
После обновления база очищается или приложение не запускается
Типичные ошибки и ограничения мобильной платформы
Главная ошибка — попытка перенести на устройство логику и объёмы основной конфигурации. Мобильное устройство слабее сервера, и запросы, которые на сервере выполняются мгновенно, на телефоне могут занимать секунды. Оптимизируйте запросы, ограничивайте выборки и не храните на устройстве историю за всё время — достаточно актуального среза.
Вторая частая проблема — конфликты при обмене, когда один и тот же объект изменён и в центре, и на устройстве. Заранее определите правила разрешения конфликтов: например, справочники всегда перезаписываются данными центра, а документы устройства имеют приоритет. Третья ошибка — отсутствие сценария первичной загрузки: при первом запуске устройству нужно получить полный набор справочников, и этот процесс должен быть устойчив к обрывам связи.
Как организовать сопровождение и обновление приложения
После внедрения приложение нужно сопровождать: выпускать обновления конфигурации, следить за совместимостью версий мобильной платформы и обмена. Согласуйте версионирование: HTTP-сервисы основной базы должны корректно отвечать и старым, и новым версиям приложения, пока все пользователи не обновятся. Иначе обновление сервера сломает работу сотрудников в полях.
Предусмотрите в приложении экран диагностики: версия конфигурации, дата последней синхронизации, количество неотправленных документов. Это сильно упрощает разбор обращений пользователей — большинство проблем в полях сводится к давно не выполнявшейся синхронизации.
Что важно запомнить
Мобильное приложение 1С — это отдельная конфигурация под Мобильную платформу с минимальным составом объектов, обменом через HTTP-сервисы и сборкой пакета для Android или iOS. Проектируйте приложение как офлайн-помощник основной базы, заранее определяйте правила конфликтов и тестируйте на реальных устройствах.
Частые вопросы о разработке мобильных приложений на 1С
Нужно ли знать Java или Swift, чтобы сделать мобильное приложение 1С?
Нет. Вся бизнес-логика пишется на встроенном языке 1С в конфигураторе. Знание нативных языков может пригодиться только для нестандартных задач — например, создания собственных внешних компонентов под специфическое оборудование.
Можно ли собрать приложение для iOS на Windows-компьютере?
Напрямую — нет: для сборки требуется macOS с Xcode. Варианты обхода — аренда виртуальной машины с macOS, использование облачных сервисов сборки или отдельного Mac в организации. Дополнительно нужен оплаченный аккаунт Apple Developer.
Работает ли мобильное приложение 1С без интернета?
Автономная конфигурация на Мобильной платформе работает офлайн полностью: данные хранятся в локальной базе устройства, а синхронизация выполняется при появлении связи. Мобильный клиент, подключённый к опубликованной базе, без интернета работать не может.
Как опубликовать приложение для сотрудников, минуя магазины приложений?
Для Android достаточно распространять APK-файл напрямую — по ссылке или через MDM-систему, с разрешением установки из сторонних источников. Для iOS прямое распространение ограничено политикой Apple и обычно требует корпоративной программы распространения или механизмов MDM.
Что делать, если приложение начало тормозить после накопления данных?
Проверьте объём локальной базы и состав хранимых данных: чаще всего помогает ограничение глубины истории документов, очистка устаревших записей при синхронизации и оптимизация запросов в формах списков. Также проверьте, не загружаются ли на устройство лишние справочники целиком.