К статье
Практический материал

Разработка и Конфигурация · 12 мин

Как написать мобильное приложение на 1С

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

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

Типовые сценарии таких приложений — мобильная торговля для торговых представителей, складской учёт с терминалом сбора данных, курьерская доставка, обходы оборудования, анкетирование и аудит. Приложение может работать автономно, накапливая данные локально, и обмениваться с центральной базой через веб-сервисы, HTTP-запросы или файловый обмен.

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

Выбор подхода: мобильная платформа, мобильный клиент или внешнее решение

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

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

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

Сравнение вариантов

Мобильная платформа

Автономная работа без интернета, своя конфигурация. Ограничение: нужно проектировать обмен данными и собирать установочный пакет.

Мобильный клиент

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

Внешнее приложение + HTTP-сервисы

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

Подготовка инструментов разработчика

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

Для сборки приложения под Android понадобятся Android SDK, Java Development Kit и инструменты сборки. Для iOS дополнительно требуется компьютер с macOS, Xcode и действующий аккаунт разработчика Apple — без него невозможно подписать и установить приложение на устройство. Это существенное отличие от Android, где сборку можно выполнить на Windows и установить пакет напрямую.

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

Создание мобильной конфигурации

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

Структуру метаданных проектируют с учётом автономной работы. Обычно в мобильной части оставляют только нужные справочники (номенклатура, контрагенты, склады), документы (заказ, акт, маршрутный лист) и регистры для хранения остатков или статусов. Копировать всю структуру центральной базы не следует — это раздувает объём данных и замедляет синхронизацию.

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

Порядок создания конфигурации
  1. 1
    Создайте новую конфигурацию в конфигураторе и укажите назначение «мобильное устройство»
  2. 2
    Определите состав объектов: только те справочники, документы и регистры, что нужны в полевой работе
  3. 3
    Спроектируйте формы под сенсорный экран: крупные элементы, минимум полей
  4. 4
    Реализуйте логику на встроенном языке с учётом ограничений мобильной платформы
  5. 5
    Протестируйте на устройстве через мобильную платформу разработчика

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

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

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

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

Начинайте перенос справочников в мобильную базу с минимального набора реквизитов. Каждое дополнительное поле увеличивает объём синхронизации и время первоначальной загрузки, а добавить реквизит позже проще, чем ускорять раздутый обмен.
ПЗ
Практическое замечание

Настройка обмена данными с центральной базой

Обмен — самая ответственная часть мобильного решения. Стандартный подход: в центральной конфигурации публикуются HTTP-сервисы или веб-сервисы, а мобильное приложение обращается к ним, передавая и получая данные в формате JSON или XML. Альтернатива — планы обмена с файловой передачей через промежуточное хранилище, но для мобильных сценариев HTTP-обмен предпочтительнее: он работает в реальном времени при наличии связи.

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

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

Сборка, установка и публикация приложения

Когда конфигурация готова и отлажена, её собирают в установочный пакет. Для Android сборка выполняется через сборщик мобильных приложений: указывается конфигурация, иконка, имя пакета, версия, а на выходе получается файл APK или AAB, который устанавливается на устройство напрямую или распространяется через Google Play. Для внутреннего корпоративного использования публикация в магазине не обязательна — достаточно раздать пакет сотрудникам.

Для iOS процесс сложнее: требуется сборка на macOS, подписание сертификатом разработчика Apple и распространение через App Store или корпоративные механизмы. Сроки проверки приложения в App Store и требования к оформлению следует учитывать при планировании внедрения.

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

Контрольные точки

Как проверить результат

Автономная работа
Норма

Документы создаются и сохраняются без интернета, после появления связи уходят в центральную базу

Тревожный признак

При отсутствии сети приложение зависает или данные теряются

Синхронизация
Норма

Передаются только изменённые данные, нет дублей документов

Тревожный признак

Каждый обмен передаёт всю базу или создаёт повторные документы

Интерфейс
Норма

Все кнопки доступны одной рукой, текст читается без масштабирования

Тревожный признак

Элементы обрезаны, попасть в кнопку сложно

Типичные ошибки и ограничения

Самая распространённая ошибка — попытка перенести в мобильное приложение всю функциональность настольной конфигурации. Мобильное решение должно закрывать узкий сценарий: принять заказ, провести инвентаризацию, отметить визит. Всё сложное — аналитика, корректировки, закрытие периода — остаётся в центральной системе.

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

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

Типичные ошибки
01
Перенос всей функциональности настольной конфигурации — приложение становится перегруженным и неудобным
02
Отсутствие очереди неотправленных данных — документы теряются при обрыве связи
03
Передача фото без сжатия — перерасход трафика и места в хранилище
04
Игнорирование конфликтов версий — данные на устройстве затирают более свежие данные центра
05
Отсутствие механизма обновления — пользователи остаются на несовместимых версиях

FAQ: частые вопросы о мобильной разработке на 1С

Можно ли написать мобильное приложение 1С без навыков программирования?

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

Сколько времени занимает разработка простого мобильного приложения?

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

Нужно ли публиковать приложение в Google Play или App Store?

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

Чем мобильная платформа отличается от мобильного клиента?

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

Как защитить данные в мобильном приложении?

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

Что делать, если приложение работает медленно на устройстве?

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

Итог

Что важно запомнить

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