Публикация мобильного клиента конфигурации 1С в Google play и RuStore. Практический опыт

18 февраля 2026

1. Ключевое понимание: что мы публикуем?

Вы не публикуете саму «1С» или платформу. Вы публикуете специальную сборку мобильного клиента 1С (Mobile Client), в которую уже встроена ваша конфигурация (база данных, метаданные, часть бизнес-логики). По сути, это standalone-приложение.

Аналогия: Это, как если бы вы создали кросс-платформенное приложение на React Native или Flutter, которое уже содержит весь необходимый код и данные для работы офлайн.

2. Подготовительный этап: Сборка мобильного клиента

Это делается в Конфигураторе 1С (не в режиме «1С:Предприятие»).

  1. Открытие конфигурации: Зайдите в Конфигуратор и откройте вашу конфигурацию.
  2. Публикация мобильного приложения: Меню Администрирование -> Публикация мобильных приложений... (в современных платформах путь может незначительно отличаться).
  3. Настройки публикации:

    • Каталог публикации: Укажите пустую папку, куда будут сгенерированы файлы.
    • Тип приложения: Автономное мобильное приложение.
    • Настройки: Укажите имя, версию, идентификатор (важно! Он же Application ID для Google Play, например ru.mycompany.myapp1c). Идентификатор потом очень сложно поменять!
    • Включение в приложение: Выберите нужные роли, пользователей, данные для предварительной загрузки (справочники, нормативно-справочная информация). Важно! Чем больше данных зашьёте на старте — тем больше размер приложения (APK/AAB).

  1. Генерация: Нажмите «Опубликовать». В указанной папке появятся файлы для разных платформ:

    • android.zip — сырой проект для Android.
    • index.html и другие — для веб.

Практический совет №1: Сначала генерируйте приложение в режиме отладки (debug), чтобы протестировать базовую логику на реальном устройстве через Android Studio. Финальную сборку для магазина делайте в режиме релиза (release).

3. Подготовка Android-проекта к публикации

Архив android.zip — это заготовка Android-проекта. С ним нужно работать в Android Studio.

  1. Распаковка и открытие: Распакуйте android.zip и откройте папку проекта в Android Studio.
  2. Ключевые настройки в build.gradle (модуль app):

    • applicationId — должен совпадать с идентификатором, заданным в Конфигураторе.

    • versionCode — целое число, увеличивается с каждой публикацией в маркет.
    • versionName — строковая версия (обычно как в конфигурации).
    • minSdkVersion, targetSdkVersion — актуальные версии. Внимание! Поднимая targetSdkVersion, обязательно тестируйте работу приложения на новых Android из-за ужесточения политик безопасности (доступ к файлам, разрешения).
  1. Иконка и ресурсы: Замените стандартную иконку 1С (ic_launcher в папках mipmap-*) на свою. Отредактируйте строковые ресурсы (res/values/strings.xml) — название приложения.
  2. Подписание (Signing): Создайте ключ для подписи (jks-файл). Это самый важный шаг! Без этого ключа вы не сможете обновлять приложение. Храните его в надёжном месте! Настройте подписание в Gradle или через меню Build -> Generate Signed Bundle / APK.
  3. Сборка релизного APK или AAB: Современный формат — Android App Bundle (.aab). Именно его требует Google Play. Соберите его через Android Studio.

Практический совет №2: Обязательно протестируйте собранный APK/AAB на нескольких устройствах с разными версиями Android перед загрузкой в консоль. Проверьте запуск, базовую функциональность, работу с локальными данными.

4. Публикация в Google Play Console

  1. Создание приложения: Зайдите в Google Play Console. Создайте новое приложение. Application ID должен точно совпадать с applicationId из проекта.
  2. Заполнение магазина:

    • Название, краткое/полное описание. Укажите, что это офлайн-приложение для работы с данными, созданное на платформе 1С.
    • Скриншоты: Обязательно сделайте реальные скрины с вашего приложения на разных устройствах. Не оставляйте стандартные от 1С.
    • Иконка: Та же, что и в приложении.
    • Категория: Соответствующая (Бизнес, Финансы, Производительность и т.д.).
    • Контент: Рейтинг, анкета о конфиденциальности.

  1. Контентная часть (самое важное):

    • Политика конфиденциальности: Даже если приложение не собирает данные явно, оно работает с пользовательскими бизнес-данными. Вам обязательно нужен размещённый в сети документ "Политика конфиденциальности". Можно сгенерировать на специальных сервисах.
    • Особенности: Отметьте, что приложение работает офлайн.

  1. Загрузка сборки: В разделе Релизы -> Производство создайте новый релиз и загрузите ваш .aab файл. Заполните описание изменений.
  2. Тестирование: Настоятельно рекомендую использовать внутреннее тестирование. Загрузите сборку, добавьте тестеров (достаточно просто создать список на почту). Это позволит проверить установку из магазина до публикации для всех. Тестирование в открытом (open testing) или закрытом (closed testing) — на ваше усмотрение.

5. Ключевые сложности и их решение (Практический опыт)

  • Размер приложения (APK/AAB). Может легко достигать 50-100 МБ и более.

    • Решение: Минимизируйте предустановленные данные в Конфигураторе. Оставляйте только самое необходимое (справочники валют, единиц измерения). Основные данные загружайте при первом подключении к серверу. Используйте Android App Bundle (AAB) — Google Play будет выдавать оптимизированный APK под каждое устройство.
  • Офлайн-работа и синхронизация. Это основная фишка, но и головная боль.
    • Решение: Чётко продумайте сценарий синхронизации. Как пользователь получит первую полную базу? (Через прямое подключение к серверу 1С по адресу). Как будет обновлять конфигурацию? (Чаще всего — через полную переустановку приложения с увеличенной versionCode). Обеспечьте в приложении понятный интерфейс для настройки адреса сервера и запуска синхронизации.
  • Обновление конфигурации. Чтобы выпустить новую версию приложения с обновлённой конфигурацией, нужно пройти весь путь заново: генерация в 1С -> сборка в Android Studio -> загрузка новой сборки в Play Console.
  • Разрешения (Permissions). Приложение по умолчанию может запрашивать доступ к файлам/памяти для работы своей БД.
    • Решение: В AndroidManifest.xml указаны необходимые разрешения. Будьте готовы в описании в магазине объяснить, зачем они нужны ("для хранения локальной базы данных").
  • Поддержка разных экранов. Клиент 1С адаптивен, но ваши формы могут быть не очень удобны на маленьких экранах.
    • Решение: Активно используйте мобильный клиент в Конфигураторе при разработке. Оптимизируйте формы, используйте адаптивные макеты.

Есть так же и подводные камни:

Технические моменты:

  1. Миграция данных при обновлении приложения:

    • Проблема: При установке новой версии APK из магазина старые локальные данные пользователя (его база) могут быть утеряны, так как Android рассматривает это как установку нового приложения, а не обновление.
    • Решение: В настройках публикации мобильного приложения в 1С есть критически важный параметр — "Идентификатор приложения для магазина" (он же mobileAppId в манифесте). Если он остаётся неизменным при генерации новой версии, Android и клиент 1С распознают это как обновление и сохраняют каталог данных. Никогда не меняйте этот идентификатор без крайней необходимости.

  1. Работа с файлами и разрешениями на Android 10+ (Scoped Storage):

    • Проблема: На новых версиях Android приложение по умолчанию работает в "песочнице". Если вашему приложению нужно экспортировать отчёт в общую папку Downloads или импортировать файл оттуда — могут возникнуть сложности.
    • Решение: Используйте действия для выбора файлов через системный проводник (ACTION_OPEN_DOCUMENT, ACTION_CREATE_DOCUMENT). В 1С для этого есть встроенные методы ОткрытьФайл() и СохранитьФайл(). Не пытайтесь писать файлы напрямую по путям типа /storage/emulated/0/Download/.

  1. Push-уведомления:

    • Проблема: Нативные пуш-уведомления в автономном мобильном клиенте 1С не работают из коробки.
    • Решение: Реализовать их можно только через собственный сервис. Алгоритм:
      • Регистрируете приложение в Firebase Cloud Messaging (FCM).
      • Модифицируете Android-проект: добавляете службу для получения токена и пушей.
      • При первом запуске отправляете токен устройства на ваш сервер 1С (при синхронизации).
      • При возникновении события на сервере 1С ваш серверный код отправляет запрос на FCM API, который доставляет уведомление на устройство.
      • Это сложная и отдельная задача на стыке 1С, Android и бэкенд-разработки.

Процессные и организационные нюансы

  1. Сертификация в Google Play (особенно для финансовых приложений):

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

    • Политика конфиденциальности должна быть не "для галочки", а реальным документом, описывающим, какие данные (в том числе метаданные 1С) хранятся и как обрабатываются. Её нужно разместить на доступном публично URL.
  1. Распространение внутри организации (как альтернатива публичному магазину):

    • Закрытый канал (Closed Track): Можно опубликовать приложение в Google Play, но сделать его доступным только по ссылке или для определённой группы тестеров (до 100 человек). Удобно для пилотных групп.
    • Корпоративный магазин (Managed Google Play): Для организаций с Google Workspace. Администратор может назначать приложения конкретным пользователям или группам. Идеально для внутренних корпоративных решений.
    • Сайдинг (Sideloading): Просто раздавать APK-файл сотрудникам. Минусы: постоянные предупреждения системы безопасности, сложность обновлений, невозможность для Android 14+ установить приложения с низким targetSdkVersion.

  1. Версионирование:

    • Согласуйте схему версий между 1С (ВерсияКонфигурации), Android (versionName) и цифровым кодом (versionCode). Например:
      • versionName: 1.2.5.12 (где 1.2 — версия конфигурации, .5 — номер мобильной сборки, .12 — versionCode для Play Market).
      • versionCode: просто инкрементируется на +1 с каждой загрузкой в консоль. Можно привязать к дате (например, 24101501 для 2024-10-15 сборка №1).
Архитектурные особенности


  1. Тонкая настройка содержимого пакета:

    • В мастере публикации можно очень детально настраивать, что именно войдёт в приложение:
      • Выбирать конкретные роли и права.
      • Включать/отключать отдельные подсистемы.
      • Задавать начальные данные для заполнения (предзаполненные справочники "Контрагенты", "Номенклатура" и т.д.). Это мощный инструмент для создания специализированных легковесных приложений (например, "Торговый представитель" только с его маршрутом и товарами).

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

После публикации

  1. Мониторинг и обратная связь:

    • В Play Console есть разделы "Аналитика" и "Отзывы". Обязательно настройте получение уведомлений о критических ошибках (ANR — Application Not Responding, падениях — Crashlytics).
    • Падения (Crashes) будут отображаться в виде стектрейсов Java (Android), а не стектрейсов 1С. Их сложно добавить без опыта. Внедрение систем типа Firebase Crashlytics в Android-проект сильно упростит диагностику.
    • На отзывы пользователей нужно отвечать (особенно на негативные с техническими проблемами). Это сигнал для Google, что разработчик активен.

  1. Стоимость и лицензирование:

    • Регистрация разработчика в Google Play — единоразовый взнос $25.
    • Не забудьте про лицензии 1С! Мобильный клиент требует соответствующих лицензий (платформа 1С, конфигурация). Публикация приложения в магазине не отменяет необходимости легализации ПО 1С.

Итоговая последовательность действий:

  1. Разработка и отладка конфигурации с упором на мобильный клиент.
  2. Генерация автономного мобильного приложения в Конфигураторе 1С.
  3. Настройка, подписание и сборка AAB-файла в Android Studio.
  4. Подготовка всех графических и текстовых материалов для магазина (иконки, скриншоты, описания, политика конфиденциальности).
  5. Создание приложения и заполнение страницы в Google Play Console.
  6. Загрузка AAB в канал внутреннего тестирования.
  7. Тестирование установки и работы через магазин.
  8. Постепенное открытие (внутр. тест -> закрытый тест -> открытый тест -> продакшн).
  9. Публикация в производство (production).

Схожим образом реализован механизм публикации приложений и в RuStore

RuStore поддерживает загрузку приложений в форматах APK и ААВ.

Требования к загрузке файла APK:

  1. При загрузке первой версии убедитесь, что:

    • размер файла не превышает 5 Гб;
    • файл подписан цифровым сертификатом;
    • имя пакета уникально;
    • сборка проверена и настроена.

  1. При загрузке второй и последующих версий проверьте, что:

    • размер файла не превышает 5 Гб;
    • файл подписан цифровым сертификатом;
    • подпись соответствует предыдущей;
    • пакет соответствует предыдущему;
    • сборка проверена и настроена;
    • номер новой версии приложения больше предыдущего.

  1. Требования к загрузке файла ААВ

    • подписи приложения должны быть добавлены отдельно перед загрузкой .aab файла.
    • размер файла приложения не должен превышать 5 Гб;
    • имя пакета должно быть уникально;
    • сборка должна быть проверена и настроена.

Этот путь требует комбинирования экспертизы в 1С и Android-разработке. Зачастую над такой задачей работают два специалиста или один fullstack-разработчик, владеющий обеими областями. Удачи в публикации





Подписаться на рассылку: Новости Софт-портал




Вернуться к списку