1с как собрать мобильное приложение для ios
Мобильная платформа — это технология, позволяющая создавать приложения, работающие на различных планшетных ПК, смартфонах и других мобильных устройствах под управлением операционных систем Android, iOS, Windows.
Мобильное приложение
Мобильный клиент
Мобильный клиент — это аналог тонкого клиента, предназначенный для мобильных устройств. Он позволяет в режиме онлайн получить доступ с мобильных устройств практически ко всей функциональности приложений, которые поддерживают работу через тонкий клиент или веб-клиент. Мобильным клиентом предполагается пользоваться в тех случаях, когда требуется онлайн-доступ к информационной базе с мобильных устройств. При этом, в отличие от мобильной платформы, данные, введенные на мобильном устройстве, будут сохраняться в общей информационной базе сразу же, без необходимости в дополнительной синхронизации. В мобильном клиенте поддерживается работа системы взаимодействия. Для реализации дополнительной функциональности можно использовать механизм расширений.
Функции | Мобильный клиент | Мобильное приложение |
Возможность выполнять базовые операции при помощи мобильного устройства | ||
Запуск типовых конфигураций без разработки | ||
Онлайн-взаимодействие с информационной базой | ||
Работа без обменов данными | ||
Автоматическая трансформация форм | ||
Сокращение нагрузки на память устройства | ||
Отсутствие необходимости в повторной сборке файла при изменении конфигурации | ||
Возможность работы офлайн | ||
Возможность пользоваться сервисами иных информационных систем |
Как собрать файл мобильной платформы и мобильного клиента 1С под iOS
В версии предприятия 8.3.20 появился сервис по сборке мобильных приложений для которого не нужен компьютер с MacOS для сборки приложения под iOS.
Как установить мобильную платформу и мобильный клиент на Android
Доступ к базе через мобильный клиент
- Развернуть веб-сервер.
- Опубликовать базу на данном веб-сервере.
- Указать в мобильном клиенте путь к базе.
Наша команда готова подобрать самое оптимальное решение для развития Вашего бизнеса и управления текущими задачами.
Предыстория
Еще во времена «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С для 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
На виртуальной машине в списке приложений появится новое приложение. Уже не в составе мобильной платформы, а как отдельное приложение:
В данной статье мы создадим мобильное приложение для ОС Android и ОС iOS.
По ходу создания, мы реализуем таймер средствами 1С, реализуем программный вывод анимированной диаграммы на форму («Поле диаграммы» управляемой формы), также работу с PUSH-уведомлениями на мобильном устройстве, показ рекламы в приложении и работа со встроенными покупками.
Приложение для повышения продуктивности по «помидорной» технологии.
Позволю напомнить - метод Pomodoro заключается в делении вашего рабочего времени на 25-минутные отрезки, называемые «помидорами», между которыми вы можете позволить себе отдых в течение 5 минут. Вы должны работать без отвлечения 25 минут, затем 5 минут отдохнуть и приниматься за следующий рабочий «помидор». После четырёх таких отрезков — отдых на целых 15 минут.
Описание «Помидорной» техники несколько странное, но стоит её попробовать, и Вы убедитесь, что это отличный способ повышения продуктивности работы.
Создание конфигурации для мобильного приложения
Создадим новую «пустую» базу. Дадим имя конфигурации «Pomodoro». Обязательно укажем свойство «назначение использования» - «Мобильное приложение»
а в свойстве «Требуемые разрешения мобильного приложения» установим флажки «Локальные уведомления» и «Встроенные покупки»
Создадим регистр сведений, в котором будет храниться информация о «полученных» помидорах (количество законченных отрезков времени, в течение которого пользователь продуктивно работал)
Таймер средствами 1С
В обработке можно запустить таймер и дождаться окончания его работы, либо остановить таймер. В первом случае пользователь получит PUSH-уведомление о том, что он заработал очередной помидор (запись в регистр сведений «Помидоры»), во втором случае PUSH-уведомление о том, что помидор не получен (запись в регистр не производится).
Также на форме в процессе работы таймера будет показан индикатор, выполняться обратный отсчет и показываться текущее время и время окончания работы таймера
Создадим обработку Таймер и основную форму
Для формы создадим команду «Запустить таймер», обработчик действия (нажатие):
И команду «ОстановитьТаймер», обработчик действия (нажатие):
В этих процедурах подключается (либо отключается) обработчик ожидания «ВыполнитьОтсчет», а также выполняется работа с PUSH-уведомлениями
Код процедуры обработчика ожидания ВыполнитьОтсчет»:
Вывод PUSH-уведомлений реализуется так:
В коде выполняется управление доступностью кнопок запуска и остановки таймера в зависимости от его состояния (запущен таймер, либо остановлен) – осталось установить первоначальную видимость этих кнопок при открытии формы:
Статистика – диаграмма
Создадим обработку Статистика и основную форму
Полную реализацию Вы можете посмотреть во вложенном файле конфигурации. Сейчас рассмотрим программный вывод анимированной диаграммы на форму
Управление рекламой
Для управления рекламой используется свойство глобального контекста «ОтображениеРекламы»
Реклама будет выводится в виде рекламного баннера вверху, либо внизу (свойство «ОтображениеРекламногоБаннера») окна приложения:
Включение показа рекламного баннера реализуем в Модуле управляемого приложения в процедуре ПриНачалеРаботыСистемы():
Читайте также: