1с сборщик мобильных приложений не установлен сертификат разработчика
Устройство мобильной платформы 1С
Некоторые ограничения со стороны лицензионной политики компаний Apple и Google, основных поставщиков операционных систем для мобильных устройств, накладывают свой отпечаток на 1С для смартфонов и планшетов. Собственно, учитывая это, разработчики и создали следующую схему:
- Платформа;
- Конфигурация, XML-файл содержащий информацию о метаданных;
- Платформа и конфигурация, скомбинированные на устройстве, представляет собой мобильное приложение;
- Сборщик приложений для мобильных устройств.
Несмотря на кажущуюся сложность конструкции, реализация мобильной платформы 1С предприятия мало чем отличается от обычного файлового режима работы. При этом следует учитывать, что разработка интерфейса, написание кода, администрирование пользователей происходит в режиме обычного Конфигуратора, что не требует от программистов 1С отдельных специализированных знаний для работы.
Несколько слов о конфигурировании
Для самостоятельной разработки мобильного приложения не требуется специфических знаний и дополнительных инструментов. Достаточно в Конфигураторе открыть новую базу для разработки.
Основная часть настройки состоит из двух шагов:
- В «Свойствах» конфигурации, в подменю «Назначение использования» необходимо установить флажок напротив «Мобильное устройство» (рис. 1);
- В связи с тем, что работа 1С на андроид устройствах требует предварительных разрешений, необходимо в Конфигураторе установить эти параметры. Рис 2
В принципе эти два шага позволяют создавать конфигурацию для мобильных приложений. Следует иметь в виду, что некоторые объекты конфигурации ( в частности отчеты и планы счетов) станут недоступными для разработки.
Проще всего опубликовать конфигурацию мобильного приложения из Конфигуратора, пройдя по адресу Конфигурация->Мобильное приложение->Публиковать.
В некоторых случаях может выскочить ошибка «Не установлены модули расширения Web-сервера», тогда недостающие компоненты требуется доинсталлировать из файла поставки.
Размещение конфигурации на устройстве
Рис. 3 Установка стандартного приложения
В случае, если на устройстве установлено несколько конфигураций, после запуска приложения будет доступно окно выбора базы данных (рис. 4).
Некоторые возможности этого окна:
- Нажав на кнопку «+» в правом верхнем углу экрана можно добавить новую конфигурацию;
- Долгое нажатие на название базы открывает окно свойств Рис.5, которое позволяет изменить некоторые свойства базы, а так же удалить её из списка;
- В окне свойств можно разрешить отладку базы и задать адрес сервера хранения отладочной конфигурации;
- Нажав кнопку «Администрирование» можно вызвать окно тестирования базы, для устранения большинства ошибок.
После запуска мобильного приложения 1С на планшете или смартфоне открывается окно, которое по внешнему виду очень сильно напоминает тонкий или Web клиент.
Здесь уже представлены формы документов, справочников и отчетов, которые можно запустить на устройстве. Кроме этого в подменю «Сервис» можно вызвать настройки текущей базы, либо вызвать список установленных приложений.
Сборщик приложений
До тех пор, пока Вы как разработчик пользуетесь базой и возможностями мобильного приложения 1С, необходимости в использовании Сборщика у Вас, скорее всего, не возникнет. В тот момент, когда Вы самостоятельно захотите создать мобильное приложение 1С и распространять его через магазины приложений Google, Apple и Windows Apps, без конфигурации «Сборщик мобильных приложений», Вам просто не обойтись. Именно эта оболочка позволяет собрать в единое целое платформу и конфигурацию для мобильников.
Дополнительно придется установить несколько программных пакетов (Java SDK, Android SDK и, возможно, некоторые другие), без которых корректная сборка для различных операционок просто невозможна.
Последовательность действий при работе со Сборщиком в общем виде следующая:
- Загружается мобильная платформа;
- Загружаем созданную или переработанную конфигурацию;
- Непосредственно создаем мобильное приложение, для тех платформ, на которых предстоит работать.
Два следующих щелчка мышкой позволяют не просто создать приложение для разных осей, но и опубликовать его на соответствующих ресурсах (некоторые проблемы могут возникнуть с публикацией на Майкрософтовских серверах).
Предыстория
Еще во времена «1С:Предприятия» версии 8.0 (и последующих версий) существовал программный продукт «Расширение для карманных компьютеров». Расширение позволяло создавать продукты только для ОС Windows Mobile, Windows CE и т.д. Продукт обладал собственным конфигуратором, и сервером, и поддерживался вплоть до выпуска «1С:Предприятия» версии 8.3. Последняя версия расширения (8.2.9) была выпущена в октябре 2013 года, а полная поддержка прекратилась 1 января 2015 года.
Расширение имело ограниченное применение даже во времена расцвета коммуникаторов на Windows Mobile, а уход таких устройств с мобильного рынка явно не добавил популярности этому программному продукту. Устройства на iOS и Android заняли практически весь рынок мобильных устройств, и стало очевидно, что поддержка этих ОС является одним из ключевых моментов для системы, которая должна эксплуатироваться в современном мобильном мире. Также казалось очевидным, что основной подход существующей платформы «1С:Предприятие» должен использоваться и на мобильных устройствах: прикладной разработчик должен в первую очередь думать о решении прикладных задач, а во вторую — о том, какие возможности используемой ОС ему задействовать для решения этих задач. Другими словами, нужен инструмент, который изолирует прикладного разработчика от особенностей конкретных мобильных ОС и инструмента разработки.
Мобильная платформа
- она должна поддерживать современные популярные мобильные операционные системы и устройства под их управлением. В первую очередь это ОС iOS фирмы Apple и Android компании Google.
- эта система должна позволять использовать разработанные приложения в стиле, принятом на современных мобильных устройствах. В частности, интерфейс должен опираться на ручное управление (в буквальном смысле этого слова) с использованием сенсорных экранов.
- система должна обеспечивать единообразный программный интерфейс для реализации различных специфических механизмов, вне зависимости от используемой мобильной ОС.
- разработчик должен использовать тот же инструмент и те же подходы к разработке, что и при разработке приложений для «обычного» компьютера.
- прикладной разработчик должен разрабатывать прикладное решение в привычной среде разработки, по возможности используя единый код для настольной и мобильной систем.
- интерфейс прикладного решения, работающего на мобильном устройстве, должен быть аналогичен для различных платформ и в целом однозначно узнаваем.
Начиная с версии мобильной платформы 8.3.7 стала доступна и отладка приложения непосредственно на мобильном устройстве (подробнее об этом ниже).
- мобильное приложение может быть составной и неотъемлемой частью существующей информационной системы предприятия. Мобильное приложение будет предоставлять интерфейс и другие возможности (включая обмен данными), «заточенные» под возможности существующей информационной системы. В этом случае мобильное приложение очень плотно связано с «обычной» информационной системой и не может эксплуатироваться в отрыве от нее.
- мобильное приложение выполняет специфические задачи, которые практически никак не связаны с информационной системой предприятия. Существует лишь минимальный набор данных, которыми обмениваются мобильное приложение и информационная система. В этом случае, скорее всего, мобильное приложение будет выполнять обмен по некоторому стандартизированному протоколу, что делает возможным применение этого мобильного приложения в совершенно различных случаях и ситуациях.
Устройство мобильной платформы
- Собственно мобильная платформа — мобильная часть фреймворка «1С:Предприятие». Она бывает обычной (которая используется во время сборки приложения для публикации в магазине приложений) и мобильной платформой разработчика, которая используется (сюрприз) во время разработки мобильного приложения.
- Мобильная конфигурация — это конфигурация системы программ «1С:Предприятие», записанная в виде XML-файла.
- Комбинация мобильной платформы и мобильной конфигурации дает мобильное приложение.
- Сборщик мобильных приложений — специализированное прикладное решение, которое умеет сделать из мобильной платформы, конфигурации, заставок, иконок и прочих компонентов, готовый файл мобильного приложения, который можно загрузить в магазины Apple AppStore, Google Play, Windows Phone Apps / Windows Apps.
Немного о платформе разработчика
Что умеет?
Как выглядит?
Графический интерфейс мобильной платформы – отдельная тема. В 1С:Предприятии, как известно, интерфейс описывается декларативно. Это, с одной стороны, накладывает некоторые ограничения на разработку UI (например, отсутствует возможность попиксельного позиционирования), но, с другой стороны, позволяет платформе единообразно отрисовывать интерфейс на экранах разного размера, в тонком и веб-клиенте. Этого же принципа мы старались придерживаться и в мобильной платформе. Насколько хорошо нам это удалось? Попробуем разобраться.
В первых версиях мобильной платформы (до 8.3.5 включительно) графический интерфейс приложений выглядел весьма привычно для искушенных пользователей 1С; фактически он переносил знакомый по «десктопным» версиям 1С интерфейс в мобильный мир. Но с точки зрения пользователей, ранее с 1С не знакомых, интерфейс выглядел несколько архаичным.
Учтя замечания и пожелания, мы коренным образом пересмотрели свой подход к мобильному интерфейсу в версии 8.3.6. Можно сказать, что мы сделали совершенно новый мобильный интерфейс для наших приложений. Он имеет много общего с нашим интерфейсом «Такси». Модель разработки для разработчиков мобильных приложений соответствует модели разработки в «Такси». При этом мобильный интерфейс полностью соответствует принятым в мобильных приложениях подходам к дизайну и UX. Интерфейс полностью учитывает специфику мобильного мира: небольшой размер экрана (а значит, оформление графических элементов должно стать более аскетичным – без теней, градиентов), есть поддержка пальцевых жестов и т.д. Интересный факт: новый механизм платформы, отвечающий за размещение элементов в форме (layouter) оказался настолько удачным и своевременным для мобильной платформы, что был выпущен в ней раньше (в версии 8.3.6) чем в платформе для ПК (в версии 8.3.7), для которой он в первую очередь предназначался.
На картинке можно увидеть, как поменялся наш интерфейс.
Приложение «Управление небольшой фирмой» на версии мобильной платформы 8.3.5:
Оно же на версии 8.3.6:
А вот так выглядит интерфейс мобильной платформы вживую:
Сборщик — и что это за зверь?
- Загружаем версию мобильной платформы 1С, на которой будем собирать приложение
- Загружаем конфигурацию, из которой будем собирать мобильное приложение
- Создаем мобильное приложение, в котором указываем, для каких платформ (Android, iOS, Windows) надо выполнять сборку, какую конфигурацию и платформу следует использовать (в частности, указать, какой сертификат для сборки под iOS использовать в случае, если приложение работает с PUSH-уведомлениями).
- Выполняем «одним кликом» сборку мобильного приложения под все выбранные платформы
- «Другим кликом» отправляем собранные мобильные приложения в магазины приложений (если это приложение для iOS или Android). В магазины Windows Apps / Windows Phone Apps приложение нужно загружать вручную, т.к. Microsoft пока не предоставляет API для размещения приложения в магазине.
Приложения на мобильной платформе
Сама фирма «1С» выпускает на мобильной платформе ряд приложений, являющихся мобильными клиентами серверных приложений 1С (1С:Документооборот, 1С:Управление Небольшой Фирмой и т.д.). Эти приложения реализуют некоторое подмножество функциональности «обычных» клиентов. В случае мобильной версии «1С:Управление Небольшой Фирмой» функциональности достаточно для полноценного использования программы, и мы часто видели ситуацию, когда клиентам для ведения бизнеса достаточно мобильной версии приложения.
Наши партнеры используют мобильную платформу как для разработки тиражных мобильных приложений, распространяемых через магазины приложений, так и для заказных приложений, созданных по запросам конкретных клиентов. Среди тиражных приложений встречаются приложения, которые используют не 1С-ный back-end в качестве центрального хранилища данных.
Среди мобильных приложений, созданных по заказу клиентов, можно упомянуть мобильный клиент для «1С:Управления Производственным Предприятием», созданный по заказу крупного машиностроительного холдинга. Около ста сотрудников холдинга используют мобильное приложение в горячих цехах, где по соображениям техники безопасности поставить стационарные компьютеры невозможно. Встроенная камера мобильного устройства используется для чтения штрих-кодов изделий и поиска их в справочнике номенклатур, мобильное приложение позволяет понять, на каком этапе технологической цепочки находится данное изделие, отметить прохождение изделием очередной операции и т.п.
Фирма «1С» опубликовала разъяснения и рекомендации для разработчиков приложений на мобильной платформе 1С, которые касаются перехода на новый формат публикации – Android App Bundle (AAB).
Когда и как разработчикам мобильных 1С-приложений переходить на новый формат AAB
Официальный технологический блог «Заметки из Зазеркалья» опубликовал методические рекомендации для разработчиков мобильных приложений в связи с новыми требованиями к публикации в Play Store.
Как мы уже писали в новостях, корпорация «Google» объявила, что начиная с августа этого года стандарт приложений Android App Bundle (AAB) станет в Play Store обязательным. Он заменит монолитный формат APK, что, с одной стороны, повысит безопасность и сделает более удобным процесс публикации, а с другой – пользователи лишатся возможности устанавливать приложения из сторонних источников.
Уже опубликованные приложения можно будет обновлять в формате APK в течение нескольких месяцев и после августа 2021. Однако загрузка новых продуктов потребует использования формата AAB.
Для разработчиков мобильных приложений на платформе 1С это означает, что публикация в маркете новых приложений потребует обязательного обновления мобильной платформы до релиза, не ниже 8.3.19.52.
Обновленный «Сборщик мобильных приложений»
Для облегчения процесса сборки мобильных приложений на платформе 1С существует специальная конфигурация «Сборщик мобильных приложений» – она входит в дистрибутив мобильной платформы 1С.
Версия конфигурации «Сборщик мобильных приложений» из последнего дистрибутива мобильной платформы уже учитывает последние требования публикации новых приложений, однако для корректной работы приложения необходимо будет соблюсти заданную последовательность действий:
- обновить конфигурацию «Сборщик мобильных приложений» из последних дистрибутивов мобильной платформы версии 8.3.19.52 и выше.
- загрузить в базу сборщика дистрибутив мобильной платформы этой же версии.
Нарушение этой последовательности может привести к ошибкам сборки.
Для подписи пакета приложений AAB перед его загрузкой в магазин Google Play требуется создание ключа загрузки приложения (ключ подписи приложения, которого требовал формат APK, считается менее безопасным). Создать ключ загрузки приложения можно в «Настройке параметров поставщика» на вкладке «Параметры для ОС Android».
После создания по ссылке «Экспорт сертификата ключа» ключ нужно будет экспортировать в файл с расширением «.pem» и загрузить его в «Программе подписания приложений» сервиса Play Console.
Полная последовательность действий по настройке параметров поставщика описана в справке ИТС, которая доступна при соответствующей подписке.
Создание ключа загрузки в настройках поставщика в конфигурации «Сборщик мобильных приложений» на платформе 8.3.19.
Подробное описание нескольких возможных сценариев перехода на AAB – для новых и существующих приложений есть в открытом доступе в официальном технологическом блоге и на портале ИТС.
Разработаем простое мобильное приложение на 1С для Android. Для тестирования можно использовать физическое устройство (свой смартфон или планшет), но гораздо удобнее использовать виртуальное. Для этого нужно установить эмулятор, например Genymotion.
Если уже есть установленный VirtualBox, то можно скачать без него. Иначе скачиваем с VirtualBox, это нижняя ссылка. Затем нужно запустить скачанный файл и установить VirtualBox и Genymotion. Здесь не должно возникнуть сложностей.
После этого нужно запустить Genymotion. В открывшемся окне нужно добавить новое виртуальное устройство:
Слева можно настроить отборы, справа выбрать какое устройство будем создавать. Например, выберем версию Android 7.0, устройство Custom Phone:
Нажмем справа внизу кнопку Next и будет открыто окно для настройки создаваемого устройства. Уменьшим разрешение экрана до 480х800 (чем выше разрешение, тем сильнее будет тормозить эмулятор), 240 HDPI, а также уменьшим количество процессоров до 2-х и память до 1024 МБ:
Нажмем кнопку Install и начнется скачивание образа виртуального устройства:
После скачивания образа в списке появится новое устройство, которое можно запустить, выбрав в меню команду Start:
Можно сразу в настройках включить русский язык: Settings – Language & Input – Language, добавить новый язык и поставить его на первое место:
Иногда бывает, что виртуальная машина не запускается, при этом Genymotion не пишет каких-то внятных ошибок. Чтобы увидеть ошибку нужно запустить VirtualBox, выделить созданную нами виртуальную машину и нажать Запустить:
В этом случае хотя бы можно будет увидеть ошибку и поискать решение в интернете.
Установка мобильной платформы
Теперь нужно установить мобильную платформу. Если у Вас нет доступа к мобильной платформе, то можно скачать учебную версию, но она имеет ряд ограничений. Если доступ есть, то можно скачать здесь.
Распаковываем скачанный архив с мобильной платформой и из папки Android копируем файл 1cem-x86.apk в какое-нибудь другое место. Это 32-х разрядная мобильная платформа для процессоров архитектуры x86. В этой же папке есть файл 1cem-arm.apk. Это 32-х разрядная мобильная платформа для процессоров архитектуры ARM. Про разницу между архитектурами x86 и ARM можно почитать здесь. Но так как у меня процессор intel, то я буду использовать файл 1cem-x86.apk.
Мобильная платформа будет установлена на виртуальную машину и в списке приложений появится значок 1С:
При запуске будет открыт список приложений (конфигураций), который пока пуст:
В эмуляторе Genymotion можно установить мобильную платформу просто перетянув файл мобильной платформы из проводника Windows на экран эмулятора:
После этого в настройках появится пункту меню Для разработчиков:
И уже в нем нужно разрешить отладку по USB:
Сразу после тестирования нужно запретить отладку по USB! Иначе на Ваш смартфон могут быть установлены вирусы!
Разработка мобильной конфигурации
Теперь разработаем мобильную конфигурацию. Создадим новую базу 1С, путь к базе лучше указать на латинице, так будет меньше проблем. В свойствах конфигурации установим Назначение использования = Приложение для мобильной платформы:
Добавим произвольную общую форму:
И в модуле формы в обработчике ПриСозданииНаСервере добавим следующий код:
Процедура ПриСозданииНаСервере ( Отказ , СтандартнаяОбработка )
А также изменим имя конфигурации:
Обновим конфигурацию базы данных.
Платформа предупредит о том, что нужны полномочия администратора, но так как мы не будем публиковать на веб-сервере, то можно проигнорировать это.
В открывшемся окне нужно снять флаг Создавать виртуальный каталог на веб-сервере, указать Каталог, куда будет записан файл мобильной конфигурации (лучше использовать только латиницу), а также установить флаг Обновлять мобильное приложение при обновлении конфигурации базы данных:
После это нужно нажать на кнопку Опубликовать.
Если нажать ОК и выйти из приложения кнопкой назад, то мы попадем в список всех приложений (конфигураций) мобильной платформы, где пока что есть только одна, разработанная нами конфигурация:
Сборка мобильного приложения
Выполним сборку мобильного приложения, чтобы запускать его не через мобильную платформу, а как отдельное приложение.
Для начала нужно установить конфигурацию Сборщик мобильных приложений. Установочные файлы находятся в архиве с мобильной платформой, в папке MobileAppMaker. Это обычная конфигурация 1С. Сначала нужно установить шаблон, а потом из шаблона создать новую конфигурацию:
Также для сборки потребуется установленная Java и Android SDK.
Java можно скачать тут. С установкой не должно возникнуть проблем. Путь к Java также желательно добавить в системную переменную среды Path, если он автоматически не был добавлен туда. Чтобы проверить установлена ли Java и какой версии можно в командной строке выполнить команду java -version:
Для установки Android SDK можно скачать Android Studio и через него установить все необходимое. Android Studio можно скачать по этой ссылке, проблем с установкой также не должно быть. При установке нужно будет выбрать путь для установки Android SDK, здесь нужно выбирать путь только на латинице, желательно покороче и без пробелов, например: C:\AndroidSDK.
Для сборки на мобильной платформе 8.3.19 нужна версия SDK API 29. Чтобы скачать нужную версию SDK нужно запустить Android Studio и в стартовом окне нажать на гиперссылку More Actions и выбрать пункт SDK Manager:
В открывшемся окне, на закладке SDK Platforms нужно отметить нужную версию API и нажать ОК. Будут скачаны файлы выбранной версии SDK. 31 версия (последняя на 17.08.2021) была установлена вместе с Android Studio.
В открывшемся окне нужно нажать на кнопку Создать:
Будет открыто окно для заполнения путей к компонентам:
После этого нужно выполнить настройку параметров поставщика:
Так как будем собирать для Android, то на закладке Общие параметры нужно установить флаг Для ОС Android:
Появится закладка Параметры для ОС Android. Здесь нужно указать Префикс идентификатора приложения для ОС Android (например ru.test) и создать Ключ подписи приложений:
Для создания ключа нужно нажать на кнопку с плюсом:
Будет открыто окно где нужно ввести параметры ключа и нажать Сформировать ключ:
Хеш ключа будет заполнен в поле Хеш SHA-1 ключа подписи.
Теперь нужно загрузить мобильную платформу в сборщик. Для этого нужно перейти в раздел Мобильные версии, добавить новый элемент и выбрать архив с мобильной платформой. После загрузки будет создан новый элемент справочника, в котором будут указаны параметры мобильной платформы, в том числе версия API, которую нужно использовать при сборке (именно поэтому мы скачивали 29 версию API SDK):
В свойствах конфигурации нужно заполнить поставщика и версию:
В сборщике в разделе Мобильные конфигурации нужно нажать на кнопку Загрузить конфигурацию, выбрать файл с записанной мобильной конфигурацией и нажать Загрузить:
Будет создана группа и в ней элемент с мобильной конфигурацией:
После загрузки конфигурации будет предложено создать группу справочника Мобильные приложения. Можно согласиться и заполнить параметры как на рисунке:
В поле Мобильная платформа нужно выбрать элемент справочника Мобильные платформы. А на закладке Конфигурации и представления в поле Источник нужно выбрать группу с мобильной конфигурацией.
После этого в этой группе (справочника Мобильные приложения) нужно создать новый элемент и нажать на кнопку Собрать приложение:
Начнется процесс сборки приложения, по окончании которого на закладке Результаты сборки можно будет сохранить собранное приложение на диск:
Для установки мобильного приложения на виртуальную машину нужно в командной строке ввести команду adb install F:/ru.test.test-x86.apk
На виртуальной машине в списке приложений появится новое приложение. Уже не в составе мобильной платформы, а как отдельное приложение:
Читайте также: