Как создать мобильное приложение в 1с
Платформа
Для начала нужно скачать последнюю платформу 1С, на момент написания гайда она была версии 8.3.10.2505. Не забудьте при установке выбрать компонент «Модули расширения веб-сервера».
Веб-сервер
Качаем Apache для Windows, и сразу меняем порт, чтоб не мешать работе скайпа и прочим программам, который висят на 80 порту, для этого правим файлик по адресу:
И заменяем ее на любой адрес порта:
Сохраняем файл и перезапускаем Apache.
Для того, чтобы тестировать разработку на планшете, необходимо будет указать адрес приложения. Советую сразу установить для вашего компьютера в настройках роутера статический IP-адрес, например 192.168.1.177. После применения настроек, перезапустите интернет-подключение и попробуйте открыть адрес 192.168.1.177:81, должно появиться приветствие апача с фразой «It works!».
Android SDK
Качаем Android Studio, она идет вместе с Android SDK. В ходе установки не забываем указать отдельный путь для SDK, например D:\Android_SDK.
После установки заходим в Android Studio, нажимаем на начальном экране Configure -> SDK Manager.
Нам понадобятся следующие пакеты:
- Android SDK Tools — не ниже 20.0.3
- Android SDK Platform-tools — не ниже 14
- SDK Platform — API 17
Нужные нам галочки:
Применяем условия лицензии, дожидаемся загрузки и установки.
Мобильная платформа
Планшет
Далее нам понадобится планшет и драйверы на него, которые можно найти на 4pda или, что бывает реже, у планшета бывает режим CD-ROM, если подключиться в этом режиме — появится диск в Windows с драйверами и утилитами.
Идем в настройки планшета, в раздел «Безопасность» и ставим галочку «Установка из неизвестных источников».
Далее в разделе информации об устройстве тапаем несколько раз на номере сборки для включения режима разработчика.
Заходим в параметры разработчика и включаем отладку по USB.
Подключаем планшет к компьютеру и выполняем команду для установки мобильной платформы:
Каталоги могут отличаться от ваших, поэтому будьте внимательны.
После установки ярлык запуска мобильной платформы появится на рабочем столе.
Создание мобильной конфигурации
Создадим новую конфигурацию и поставим ей назначение использования «Мобильное устройство».
Обновим конфигурацию данных (F7) и опубликуем наше мобильное приложение, жмакаем в верхнем меню «Конфигурация > Мобильное приложение > Публиковать», указываем имя приложения, каталог для его размещения и жмём кнопку «Опубликовать»
Заходим в мобильную платформу, добавляем новое приложение со следующими параметрами:
В данной статье мы создадим мобильное приложение для ОС Android и ОС iOS.
По ходу создания, мы реализуем таймер средствами 1С, реализуем программный вывод анимированной диаграммы на форму («Поле диаграммы» управляемой формы), также работу с PUSH-уведомлениями на мобильном устройстве, показ рекламы в приложении и работа со встроенными покупками.
Приложение для повышения продуктивности по «помидорной» технологии.
Позволю напомнить - метод Pomodoro заключается в делении вашего рабочего времени на 25-минутные отрезки, называемые «помидорами», между которыми вы можете позволить себе отдых в течение 5 минут. Вы должны работать без отвлечения 25 минут, затем 5 минут отдохнуть и приниматься за следующий рабочий «помидор». После четырёх таких отрезков — отдых на целых 15 минут.
Описание «Помидорной» техники несколько странное, но стоит её попробовать, и Вы убедитесь, что это отличный способ повышения продуктивности работы.
Создание конфигурации для мобильного приложения
Создадим новую «пустую» базу. Дадим имя конфигурации «Pomodoro». Обязательно укажем свойство «назначение использования» - «Мобильное приложение»
а в свойстве «Требуемые разрешения мобильного приложения» установим флажки «Локальные уведомления» и «Встроенные покупки»
Создадим регистр сведений, в котором будет храниться информация о «полученных» помидорах (количество законченных отрезков времени, в течение которого пользователь продуктивно работал)
Таймер средствами 1С
В обработке можно запустить таймер и дождаться окончания его работы, либо остановить таймер. В первом случае пользователь получит PUSH-уведомление о том, что он заработал очередной помидор (запись в регистр сведений «Помидоры»), во втором случае PUSH-уведомление о том, что помидор не получен (запись в регистр не производится).
Также на форме в процессе работы таймера будет показан индикатор, выполняться обратный отсчет и показываться текущее время и время окончания работы таймера
Создадим обработку Таймер и основную форму
Для формы создадим команду «Запустить таймер», обработчик действия (нажатие):
И команду «ОстановитьТаймер», обработчик действия (нажатие):
В этих процедурах подключается (либо отключается) обработчик ожидания «ВыполнитьОтсчет», а также выполняется работа с PUSH-уведомлениями
Код процедуры обработчика ожидания ВыполнитьОтсчет»:
Вывод PUSH-уведомлений реализуется так:
В коде выполняется управление доступностью кнопок запуска и остановки таймера в зависимости от его состояния (запущен таймер, либо остановлен) – осталось установить первоначальную видимость этих кнопок при открытии формы:
Статистика – диаграмма
Создадим обработку Статистика и основную форму
Полную реализацию Вы можете посмотреть во вложенном файле конфигурации. Сейчас рассмотрим программный вывод анимированной диаграммы на форму
Управление рекламой
Для управления рекламой используется свойство глобального контекста «ОтображениеРекламы»
Реклама будет выводится в виде рекламного баннера вверху, либо внизу (свойство «ОтображениеРекламногоБаннера») окна приложения:
Включение показа рекламного баннера реализуем в Модуле управляемого приложения в процедуре ПриНачалеРаботыСистемы():
Разработаем простое мобильное приложение на 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
На виртуальной машине в списке приложений появится новое приложение. Уже не в составе мобильной платформы, а как отдельное приложение:
Разработка мобильных приложений всегда ассоциируется с необходимостью изучения дополнительных технологий. А что если пересмотреть вопрос и воспользоваться уже знакомыми инструментами?
Впервые фирма «1С» попыталась выйти на рынок мобильной разработки в 2006 году. В то время был настоящий ажиотаж на автоматизацию работы удаленных сотрудников при помощи КПК. Новые программы для решения подобных задач появлялись как грибы и такой вендор как «1С» с успешными продуктами для автоматизации разных сфер бизнес не мог упустить шанс выйти на прибыльный рынок.
На практике все выглядело значительно хуже. Воплощать оригинальные идеи этот инструмент не позволял. Пакет «Расширение для карманных компьютеров» представлял скорей дополнение для определенных типовых конфигураций, чем полноценное решение для разработки. Расширить функционал конфигурации путем добавления новых объектов метаданных было не предусмотрено. На откуп сторонним программистам оставались совсем простые вещи: создание новых форм для взаимодействия с пользователем, обработка пользовательских событий.
Да, были всевозможные обходы ограничений, но даже они не позволяли по-настоящему развернуться. Помимо технических ограничений, потребители ощутили серьезный финансовый барьер. Компаниям, решившим внедрить решение от «1С», требовалось закупить производительные КПК, приобрести лицензии на Windows Mobile, а также заплатить «1с» за поставку решения и конечное приложение.
Решение от «1С» обходилось слишком дорого. Компании, привыкшие экономить, продолжали использовать альтернативные решения. Тем более, разработчики альтернатив успели снабдить свои продукты функционалом для взаимодействия с типовыми решениями «1С».
Технические ограничения, высокая стоимость не позволили продукту повторить колоссальный успех десктопной платформы. Идея завоевать мобильный рынок корп.
приложений с треском провалилась.
Шаг вперед
Проигрыш и убытки от неудачного проекта не поставили окончательную точку на развитии перспективного направления. В 2013 году, компания «1С» представила первую стабильную версию новой платформы 8.3, обладающую функцией разработки мобильных приложений.
«1С» полностью переосмыслила подход к решению мобильной «теоремы» и учла ошибки предыдущего неудачного продукта. Результатом стал абсолютно новый инструмент, не имеющий ничего общего с предшественником и ориентированный на самые актуальные мобильные платформы – Android и iOS.
Мобильные приложения в стиле 1С
Для полноценного знакомства с возможностями разработки под мобильные платформы попробуем разработать небольшую конфигурацию. На сквозном примере вы сможете лучше оценить доступный функционал и определиться с возможностью использования платформы «1С» для решения задач.
Для работы вам потребуется последний релиз платформы «1С:Предприятие 8.3». Учебная версия дистрибутива доступна на официальном сайте 1С. Для воссоздания примера ее возможностей более, чем достаточно.
Помимо платформы «1С:Предприятие 8.3» нам потребуются ряд дополнительных инструментов. В статье будет рассматриваться пример разработки приложения для Android. В связи с этим придется загрузить: Android SDK и WEB-сервер Apache. Первый компонент содержит все необходимое для сборки приложения и эмулятор для тестирования, а WEB-сервер пригодится для быстрой загрузки приложения на мобильную ОС.
Также нам потребуется поставка «Мобильной платформы разработчика». Она содержит конфигурацию для упрощения процесса сборки созданного мобильного приложения, а также мобильную платформу разработчика. Ее необходимо установить на мобильном устройстве или эмуляторе.
Для сборки приложения, готового к распространению через Google Play потребуется загрузить Apacheant и JavaJDK. Эта тема выходит за рамки статьи, поэтому узнать подробности о работе с этими инструментами и сборкой приложения вы можете в соответствующем разделе моего блога.
Конфигурируем инструменты
Платформа «1С:Предприятие 8.3» и web-сервер Apache поставляются с инсталляторами и устанавливаются стандартным образом. Android SDK необходимо просто разархивировать в отдельную директорию и запустить “sdk manager.exe”. Перед вами появится окно с выбором доступных пакетов для установки. Для тестирования, рассматриваемого в рамках статьи примера, потребуется выбрать и установить: Android SDK Tools, Android Platform Tools, SDK Platform API 17.
Последним шагом будет создание новой информационной базы. Для тех, кто не связан с разработкой под на «1С:Предприятие» поясню, что любое решение для этой платформы состоит из информационной базы и конфигурации. Добавление новой базы осуществляется по кнопке «Добавить» стартового окна. После добавления базы открывайте ее в режиме «Конфигуратор».
Первая мобильная конфигурация
В главном меню конфигуратора найдем раздел «Конфигурация» и выберем пункт «Открыть конфигурацию». Дерево конфигурации (объектов, из которых будет состоять будущее приложение) отобразится в левой части окна. Выделите в нем корень конфигурации и нажмите сочетание клавиш «Alt + Enter». В правой части окна конфигуратора откроется редактор свойств.
Назовем конфигурацию «TODO» и в свойстве «Назначение использования» укажем «Мобильное устройство». Обратите внимание, выполнив последнее действие, некоторые узлы дерева конфигурации станут неактивными. К сожалению, воспользоваться всеми объектами метаданных на мобильной платформе не получится.
Для решения нашей задачи, в дереве конфигурации нам потребуется создать несколько объектов метаданных:
- Перечисление «СтатусыЗадач» с тремя значениями: Выполнена, ВПроцессеИсполнения, ОжидаетПринятияРешения. Ими будем определять состояние созданных задач.
- Справочник «Ответственные». Элементы справочника определяют ответственных лиц, т.е. исполнителей.
- Справочник «Задачи». Здесь будем хранить все задачи. Для удобства группировки задач включим флажок «Иерархический справочник и создадим несколько реквизитов:
- Описание (строка, 500);
- статус (ПеречислениеСсылка.СтатусыЗадач);
- Ответственный (СправочникСсылка.Ответственные);
- ДатаИсполнения (Дата);
- Одно измерение «Задача» (СправочникСсылка.Задачи);
- Один ресурс «Статус» (ПеречислениеСсылка.СтатусыЗадач);
Этих объектов нам вполне хватит для решения задачи и обкатки возможностей мобильной платформы. Взаимодействие пользователя будет происходить с формой элемента справочника «Задачи», поэтому желательно поработать над ее дизайном. Я на этом заострять внимание не стану, т.к. статья не резиновая, а просто приведу скриншот моего варианта оформления. Вы можете сделать что-то подобное или положиться на платформу, которая при необходимости сгенерирует необходимые формы автоматически.
Пишем код
Первым делом напишем код для добавления в регистр сведений «СостояниеЗадач» новых записей. Для этого откроем модуль менеджера (правый клик по регистру) и опишем в нем две процедуры (см. листинг 1 и листинг 2).
Первый листинг реализует добавление новой записи в регистр посредством менеджера записи. Помимо заполнения самостоятельно созданных реквизитов, мы заполняем еще «Период». Этот реквизит автоматически создается для всех периодических регистров сведений и необходим для идентификации записи на временной оси.
Второй листинг по сложности немногим отличается от первого. В нем описан запрос к регистру сведений для получения не закрытых задач. Результат запроса выгружается в таблицу значений. Поскольку нас интересует состояние задач на текущую дату, то мы обращаемся не напрямую к регистру, а к его виртуальной таблице «СрезПоследних». Первый параметр определяет дату среза (вспоминаем про реквизит «период»), а второй условие отбора.
Листинг 1. Код процедуры «ДобавитьЗадачу»
Листинг 2. Код функции «ПолучитьСписокНеЗакрытых Задач()
С получением данных из регистра сведений и их записью разобрались, теперь научим наш справочник работать с регистром. Для этого в дерево конфигурации добавим общий модуль с именем «РаботаСЗадачами». Можно обойтись и без него, но мне сразу хочется акцентировать внимание на возможность разбивки кода по модулям. Многие 1С-разработчики до сих пор пренебрегают этой рекомендацией и всю логику описывают в одном месте, тем самым затрудняя последующее сопровождения кода. Создадим в модуле новую процедуру «СоздатьНовуюЗадачу» (см. листинг 3).
Листинг 3. Код процедуры «СоздатьНовуюЗадачу»
Перед тем как создать новую запись выполняется проверка на наличие уже имеющихся записей по задаче. Если запись уже существует, то надо сравнить статусы задач. Если статус из регистра не отличается от статуса записываемого элемента, в создании дополнительной записи необходимость отсутствует.
Последним штрихом откроем форму элемента справочника «Задачи» и создадим обработчик события «ПослеЗаписиНаСервере». В нем напишем вызов процедуры, описанной в третьем листинге:
Работаем над интерфейсом
Основной функционал приложения готов – пользователь может создавать задачи, и каждая новая задача формирует запись в периодическом регистре сведений. Теперь займемся интерфейсом. Вынесем работу с задачами на передний план. Ведь логично сразу после запуска приложения отображать список не закрытых задач и возможность создать новую?
Найдем в дереве конфигурации узел «Общие формы» и добавим новую форму с именем «РабочийСтол». Откроем созданную форму в конструкторе интерфейса и добавим реквизит типа «ТаблицаЗначений». Назовем его «ОткрытыеЗачи». Таблица будет содержать две колонки – «Задача» (СправочникСсылка.Задачи) и «ДатаИсполнения» (Дата).
Следующим шагом перетащим добавленный реквизит на форму. У нас должен получиться интерфейс простейшей таблицы. Никакие размеры указывать не будем, оставим заботу о масштабировании интерфейса платформе.
Для созданной таблицы, в инспекторе свойств установим флажок для свойства «Только просмотр», а свойству «Положение Командной Панели» укажем значение «Нет». Мы будем заполнять таблицу динамическими сведениями, поэтому смысла в редактировании со стороны пользователя нет.
Теперь опишем у формы обработчик события «ПриСозданииНаСервере». Добавим в него одну строку кода:
В коде мы обращаемся к описанной нами процедуре «ПолучитьСписокНеЗакрытыхЗадач» и результат ее выполнения помещаем в таблицу.
Вернемся к конструктору формы и добавим группу типа «Обычная группа без отображения» с двумя кнопками: «Создать» и «Обновить». Свойству «Группировка» у добавленной группы зададим значение «Горизонтальная». Для более выразительного оформления кнопок добавим изображения и изменим шрифт по умолчанию.
Теперь выделим кнопку «Создать» и зададим ей глобальную команду «Задачи: создать». Это позволит создавать задачи, минуя вход в сам справочник. По нажатию второй кнопки будем обновлять содержимое таблицы с задачами. Для этого потребуется создать дополнительную команду формы.
Все новые команды формы создаются на одноименной вкладке «Команды». Принцип прост – добавляем новую команду, описываем в ней код действия и затем связываем команду с интерфейсом, в нашем случае с кнопкой.
Не стоит также забывать, что мы разрабатываем управляемое приложение, поэтому надо четко разграничивать клиентский и серверный код. При нажатии кнопки будет контекст «НаКлиенте», а данные из базы будем получать уже с сервера. В коде это выглядит так:
Теперь определим нашу форму рабочего стола в качестве области начальной страницы. Откроем свойства конфигурации (выделяем самый верхний узел и нажимаем «Alt+Enter») и для свойства «Рабочая область начальной страницы» установим значение «Одна колонка», после добавим в список нашу форму «РабочийСтол».
Приложение полностью готово и самое время протестировать его в работе. Попробуйте запустить пример и создать несколько задач со статусом отличным от «Выполнена». Регистр сведений пополнился новыми записями (это можно посмотреть через пункт меню «Все функции») и часть из них выводится на рабочем столе.
Приземляемся на Android
Конфигурация отлично работает на десктопе, и теперь самое время протестировать ее на эмуляторе мобильной ОС. Для подготовки нового эмулятора запустите командный интерпретатор (cmd.exe) и перейдите в директорию «toos» дистрибутива с Android SDK. Выполните команду «android.bat avd», которая запустит менеджер виртуальных Android устройств. В нем нажмите кнопку «Create» и в появившемся окне укажите параметры виртуального устройства. В своем рабочем окружении я решил эмулировать Nexus S с Android версии 4.2.2. (API Level 17).
После создания устройства сразу же запустим его. Пока выполняется загрузка android, вернемся в конфигуратор и опубликуем наше приложение на web-сервере. В главном меню конфигуратора выбираем пункт «Конфигурация» -> «Мобильное приложение» -> «Публиковать». В окне настроек публикации указываем имя приложения (может быть любым), web-сервер (в нашем окружении он должен быть один) и каталог для хранения настроек.
Возвращаемся к эмулятору и загрузим в него приложение с мобильной платформой разработчика. Сам файл приложения доступен вместе с поставкой мобильной платформы разработчика и называется «1cem-arm.apk». Для установки этого приложения в эмуляторе воспользуемся утилитой «adb.exe» из директории «platform-tools»: adb.exe install –r 1cem-arm.apk.
Совершаем звонки из мобильного приложения
Программное совершение звонка осуществляется с помощью метода «НабратьНомер» глобального объекта «СредстваТелефонии». Перед вызовом метода крайне желательно проверить возможность совершения звонка:
Параметр «ВызватьСразу» влияет на выполнение набора номера. Когда она равен «Истина», набор номера выполняется автоматически через стандартное приложение совершения звонков. При значении «Ложь» пользователь также увидит стандартный интерфейс приложения набора номера, но для совершения вызова потребуется нажать кнопку «Вызвать».
Журнал звонков
Мобильная платформа позволяет разработчику взаимодействовать с журналом звонков. Например, вы без особого труда можете получить список исходящих, пропущенных или входящих звонков. Функция поддерживается только на Android:
Геопозиционирование
Практически любой современный смартфон имеет функции определения геопозиции. Этим функционалом вы можете воспользоваться из встроенного языка 1С. Получение текущих координат устройства условно можно разделить на 2 этапа: выбор провайдера геопозиционирования и обработка полученных координат:
Работа с мультимедийными функциями
Разработчику доступна возможность делать снимки, видеозаписи, аудиозаписи средствами встроенного языка: СделатьФотоснимок(), СделатьВидеозапись(), СделатьАудиозапись().
Под какую мобильную ОС лучше разрабатывать на 1С?
Вместо завершения
Платформа «1С:Предприятие 8» на практике доказала о своей готовности стать простым инструментом для разработки корп. Приложений под мобильные платформы. Рассмотренные в статье примеры – лишние тому подтверждение. Вовсе необязательно тратить ресурсы на изучение нативных инструментов, если функционал приложения укладывается в возможности мобильной платформы и в компании доминируют продукты фирмы «1С».
Читайте также: