Советы по автоматизации. Советы по автоматизации Мобильная платформа 1с предприятия 8.3

Мобильная платформа 1С:Предприятия – это набор инструментов и технологий для быстрой разработки приложений под мобильные ОС iOS, Android, Windows Phone / 8.1 / 10, с использованием тех же сред разработки (Конфигуратор или 1С:Entrprise Development Tools) и тех же методик разработки, что используются для «обычных» приложений 1С. В результате получаются автономные, офлайновые приложения, но с возможностью обмена информацией с внешним миром при помощи широкого спектра средств интеграции, предоставляемого платформой: Web и HTTP-сервисы, е-мейл и т.д. Поскольку протоколы обмена – платформенно-независимые, мобильная платформа 1С, помимо прочего – это средство быстрого создания мобильного фронт-энда для практически любого серверного решения.

Предыстория

Еще во времена «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.
  • эта система должна позволять использовать разработанные приложения в стиле, принятом на современных мобильных устройствах. В частности, интерфейс должен опираться на ручное управление (в буквальном смысле этого слова) с использованием сенсорных экранов.
  • система должна обеспечивать единообразный программный интерфейс для реализации различных специфических механизмов, вне зависимости от используемой мобильной ОС.
  • разработчик должен использовать тот же инструмент и те же подходы к разработке, что и при разработке приложений для «обычного» компьютера.
  • прикладной разработчик должен разрабатывать прикладное решение в привычной среде разработки, по возможности используя единый код для настольной и мобильной систем.
  • интерфейс прикладного решения, работающего на мобильном устройстве, должен быть аналогичен для различных платформ и в целом однозначно узнаваем.
Результатом разработки явилась так называемая мобильная платформа , которая была выпущена 29 мая 2013 года в вариантах для iOS и Android. Мобильная платформа «1С:Предприятия» - это набор инструментов и технологий, позволяющий создавать приложения для мобильных ОС iOS, Android, Windows Phone / 8.1 / 10, используя ту же среду разработки (Конфигуратор) и те же методики разработки, что и для обычных приложений на платформе «1С:Предприятие». В результате получаются автономные, офлайновые приложения, но с возможностью обмена информацией с внешним миром при помощи широкого спектра средств интеграции, предоставляемого платформой: Web- и HTTP-сервисы, электронная почта и т.д.
Мобильная платформа была достаточно хорошо воспринята сообществом, начали появляться различные статьи на эту тему (например, и ). Для того, чтобы разработать полнофункциональное приложение, работающее одновременно на подавляющем большинстве мобильных устройств, теперь требовалось минимальное время и знания, принципиально не отличающиеся от знаний «обычного» прикладного разработчика на платформе «1С:Предприятие». Безусловно, такой низкий порог вхождения привлекает разработчиков, которым надо «малой кровью» обеспечить некоторой базовой функциональностью сотрудников, работающих на выезде, начальство, да и прочих мобильных сотрудников, которым требуется работа с корпоративной системой.
Начать разрабатывать мобильное приложение на платформе «1С:Предприятие» просто. В Конфигураторе нужно установить у конфигурации свойство «Назначение использования» в значение «Мобильное устройство». При этом часть прикладных объектов конфигурации станет недоступна (планы видов характеристик, планы счетов и т.д.), но станут доступны специфичные для мобильных приложений свойства (например, встроенные средства мультимедиа и геопозиционирования мобильного устройства и т.п.).


При этом отлаживать основные алгоритмы приложения (не связанные непосредственно с мобильной спецификой) можно непосредственно в Конфигураторе на компьютере разработчика. При этом участки кода, в которых происходит обращение к «мобильной» функциональности, рекомендуется обрамлять соответствующими инструкциями препроцессору, чтобы избежать ошибки при выполнении кода на персональном компьютере:
#Если МобильноеПриложениеКлиент Тогда Данные = ГеопозиционированиеСервер.ПолучитьИмяПровайдера(); #КонецЕсли
Начиная с версии мобильной платформы 8.3.7 стала доступна и отладка приложения непосредственно на мобильном устройстве (подробнее об этом ниже).

Разработка на мобильной платформе может следовать различным подходам, но можно выделить несколько основных моментов. С точки зрения построения собственно мобильного приложения, его функциональной насыщенности и роли в ИТ инфраструктуре предприятия:

  • мобильное приложение может быть составной и неотъемлемой частью существующей информационной системы предприятия. Мобильное приложение будет предоставлять интерфейс и другие возможности (включая обмен данными), «заточенные» под возможности существующей информационной системы. В этом случае мобильное приложение очень плотно связано с «обычной» информационной системой и не может эксплуатироваться в отрыве от нее.
  • мобильное приложение выполняет специфические задачи, которые практически никак не связаны с информационной системой предприятия. Существует лишь минимальный набор данных, которыми обмениваются мобильное приложение и информационная система. В этом случае, скорее всего, мобильное приложение будет выполнять обмен по некоторому стандартизированному протоколу, что делает возможным применение этого мобильного приложения в совершенно различных случаях и ситуациях.
Две вышеописанные ситуации можно считать крайними вариантами. Но это не единственные варианты разработки. Прикладной разработчик может самостоятельно выбирать возможности интеграции между мобильным приложением и той информационной системой, которая выступает бэк-офисом для него.
Мобильное приложение разрабатывается как полностью автономная конфигурация, но может разделять часть исходного текста с «родительской» конфигурацией. Кстати, «родительская» конфигурация может физически не существовать (например, если вы разрабатываете некое универсальное приложение, которое может работать с разными системами по универсальному протоколу).

Устройство мобильной платформы

Что же представляет собой мобильная платформа и что она умеет?
Справедливости ради, мобильная платформа - это всего один из компонентов всего комплекса, благодаря которому «1С:Предприятие 8» работает на мобильных устройствах. Итак, прикладной разработчик оперирует следующими компонентами:
  1. Собственно мобильная платформа - мобильная часть фреймворка «1С:Предприятие». Она бывает обычной (которая используется во время сборки приложения для публикации в магазине приложений) и мобильной платформой разработчика, которая используется (сюрприз) во время разработки мобильного приложения.
  2. Мобильная конфигурация - это конфигурация системы программ «1С:Предприятие», записанная в виде XML-файла.
  3. Комбинация мобильной платформы и мобильной конфигурации дает мобильное приложение.
  4. Сборщик мобильных приложений - специализированное прикладное решение, которое умеет сделать из мобильной платформы, конфигурации, заставок, иконок и прочих компонентов, готовый файл мобильного приложения, который можно загрузить в магазины Apple AppStore, Google Play, Windows Phone Apps / Windows Apps.
Почему все так сложно? Почему нельзя сделать на мобильном устройстве точно так, как это сделано в большой платформе? Т.е. ставить на устройство одну мобильную платформу и загружать в нее любое количество конфигураций/приложений? Это запрещают делать лицензионные ограничения на приложения, которые распространяются через магазины приложений. Например, если ваше приложение будет загружать исполняемый код (в виде скрипта) через Интернет, то оно никогда не появится в магазине приложений Apple. Следует, однако, понимать, что возможности по загрузке любой конфигурации, которые есть в мобильной платформе разработчика, не предназначены для дистрибуции мобильных приложений даже внутри одной компании, не говоря уже о дистрибуции клиентам разработчика.
После того, как мобильное приложение оказывается на целевом мобильном устройстве, возникает необходимость использовать какую-то базу данных (данные надо где-то хранить). В качестве движка базы данных мобильная платформа использует собственный движок базы данных, который портирован на мобильную платформу из платформы для персонального компьютера. Он компактен и достаточно быстр, но главное - он обеспечивает ровно такое же поведение, к которому привыкли прикладные разработчики, работая на платформе для персональных компьютеров.
Также стоит отметить, что внутри себя мобильное приложение построено по той же схеме, что и работа обычной платформы с файловым вариантом информационной базы: есть клиентская часть, есть серверная часть, есть база данных и есть клиент-серверное взаимодействие.
Собственно мобильная платформа написана как native-приложение, компилируется в двоичный код под основные процессорные архитектуры, используемые сейчас в мобильном мире: это архитектура ARM v5 и выше и x86.
Кроме того, для взаимодействия с теми или иными возможностями мобильного устройства (телефония, GPS, работа со встроенной камерой и т.п.) могут требоваться специальные разрешения. Для iOS они задаются непосредственно в процессе работы самого приложения, а для Android разрешения указываются при создании приложения. Требуемые разрешения указываются при разработке мобильного приложения и используются сборщиком мобильных приложений, но о сборщике - чуть позже.

Немного о платформе разработчика

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

Чтобы добавить новое приложение в платформу, нужно разместить XML-файл с его описанием на ресурсе, доступном с мобильного устройства по протоколу HTTP. Удобнее всего сделать это из Конфигуратора, через меню «Конфигурация \ Мобильное приложение \ Публиковать». При этом XML-файл с конфигурацией приложения размещается на веб-сервере на компьютере разработчика (соответственно на этом компьютере должен быть веб-сервер – IIS или Apache).

Если для приложения указать опцию «Перезапуск из конфигуратора», то приложение на мобильном устройстве будет автоматически обновляться с компьютера разработчика каждый раз, когда разработчик обновит размещенный на веб-сервере XML файл конфигурации.
При включенной опции «Отладка разрешена» возможна пошаговая отладка приложения на мобильном устройстве из Конфигуратора на компьютере разработчика (в Конфигураторе должна быть выбрана опция «Отладка по протоколу HTTP» в меню «Сервис \ Параметры»). Если в Конфигураторе поставить в коде точки останова и выбрать команду «Мобильное приложение – начать отладку», то мобильное приложение на устройстве остановится, когда исполняемый код дойдет до точки останова, и в Конфигураторе можно будет посмотреть значения переменных, стек вызовов и т.д.

Что умеет?

Итак, что умеет мобильная платформа? Достаточно много:)
Если не оперировать специфическими терминами «1С:Предприятия», то мобильная платформа предоставляет возможность работать с нормативно-справочной информацией, оформлять документы, описывающие какие-то внешние действия, просматривать отчеты, связываться с внешним миром с помощью интернет-сервисов и многое другое. Т.е. она предоставляет прикладному разработчику возможность написать достаточно функциональное приложение, например, программу учета домашних финансов, программу для выездной торговли и тому подобное.
Но кроме обычной функциональности, которая есть на платформе для персонального компьютера, мобильная платформа должна обеспечивать работу со специфическими возможностями, которые присущи только мобильным устройствам:
  • работа со звонками и журналом звонков;
  • работа с короткими сообщениями (SMS) и их списком;
  • контакты;
  • календари;
  • геопозиционирование (без прокладки маршрутов);
  • позволяет делать фотоснимки, а также осуществлять видео- и аудиозапись;
  • реагировать на изменение ориентации экрана;
  • работать с уведомлениями (локальными и PUSH, как напрямую, так и через специальный сервис-посредник);
  • сканировать штрих- и QR-коды с помощью камеры
  • Монетизация мобильных приложений (т.е. способ дать разработчику мобильных приложений возможности для дополнительного заработка):
    • Работа с сервисами покупок Apple In-App Purchase (для ОС iOS) и Google Play In-App Billing (для ОС Android), с помощью которых можно организовывать в мобильном приложении различного рода подписки, покупки функциональности и т.д
    • Показ рекламы в мобильных приложениях (пока поддерживаются сервисы iAd для ОС iOS и AdMob для ОС Android).
  • и т.д.
Понятно, что какие-то возможности могут быть недоступны на каждом конкретном устройстве, поэтому для определения того, что можно делать на том устройстве, на котором исполняется мобильное приложение, предусмотрены специальные методы, которые позволяют узнать, доступна на данном устройстве, например, возможность набора номера или нет. Таким образом, реализуется примерно такая схема использования: проверяем, можно использовать какую-то возможность или нельзя и если можно - используем:
Если СредстваТелефонии.ПоддерживаетсяНаборНомера() Тогда СредстваТелефонии.НабратьНомер(НомерТелефона, ВызватьСразу); КонецЕсли;
Спрятать от прикладного разработчика подробности об используемой мобильной ОС, предоставить ему унифицированные механизмы для использования мобильной функциональности – важная задача для нас. Мы считаем, что задача нами успешно решается. Различия в реализуемых механизмах или отсутствуют или сведены к минимуму. Кроме, конечно, случаев, когда функциональности в одной из ОС нет совсем.
Например, техника работа с PUSH-уведомлениями сильно отличается у Google и Apple. Мы приложили немало усилий, чтобы унифицировать механизм работы с PUSH-уведомлениями из прикладного кода. В случае мобильного приложения нам это удалось почти на 100%: один и тот же прикладной код на мобильном устройстве обрабатывает прием PUSH-уведомлений и на iOS, и на Android. И код рассылки PUSH-уведомлений в серверном приложении также выглядит одинаково. Но чтобы добиться такой унификации, нам пришлось разработать специальный сервер-прокси https://pushnotifications.1c.com/ , который скрывает от разработчика разную технику работы с сервисами Apple Push Notification Service (APNS) и Google Cloud Messaging (GCM). Вся разница заключается в разных настройках непосредственно на сайте-прокси https://pushnotifications.1c.com/ ; для работы c APNS на сайт нужно загрузить SSL-сертификат (который Apple выдает для приложения по заявке разработчика), для работы с GCM – указать уникальный идентификатор приложения.
Очевидно, что сразу невозможно реализовать все возможности, которые вы хотите иметь в мобильном приложении. И всегда приходится искать компромисс между несколькими очень полезными вещами. И если вам чего-то не хватает - пишите нам о том, какие бизнес-задачи (ведь платформа - это в первую очередь инструмент по реализации бизнес-задач!) у вас не получается решить и какой механизм помог бы вам для этого.

Как выглядит?

Графический интерфейс мобильной платформы – отдельная тема. В 1С:Предприятии, как известно, интерфейс описывается декларативно. Это, с одной стороны, накладывает некоторые ограничения на разработку UI (например, отсутствует возможность попиксельного позиционирования), но, с другой стороны, позволяет платформе единообразно отрисовывать интерфейс на экранах разного размера, в тонком и веб-клиенте. Этого же принципа мы старались придерживаться и в мобильной платформе. Насколько хорошо нам это удалось? Попробуем разобраться.
В первых версиях мобильной платформы (до 8.3.5 включительно) графический интерфейс приложений выглядел весьма привычно для искушенных пользователей 1С; фактически он переносил знакомый по «десктопным» версиям 1С интерфейс в мобильный мир. Но с точки зрения пользователей, ранее с 1С не знакомых, интерфейс выглядел несколько архаичным.
Учтя замечания и пожелания, мы коренным образом пересмотрели свой подход к мобильному интерфейсу в версии 8.3.6. Можно сказать, что мы сделали совершенно новый мобильный интерфейс для наших приложений. Он имеет много общего с нашим интерфейсом «Такси» . Модель разработки для разработчиков мобильных приложений соответствует модели разработки в «Такси». При этом мобильный интерфейс полностью соответствует принятым в мобильных приложениях подходам к дизайну и . Интерфейс полностью учитывает специфику мобильного мира: небольшой размер экрана (а значит, оформление графических элементов должно стать более аскетичным – без теней, градиентов), есть поддержка пальцевых жестов и т.д. Интересный факт: новый механизм платформы , отвечающий за размещение элементов в форме (layouter) оказался настолько удачным и своевременным для мобильной платформы, что был выпущен в ней раньше (в версии 8.3.6) чем в платформе для ПК (в версии 8.3.7), для которой он в первую очередь предназначался.
На картинке можно увидеть, как поменялся наш интерфейс.
Приложение «Управление небольшой фирмой» на версии мобильной платформы 8.3.5:


Оно же на версии 8.3.6:

А вот так выглядит интерфейс мобильной платформы вживую:

Сборщик - и что это за зверь?

Как уже было сказано ранее, мобильное приложение состоит из нескольких компонентов (собственно мобильная платформа, конфигурация, различные ресурсы), которые должны представлять собой единое целое для помещения приложения в магазин. Чтобы облегчить превращение компонентов в приложение, был разработан сборщик мобильных приложений. Это конфигурация (приложение), созданная на платформе «1С:Предприятие», которая хранит в своей базе данных все компоненты, необходимые для формирования мобильного приложения. Для того чтобы сборщик выполнял свою работу, нужно скачать и установить различные программные пакеты, которые нужны для его работы (Java и Android SDK и т.п.), затем указать пути к этим пакетам в настройках сборщика и задать некоторые дополнительные параметры (ключи разработчиков и т.д.).


После настройки сборщик готов к работе. В общем случае работа со сборщиком выглядит следующим образом:
  1. Загружаем версию мобильной платформы 1С, на которой будем собирать приложение
  2. Загружаем конфигурацию, из которой будем собирать мобильное приложение
  3. Создаем мобильное приложение, в котором указываем, для каких платформ (Android, iOS, Windows) надо выполнять сборку, какую конфигурацию и платформу следует использовать (в частности, указать, какой сертификат для сборки под iOS использовать в случае, если приложение работает с PUSH-уведомлениями).
  4. Выполняем «одним кликом» сборку мобильного приложения под все выбранные платформы
  5. «Другим кликом» отправляем собранные мобильные приложения в магазины приложений (если это приложение для iOS или Android). В магазины Windows Apps / Windows Phone Apps приложение нужно загружать вручную, т.к. Microsoft пока не предоставляет API для размещения приложения в магазине.
Следует отдельно отметить, что сборщик не нужен для разработки и отладки мобильного приложения. Для этого можно использовать мобильную платформу разработчика и средства Конфигуратора для передачи конфигурации на мобильное устройство. А вот для распространения мобильного приложения - нужен сборщик.

Приложения на мобильной платформе

Сама фирма «1С» выпускает на мобильной платформе ряд приложений, являющихся мобильными клиентами серверных приложений 1С (1С:Документооборот, 1С:Управление Небольшой Фирмой и т.д.). Эти приложения реализуют некоторое подмножество функциональности «обычных» клиентов. В случае мобильной версии «1С:Управление Небольшой Фирмой» функциональности достаточно для полноценного использования программы, и мы часто видели ситуацию, когда клиентам для ведения бизнеса достаточно мобильной версии приложения.
Наши партнеры используют мобильную платформу как для разработки тиражных мобильных приложений, распространяемых через магазины приложений, так и для заказных приложений, созданных по запросам конкретных клиентов. Среди тиражных приложений встречаются приложения, которые используют не 1С-ный back-end в качестве центрального хранилища данных.
Среди мобильных приложений, созданных по заказу клиентов, можно упомянуть мобильный клиент для «1С:Управления Производственным Предприятием», созданный по заказу крупного машиностроительного холдинга. Около ста сотрудников холдинга используют мобильное приложение в горячих цехах, где по соображениям техники безопасности поставить стационарные компьютеры невозможно. Встроенная камера мобильного устройства используется для чтения штрих-кодов изделий и поиска их в справочнике номенклатур, мобильное приложение позволяет понять, на каком этапе технологической цепочки находится данное изделие, отметить прохождение изделием очередной операции и т.п.

Заключение

Мы постарались очень поверхностно описать мобильную платформу, то, что она позволяет делать и почему она получилась такой, какой получилась. В данной статье практически ничего не сказано про мобильную Windows. На то есть несколько причин: во-первых, версия мобильной платформы под Windows вышла сравнительно недавно («1С:Предприятие» версии 8.3.7), во-вторых эта версия мобильной платформы не обладает какими-то существенными отличиями от реализации для других мобильных ОС. Естественно, что функциональность для ОС Windows мы будем наращивать. Равно как и наращивать функциональность мобильной платформы в целом. Так, в ближайших планах у нас – поддержка в мобильной платформе внешних компонентов; этот механизм (давно доступный в «большой» платформе), позволит разработчикам реализовать функциональность, недоступную в силу каких-либо причин в мобильной платформе.
Традиционно сильными сторонами технологической платформы «1С:Предприятие» являются легкость в освоении для разработчика и быстрота создания и модификации бизнес-приложений. Мобильная платформа 1С перенесла оба этих козыря в мобильный мир. Мобильная платформа 1С – это возможность быстро разработать приложение, работающее на трех самых массовых мобильных платформах (iOS, Android, Windows Phone / 8.1 / 10). А благодаря широкому спектру доступных платформенно-независимых средств интеграции (Web- и HTTP-сервисы и т.д.) мобильная платформа 1С - это возможность быстро создать мобильный клиент под три мобильные платформы для практически любого серверного приложения, поддерживающего любой из способов интеграции, доступных в платформе 1С (Web- и HTTP-сервисы, файловый обмен и т.д).

Только зарегистрированные пользователи могут участвовать в опросе. Войдите , пожалуйста.

Мобильная платформа 1С:Предприятия – это набор инструментов и технологий для быстрой разработки приложений под мобильные ОС iOS, Android, Windows Phone / 8.1 / 10, с использованием тех же сред разработки (Конфигуратор или 1С:Entrprise Development Tools) и тех же методик разработки, что используются для «обычных» приложений 1С. В результате получаются автономные, офлайновые приложения, но с возможностью обмена информацией с внешним миром при помощи широкого спектра средств интеграции, предоставляемого платформой: Web и HTTP-сервисы, е-мейл и т.д. Поскольку протоколы обмена – платформенно-независимые, мобильная платформа 1С, помимо прочего – это средство быстрого создания мобильного фронт-энда для практически любого серверного решения.

Предыстория

Еще во времена «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.
  • эта система должна позволять использовать разработанные приложения в стиле, принятом на современных мобильных устройствах. В частности, интерфейс должен опираться на ручное управление (в буквальном смысле этого слова) с использованием сенсорных экранов.
  • система должна обеспечивать единообразный программный интерфейс для реализации различных специфических механизмов, вне зависимости от используемой мобильной ОС.
  • разработчик должен использовать тот же инструмент и те же подходы к разработке, что и при разработке приложений для «обычного» компьютера.
  • прикладной разработчик должен разрабатывать прикладное решение в привычной среде разработки, по возможности используя единый код для настольной и мобильной систем.
  • интерфейс прикладного решения, работающего на мобильном устройстве, должен быть аналогичен для различных платформ и в целом однозначно узнаваем.
Результатом разработки явилась так называемая мобильная платформа , которая была выпущена 29 мая 2013 года в вариантах для iOS и Android. Мобильная платформа «1С:Предприятия» - это набор инструментов и технологий, позволяющий создавать приложения для мобильных ОС iOS, Android, Windows Phone / 8.1 / 10, используя ту же среду разработки (Конфигуратор) и те же методики разработки, что и для обычных приложений на платформе «1С:Предприятие». В результате получаются автономные, офлайновые приложения, но с возможностью обмена информацией с внешним миром при помощи широкого спектра средств интеграции, предоставляемого платформой: Web- и HTTP-сервисы, электронная почта и т.д.
Мобильная платформа была достаточно хорошо воспринята сообществом, начали появляться различные статьи на эту тему (например, и ). Для того, чтобы разработать полнофункциональное приложение, работающее одновременно на подавляющем большинстве мобильных устройств, теперь требовалось минимальное время и знания, принципиально не отличающиеся от знаний «обычного» прикладного разработчика на платформе «1С:Предприятие». Безусловно, такой низкий порог вхождения привлекает разработчиков, которым надо «малой кровью» обеспечить некоторой базовой функциональностью сотрудников, работающих на выезде, начальство, да и прочих мобильных сотрудников, которым требуется работа с корпоративной системой.
Начать разрабатывать мобильное приложение на платформе «1С:Предприятие» просто. В Конфигураторе нужно установить у конфигурации свойство «Назначение использования» в значение «Мобильное устройство». При этом часть прикладных объектов конфигурации станет недоступна (планы видов характеристик, планы счетов и т.д.), но станут доступны специфичные для мобильных приложений свойства (например, встроенные средства мультимедиа и геопозиционирования мобильного устройства и т.п.).


При этом отлаживать основные алгоритмы приложения (не связанные непосредственно с мобильной спецификой) можно непосредственно в Конфигураторе на компьютере разработчика. При этом участки кода, в которых происходит обращение к «мобильной» функциональности, рекомендуется обрамлять соответствующими инструкциями препроцессору, чтобы избежать ошибки при выполнении кода на персональном компьютере:
#Если МобильноеПриложениеКлиент Тогда Данные = ГеопозиционированиеСервер.ПолучитьИмяПровайдера(); #КонецЕсли
Начиная с версии мобильной платформы 8.3.7 стала доступна и отладка приложения непосредственно на мобильном устройстве (подробнее об этом ниже).

Разработка на мобильной платформе может следовать различным подходам, но можно выделить несколько основных моментов. С точки зрения построения собственно мобильного приложения, его функциональной насыщенности и роли в ИТ инфраструктуре предприятия:

  • мобильное приложение может быть составной и неотъемлемой частью существующей информационной системы предприятия. Мобильное приложение будет предоставлять интерфейс и другие возможности (включая обмен данными), «заточенные» под возможности существующей информационной системы. В этом случае мобильное приложение очень плотно связано с «обычной» информационной системой и не может эксплуатироваться в отрыве от нее.
  • мобильное приложение выполняет специфические задачи, которые практически никак не связаны с информационной системой предприятия. Существует лишь минимальный набор данных, которыми обмениваются мобильное приложение и информационная система. В этом случае, скорее всего, мобильное приложение будет выполнять обмен по некоторому стандартизированному протоколу, что делает возможным применение этого мобильного приложения в совершенно различных случаях и ситуациях.
Две вышеописанные ситуации можно считать крайними вариантами. Но это не единственные варианты разработки. Прикладной разработчик может самостоятельно выбирать возможности интеграции между мобильным приложением и той информационной системой, которая выступает бэк-офисом для него.
Мобильное приложение разрабатывается как полностью автономная конфигурация, но может разделять часть исходного текста с «родительской» конфигурацией. Кстати, «родительская» конфигурация может физически не существовать (например, если вы разрабатываете некое универсальное приложение, которое может работать с разными системами по универсальному протоколу).

Устройство мобильной платформы

Что же представляет собой мобильная платформа и что она умеет?
Справедливости ради, мобильная платформа - это всего один из компонентов всего комплекса, благодаря которому «1С:Предприятие 8» работает на мобильных устройствах. Итак, прикладной разработчик оперирует следующими компонентами:
  1. Собственно мобильная платформа - мобильная часть фреймворка «1С:Предприятие». Она бывает обычной (которая используется во время сборки приложения для публикации в магазине приложений) и мобильной платформой разработчика, которая используется (сюрприз) во время разработки мобильного приложения.
  2. Мобильная конфигурация - это конфигурация системы программ «1С:Предприятие», записанная в виде XML-файла.
  3. Комбинация мобильной платформы и мобильной конфигурации дает мобильное приложение.
  4. Сборщик мобильных приложений - специализированное прикладное решение, которое умеет сделать из мобильной платформы, конфигурации, заставок, иконок и прочих компонентов, готовый файл мобильного приложения, который можно загрузить в магазины Apple AppStore, Google Play, Windows Phone Apps / Windows Apps.
Почему все так сложно? Почему нельзя сделать на мобильном устройстве точно так, как это сделано в большой платформе? Т.е. ставить на устройство одну мобильную платформу и загружать в нее любое количество конфигураций/приложений? Это запрещают делать лицензионные ограничения на приложения, которые распространяются через магазины приложений. Например, если ваше приложение будет загружать исполняемый код (в виде скрипта) через Интернет, то оно никогда не появится в магазине приложений Apple. Следует, однако, понимать, что возможности по загрузке любой конфигурации, которые есть в мобильной платформе разработчика, не предназначены для дистрибуции мобильных приложений даже внутри одной компании, не говоря уже о дистрибуции клиентам разработчика.
После того, как мобильное приложение оказывается на целевом мобильном устройстве, возникает необходимость использовать какую-то базу данных (данные надо где-то хранить). В качестве движка базы данных мобильная платформа использует собственный движок базы данных, который портирован на мобильную платформу из платформы для персонального компьютера. Он компактен и достаточно быстр, но главное - он обеспечивает ровно такое же поведение, к которому привыкли прикладные разработчики, работая на платформе для персональных компьютеров.
Также стоит отметить, что внутри себя мобильное приложение построено по той же схеме, что и работа обычной платформы с файловым вариантом информационной базы: есть клиентская часть, есть серверная часть, есть база данных и есть клиент-серверное взаимодействие.
Собственно мобильная платформа написана как native-приложение, компилируется в двоичный код под основные процессорные архитектуры, используемые сейчас в мобильном мире: это архитектура ARM v5 и выше и x86.
Кроме того, для взаимодействия с теми или иными возможностями мобильного устройства (телефония, GPS, работа со встроенной камерой и т.п.) могут требоваться специальные разрешения. Для iOS они задаются непосредственно в процессе работы самого приложения, а для Android разрешения указываются при создании приложения. Требуемые разрешения указываются при разработке мобильного приложения и используются сборщиком мобильных приложений, но о сборщике - чуть позже.

Немного о платформе разработчика

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

Чтобы добавить новое приложение в платформу, нужно разместить XML-файл с его описанием на ресурсе, доступном с мобильного устройства по протоколу HTTP. Удобнее всего сделать это из Конфигуратора, через меню «Конфигурация \ Мобильное приложение \ Публиковать». При этом XML-файл с конфигурацией приложения размещается на веб-сервере на компьютере разработчика (соответственно на этом компьютере должен быть веб-сервер – IIS или Apache).

Если для приложения указать опцию «Перезапуск из конфигуратора», то приложение на мобильном устройстве будет автоматически обновляться с компьютера разработчика каждый раз, когда разработчик обновит размещенный на веб-сервере XML файл конфигурации.
При включенной опции «Отладка разрешена» возможна пошаговая отладка приложения на мобильном устройстве из Конфигуратора на компьютере разработчика (в Конфигураторе должна быть выбрана опция «Отладка по протоколу HTTP» в меню «Сервис \ Параметры»). Если в Конфигураторе поставить в коде точки останова и выбрать команду «Мобильное приложение – начать отладку», то мобильное приложение на устройстве остановится, когда исполняемый код дойдет до точки останова, и в Конфигураторе можно будет посмотреть значения переменных, стек вызовов и т.д.

Что умеет?

Итак, что умеет мобильная платформа? Достаточно много:)
Если не оперировать специфическими терминами «1С:Предприятия», то мобильная платформа предоставляет возможность работать с нормативно-справочной информацией, оформлять документы, описывающие какие-то внешние действия, просматривать отчеты, связываться с внешним миром с помощью интернет-сервисов и многое другое. Т.е. она предоставляет прикладному разработчику возможность написать достаточно функциональное приложение, например, программу учета домашних финансов, программу для выездной торговли и тому подобное.
Но кроме обычной функциональности, которая есть на платформе для персонального компьютера, мобильная платформа должна обеспечивать работу со специфическими возможностями, которые присущи только мобильным устройствам:
  • работа со звонками и журналом звонков;
  • работа с короткими сообщениями (SMS) и их списком;
  • контакты;
  • календари;
  • геопозиционирование (без прокладки маршрутов);
  • позволяет делать фотоснимки, а также осуществлять видео- и аудиозапись;
  • реагировать на изменение ориентации экрана;
  • работать с уведомлениями (локальными и PUSH, как напрямую, так и через специальный сервис-посредник);
  • сканировать штрих- и QR-коды с помощью камеры
  • Монетизация мобильных приложений (т.е. способ дать разработчику мобильных приложений возможности для дополнительного заработка):
    • Работа с сервисами покупок Apple In-App Purchase (для ОС iOS) и Google Play In-App Billing (для ОС Android), с помощью которых можно организовывать в мобильном приложении различного рода подписки, покупки функциональности и т.д
    • Показ рекламы в мобильных приложениях (пока поддерживаются сервисы iAd для ОС iOS и AdMob для ОС Android).
  • и т.д.
Понятно, что какие-то возможности могут быть недоступны на каждом конкретном устройстве, поэтому для определения того, что можно делать на том устройстве, на котором исполняется мобильное приложение, предусмотрены специальные методы, которые позволяют узнать, доступна на данном устройстве, например, возможность набора номера или нет. Таким образом, реализуется примерно такая схема использования: проверяем, можно использовать какую-то возможность или нельзя и если можно - используем:
Если СредстваТелефонии.ПоддерживаетсяНаборНомера() Тогда СредстваТелефонии.НабратьНомер(НомерТелефона, ВызватьСразу); КонецЕсли;
Спрятать от прикладного разработчика подробности об используемой мобильной ОС, предоставить ему унифицированные механизмы для использования мобильной функциональности – важная задача для нас. Мы считаем, что задача нами успешно решается. Различия в реализуемых механизмах или отсутствуют или сведены к минимуму. Кроме, конечно, случаев, когда функциональности в одной из ОС нет совсем.
Например, техника работа с PUSH-уведомлениями сильно отличается у Google и Apple. Мы приложили немало усилий, чтобы унифицировать механизм работы с PUSH-уведомлениями из прикладного кода. В случае мобильного приложения нам это удалось почти на 100%: один и тот же прикладной код на мобильном устройстве обрабатывает прием PUSH-уведомлений и на iOS, и на Android. И код рассылки PUSH-уведомлений в серверном приложении также выглядит одинаково. Но чтобы добиться такой унификации, нам пришлось разработать специальный сервер-прокси https://pushnotifications.1c.com/ , который скрывает от разработчика разную технику работы с сервисами Apple Push Notification Service (APNS) и Google Cloud Messaging (GCM). Вся разница заключается в разных настройках непосредственно на сайте-прокси https://pushnotifications.1c.com/ ; для работы c APNS на сайт нужно загрузить SSL-сертификат (который Apple выдает для приложения по заявке разработчика), для работы с GCM – указать уникальный идентификатор приложения.
Очевидно, что сразу невозможно реализовать все возможности, которые вы хотите иметь в мобильном приложении. И всегда приходится искать компромисс между несколькими очень полезными вещами. И если вам чего-то не хватает - пишите нам о том, какие бизнес-задачи (ведь платформа - это в первую очередь инструмент по реализации бизнес-задач!) у вас не получается решить и какой механизм помог бы вам для этого.

Как выглядит?

Графический интерфейс мобильной платформы – отдельная тема. В 1С:Предприятии, как известно, интерфейс описывается декларативно. Это, с одной стороны, накладывает некоторые ограничения на разработку UI (например, отсутствует возможность попиксельного позиционирования), но, с другой стороны, позволяет платформе единообразно отрисовывать интерфейс на экранах разного размера, в тонком и веб-клиенте. Этого же принципа мы старались придерживаться и в мобильной платформе. Насколько хорошо нам это удалось? Попробуем разобраться.
В первых версиях мобильной платформы (до 8.3.5 включительно) графический интерфейс приложений выглядел весьма привычно для искушенных пользователей 1С; фактически он переносил знакомый по «десктопным» версиям 1С интерфейс в мобильный мир. Но с точки зрения пользователей, ранее с 1С не знакомых, интерфейс выглядел несколько архаичным.
Учтя замечания и пожелания, мы коренным образом пересмотрели свой подход к мобильному интерфейсу в версии 8.3.6. Можно сказать, что мы сделали совершенно новый мобильный интерфейс для наших приложений. Он имеет много общего с нашим интерфейсом «Такси» . Модель разработки для разработчиков мобильных приложений соответствует модели разработки в «Такси». При этом мобильный интерфейс полностью соответствует принятым в мобильных приложениях подходам к дизайну и . Интерфейс полностью учитывает специфику мобильного мира: небольшой размер экрана (а значит, оформление графических элементов должно стать более аскетичным – без теней, градиентов), есть поддержка пальцевых жестов и т.д. Интересный факт: новый механизм платформы , отвечающий за размещение элементов в форме (layouter) оказался настолько удачным и своевременным для мобильной платформы, что был выпущен в ней раньше (в версии 8.3.6) чем в платформе для ПК (в версии 8.3.7), для которой он в первую очередь предназначался.
На картинке можно увидеть, как поменялся наш интерфейс.
Приложение «Управление небольшой фирмой» на версии мобильной платформы 8.3.5:


Оно же на версии 8.3.6:

А вот так выглядит интерфейс мобильной платформы вживую:

Сборщик - и что это за зверь?

Как уже было сказано ранее, мобильное приложение состоит из нескольких компонентов (собственно мобильная платформа, конфигурация, различные ресурсы), которые должны представлять собой единое целое для помещения приложения в магазин. Чтобы облегчить превращение компонентов в приложение, был разработан сборщик мобильных приложений. Это конфигурация (приложение), созданная на платформе «1С:Предприятие», которая хранит в своей базе данных все компоненты, необходимые для формирования мобильного приложения. Для того чтобы сборщик выполнял свою работу, нужно скачать и установить различные программные пакеты, которые нужны для его работы (Java и Android SDK и т.п.), затем указать пути к этим пакетам в настройках сборщика и задать некоторые дополнительные параметры (ключи разработчиков и т.д.).


После настройки сборщик готов к работе. В общем случае работа со сборщиком выглядит следующим образом:
  1. Загружаем версию мобильной платформы 1С, на которой будем собирать приложение
  2. Загружаем конфигурацию, из которой будем собирать мобильное приложение
  3. Создаем мобильное приложение, в котором указываем, для каких платформ (Android, iOS, Windows) надо выполнять сборку, какую конфигурацию и платформу следует использовать (в частности, указать, какой сертификат для сборки под iOS использовать в случае, если приложение работает с PUSH-уведомлениями).
  4. Выполняем «одним кликом» сборку мобильного приложения под все выбранные платформы
  5. «Другим кликом» отправляем собранные мобильные приложения в магазины приложений (если это приложение для iOS или Android). В магазины Windows Apps / Windows Phone Apps приложение нужно загружать вручную, т.к. Microsoft пока не предоставляет API для размещения приложения в магазине.
Следует отдельно отметить, что сборщик не нужен для разработки и отладки мобильного приложения. Для этого можно использовать мобильную платформу разработчика и средства Конфигуратора для передачи конфигурации на мобильное устройство. А вот для распространения мобильного приложения - нужен сборщик.

Приложения на мобильной платформе

Сама фирма «1С» выпускает на мобильной платформе ряд приложений, являющихся мобильными клиентами серверных приложений 1С (1С:Документооборот, 1С:Управление Небольшой Фирмой и т.д.). Эти приложения реализуют некоторое подмножество функциональности «обычных» клиентов. В случае мобильной версии «1С:Управление Небольшой Фирмой» функциональности достаточно для полноценного использования программы, и мы часто видели ситуацию, когда клиентам для ведения бизнеса достаточно мобильной версии приложения.
Наши партнеры используют мобильную платформу как для разработки тиражных мобильных приложений, распространяемых через магазины приложений, так и для заказных приложений, созданных по запросам конкретных клиентов. Среди тиражных приложений встречаются приложения, которые используют не 1С-ный back-end в качестве центрального хранилища данных.
Среди мобильных приложений, созданных по заказу клиентов, можно упомянуть мобильный клиент для «1С:Управления Производственным Предприятием», созданный по заказу крупного машиностроительного холдинга. Около ста сотрудников холдинга используют мобильное приложение в горячих цехах, где по соображениям техники безопасности поставить стационарные компьютеры невозможно. Встроенная камера мобильного устройства используется для чтения штрих-кодов изделий и поиска их в справочнике номенклатур, мобильное приложение позволяет понять, на каком этапе технологической цепочки находится данное изделие, отметить прохождение изделием очередной операции и т.п.

Заключение

Мы постарались очень поверхностно описать мобильную платформу, то, что она позволяет делать и почему она получилась такой, какой получилась. В данной статье практически ничего не сказано про мобильную Windows. На то есть несколько причин: во-первых, версия мобильной платформы под Windows вышла сравнительно недавно («1С:Предприятие» версии 8.3.7), во-вторых эта версия мобильной платформы не обладает какими-то существенными отличиями от реализации для других мобильных ОС. Естественно, что функциональность для ОС Windows мы будем наращивать. Равно как и наращивать функциональность мобильной платформы в целом. Так, в ближайших планах у нас – поддержка в мобильной платформе внешних компонентов; этот механизм (давно доступный в «большой» платформе), позволит разработчикам реализовать функциональность, недоступную в силу каких-либо причин в мобильной платформе.
Традиционно сильными сторонами технологической платформы «1С:Предприятие» являются легкость в освоении для разработчика и быстрота создания и модификации бизнес-приложений. Мобильная платформа 1С перенесла оба этих козыря в мобильный мир. Мобильная платформа 1С – это возможность быстро разработать приложение, работающее на трех самых массовых мобильных платформах (iOS, Android, Windows Phone / 8.1 / 10). А благодаря широкому спектру доступных платформенно-независимых средств интеграции (Web- и HTTP-сервисы и т.д.) мобильная платформа 1С - это возможность быстро создать мобильный клиент под три мобильные платформы для практически любого серверного приложения, поддерживающего любой из способов интеграции, доступных в платформе 1С (Web- и HTTP-сервисы, файловый обмен и т.д).

Только зарегистрированные пользователи могут участвовать в опросе. , пожалуйста.

28 сентября сего года фирма 1С без особого шума и пафоса выпустила ознакомительную версию платформы 8.3.2.163, которая была предназначена для тестирования. Полный список изменений и улучшений желающие могут прочитать или, если имеют подписку, .
Из перечисленных улучшений достаточно «вкусным» мне кажется «Мобильная платформа 1С: Предприятия 8», которая позволяет привычными средствами 1С создать приложение для мобильных операционок Android или iOS

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

То есть, говоря проще, можно свою написанную конфигурацию, скомпилировать в приложение под Android (.apk) или iOS (.zip). Затем всё это добро можно выложить в Google Play или AppStore. Правда, если программу под Андроид можно подписать созданным там же ключём сразу же в 1С, и она будет готова для публикации немедленно, то для публикации приложения в AppStore его сначала придётся собрать с помощью программы Xcode на компьютере с операционной системой Mac OS X. И, разумеется, для публикации в любом из этих магазинов нужна лицензия разработчика.
Звучит всё хорошо, и я, естественно, захотел опробовать новые функции в деле.

Создание мобильного приложения на 1С

Для этого нам понадобится новая версия платформы (), файл, который берётся , android SDK и JDK.
Предупрежу сразу: я сейчас не ставлю себе задачу показать процесс разработки чего-то конкретного на 1С, а просто хочу проверить и показать вам, что - да, мир сошёл с ума и на 1С действительно можно написать программку под Андроид.
Ну что ж, попробуем написать своеобразный «helloWorld» под гуглофон. Сделаем программу в тестовых целях - конфигурацию с одной общей формой, которую и вынесем на «рабочий стол».
Итак, создаём новую конфигурацию в управляемом режиме, и первое, что мы должны сделать, если пишем под мобильную платформу, это указать «Назначение использования» в свойствах самой конфигурации.

И здесь мы сразу обращаем внимание, что многие объекты конфигурации стали недоступны для использования. Мы уже не сможем использовать подсистемы, регламентные задания, XDTO-пакеты, Web- сервисы, отчеты, бизнес-процессы и многое другое. Также многие процедуры и методы для некоторых объектов оказываются недоступны. Это стоит учитывать при разработке.
Делаем «форму», создаём строковый реквизит с заголовком: «Привет, Хабр!» - и кидаем его на форму. Также создадим кнопку. В обработке нажатия напишем вывод сообщения, для примера.

&НаКлиенте Процедура Команда1(Команда) Предупреждение("Это работает!"); КонецПроцедуры

Для проверки работоспособности нам этого хватит, потому приступаем к самому интересному. Сохраняем конфигурацию в файл для мобильного приложения (Конфигурация->Мобильное приложение->Записать в файл), запускаемся в управляемом режиме, и запускаем обработку MobileAppWizard.epf. Этот файл лежит в архиве mobile.zip, который мы скачали в самом начале.
И вот нам предлагают заполнить первичные настройки, где все обязательные поля подчёркнуты красным.

Расположение мобильной платформы - каталог, в котором расположены файлы android.zip и ios.zip, необходимые для формирования поставки мобильного приложения. Они лежат всё в том же архиве mobile.zip.
Указываем папку, куда мы установили Android SDK (скачать можно ). 1С выставляет следующие требования:
Версия Android SDK Tools - не ниже 20.0.3;
Версия Android SDK Platform-tools - не ниже 14;
Версия SDK Platform - API 8 (не ниже версии 8.3).
И также нам нужен Java SDK (можно получить по этому адресу) Причем 1С предупреждает нас, что JDK7 не работает совместно с Android SDK.
Указываем папки, куда будет помещён наш.apk файл, место расположение ключа для подписи и псевдоним с паролем. Если вы делаете это впервые, и у Вас нет ключа, то можно заполнить «параметры ключа» и сформировать себе ключ (в таком случае в поле «файл ключа» вы должны указать папку, где этот ключ будет создан).
Нажимаем «ОК» и переходим ко второму окну.

В нём в первую очередь указываем «Конфигурацию моб.приложения» - тот самый файл, который мы сохранили. Затем язык, и только потом нажимаем на кнопочку с «лупой» и вводим там представление. Указываем « Идентификатор приложения» - уникальное имя Java-класса, которое будет использоваться в дальнейшем для выполнения обновления. Идентификатор должен обязательно быть написан на латинице, и 1С рекомендует начинать его название с «com.e1c.» Заполняем номер версии и сборки и жмём кнопку «Создать». Если всё пройдёт удачно, то система оповестит вас об успешном создании.apk файла.
Закидываем получившийся файл на телефон и устанавливаем любимым менеджером, предварительно разрешив в настройках системы установку сторонних приложений. Либо устанавливаем программу на эмулятор через adb. Скажу сразу: на эмуляторе всё ужасно тормозит, на телефоне же (проверял только на HTC Wildfire S) дела обстоят намного лучше, но всё равно проблемы есть. Например, у меня файл получился весом в целых 34 Mb, так что установка шла достаточно долго. После запуска нас приветствует экран заставки, и через некоторое время запускается сама конфигурация. (за фото извините: фоткал на калькулятор)

Пока новые возможности выглядят весьма «сыро»: ограничение функционала 1С, невозможность использования SDK напрямую, плюс большой размер и некоторые «тормоза»… Но сама возможность написать программу для мобильной платформы на 1С немного удивляет! Лично у меня двоякое мнение об этом. С одной стороны, эта «фича» пока больше похожа на игрушку, ибо отсутствует возможность сделать что-то по-настоящему стоящее. Но с другой стороны, это явно большой шаг компании 1С в сторону мобильности, и если данное направление будет активно развиваться, то это может принести немало пользы. Как пример - можно экипировать кладовщиков планшетами. Если будет возможность использовать «бортовые» камеры, то можно освободится от устройств считывания, и сканировать коды непосредственно с планшета, можно снабдить ими водителей машин, и посылать задания на перевозку или отслеживать маршрут автомобиля и время в движении. Вариантов, в общем-то, много, и то, что это всё будет в единой информационной системе, весьма порадует заказчиков/руководителей, ведь у них почему-то всегда присутствует панический страх перед использованием большого количества различных систем, они хотят использовать весь функционал на единой платформе.

Одним из основных отличий 8-ой версии программы 1С является открывшиеся возможности по работе с данными с мобильных устройств. Первоначально продукт, рассчитанный на работу из-под операционных систем Windows Mobile, носил название «Расширение для карманных компьютеров». Позже, конъюнктура рынка мобильных устройств, популярность Андроид систем и IOs устройств внесли свои коррективы, и появилась 1С Мобильная платформа.

Устройство мобильной платформы 1С

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

  1. Платформа;
  2. Конфигурация, XML-файл содержащий информацию о метаданных;
  3. Платформа и конфигурация, скомбинированные на устройстве, представляет собой мобильное приложение;
  4. Сборщик приложений для мобильных устройств.

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

Общение между мобильным приложением и основной базой данных может происходить через электронную почту, Web сервисы, посредством HTTP протоколов.

Несколько слов о конфигурировании

Для самостоятельной разработки мобильного приложения не требуется специфических знаний и дополнительных инструментов. Достаточно в Конфигураторе открыть новую базу для разработки.

Основная часть настройки состоит из двух шагов:

  1. В «Свойствах» конфигурации, в подменю «Назначение использования» необходимо установить флажок напротив «Мобильное устройство» (рис. 1);
  1. В связи с тем, что работа 1С на андроид устройствах требует предварительных разрешений, необходимо в Конфигураторе установить эти параметры. Рис 2

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

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

В некоторых случаях может выскочить ошибка «Не установлены модули расширения Web-сервера», тогда недостающие компоненты требуется доинсталлировать из файла поставки.

Размещение конфигурации на устройстве

Скачать мобильное приложение на устройство можно в том менеджере приложений, который поддерживается операционной системой. После запуска приложения в первый раз будет запущена установка базы (рис.3)

Рис. 3 Установка стандартного приложения

В случае, если на устройстве установлено несколько конфигураций, после запуска приложения будет доступно окно выбора базы данных (рис. 4).

Некоторые возможности этого окна:

  1. Нажав на кнопку «+» в правом верхнем углу экрана можно добавить новую конфигурацию;
  2. Долгое нажатие на название базы открывает окно свойств Рис.5, которое позволяет изменить некоторые свойства базы, а так же удалить её из списка;

  1. В окне свойств можно разрешить отладку базы и задать адрес сервера хранения отладочной конфигурации;
  2. Нажав кнопку «Администрирование» можно вызвать окно тестирования базы, для устранения большинства ошибок.

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

Здесь уже представлены формы документов, справочников и отчетов, которые можно запустить на устройстве. Кроме этого в подменю «Сервис» можно вызвать настройки текущей базы, либо вызвать список установленных приложений.

Сборщик приложений

До тех пор, пока Вы как разработчик пользуетесь базой и возможностями мобильного приложения 1С, необходимости в использовании Сборщика у Вас, скорее всего, не возникнет. В тот момент, когда Вы самостоятельно захотите создать мобильное приложение 1С и распространять его через магазины приложений Google, Apple и Windows Apps, без конфигурации «Сборщик мобильных приложений», Вам просто не обойтись. Именно эта оболочка позволяет собрать в единое целое платформу и конфигурацию для мобильников.

Дополнительно придется установить несколько программных пакетов (Java SDK, Android SDK и, возможно, некоторые другие), без которых корректная сборка для различных операционок просто невозможна.

Последовательность действий при работе со Сборщиком в общем виде следующая:

  1. Загружается мобильная платформа;
  2. Загружаем созданную или переработанную конфигурацию;
  3. Непосредственно создаем мобильное приложение, для тех платформ, на которых предстоит работать.

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

Разработка мобильных приложений всегда ассоциируется с необходимостью изучения дополнительных технологий. А что если пересмотреть вопрос и воспользоваться уже знакомыми инструментами?

Впервые фирма «1С» попыталась выйти на рынок мобильной разработки в 2006 году. В то время был настоящий ажиотаж на автоматизацию работы удаленных сотрудников при помощи КПК. Новые программы для решения подобных задач появлялись как грибы и такой вендор как «1С» с успешными продуктами для автоматизации разных сфер бизнес не мог упустить шанс выйти на прибыльный рынок.

К середине 2006 года компания представила релиз нового продукта с многообещающим названием «1С:Предприятие 8. Расширение для карманных компьютеров». У разработчиков 1С, разглядевших перспективы 8-й платформы появилась надежда, что теперь на одном инструменте без особого труда стало возможным выполнять разработку под популярную в те годы мобильную операционную систему «Windows Mobile».

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

Да, были всевозможные обходы ограничений, но даже они не позволяли по-настоящему развернуться. Помимо технических ограничений, потребители ощутили серьезный финансовый барьер. Компаниям, решившим внедрить решение от «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 » и в свойстве «Назначение использования» укажем «Мобильное устройство ». Обратите внимание, выполнив последнее действие, некоторые узлы дерева конфигурации станут неактивными. К сожалению, воспользоваться всеми объектами метаданных на мобильной платформе не получится.

Для решения нашей задачи, в дереве конфигурации нам потребуется создать несколько объектов метаданных:


Процедура ДобавитьЗадачу(Задача) Экспорт МенеджерЗаписи = СоздатьМенеджерЗаписи(); МенеджерЗаписи.Период = ТекущаяДата(); МенеджерЗаписи.Задача = Задача; МенеджерЗаписи.Статус = Задача.Статус; МенеджерЗаписи.Записать(); КонецПроцедуры

Листинг 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-сервер (в нашем окружении он должен быть один) и каталог для хранения настроек.

Указав в качестве имени «todo-mobile », приложение будет доступна по адресу – «http://host/todo-mobile ». Нажимаем «ok» и попробуем обратиться к опубликованному приложению с помощью браузера. В случае успеха, сервер отдаст XML-код созданной конфигурации.

Возвращаемся к эмулятору и загрузим в него приложение с мобильной платформой разработчика. Сам файл приложения доступен вместе с поставкой мобильной платформы разработчика и называется «1cem-arm.apk». Для установки этого приложения в эмуляторе воспользуемся утилитой «adb.exe » из директории «platform-tools »: adb.exe install –r 1cem-arm.apk .

После успешной установки, открываем в эмуляторе список приложений и запускаем мобильную платформу разработчика. В открывшемся окне нажимаем «Add application » и в поле «адрес» указываем URL к нашему web-серверу. У меня это http://192.0.168.106/todo-mobile . Нажимаем «Add » и наша конфигурация успешно перемещается на мобильную платформу. Приложение готово к работе. Протестируйте результат и возвращайтесь в конфигуратор, самое время снабдить приложения «мобильным функционалом».

Отправка SMS/MMS сообщений

Функции для работы с SMS/MMS сообщениями мобильными платформами поддерживаются по-разному. Например, при работе приложения на Android, у разработчика есть возможность оформить подписку на SMS и получать доступ к новым сообщениям сразу после получения. Увы, но на iOS эта же возможность отсутствует, поэтому во время разработки документация должна быть под рукой.

Для отправки SMS сообщений предусмотрен объект SMSСообщение . Рассмотрим пример:

&НаКлиенте Процедура ОтправитьSMSСообщение(Получатель, ТекстСообщения) НовоеСообщение = Новый SMSСообщение(); НовоеСообщение.Текст = ТекстСообщения; НовоеСообщение.Получатели.Добавить(Получатель); СредстваТелефонии.ПослатьSMS(НовоеСообщение); КонецПроцедуры

Код достаточно простой и вряд ли нуждается в комментариях. Теперь посмотрим на оформление подписки на входящие сообщения:

&НаКлиенте Процедура ПодключитьОбработчикПолученияСообщений() ПодпискаНаСообщения = Новый ОписаниеОповещения(«ОбработкаНовыхСообщений», ЭтотОбъект); СредстваТелефонии.ПодключитьОбработчикSMSСообщений(ПодпискаНаСообщения); КонецПроцедуры &НаКлиенте Процедура ОбработкаНовыхСообщений(Сообщение, ДополнительныеПараметры) //Обработка нового сообщения //Сообщение.Отправитель, Сообщение.Текст; КонецПроцедуры

Процедура «ОбработкаНовыхСообщений » будет вызываться каждый раз при получении новой SMS. Через параметр «Сообщение » передаётся объект типа «SMSСообщение » и мы без труда можем получить текст сообщения и информацию об отправителе.

Работа с MMS сообщения выполняется аналогичным образом. Сначала мы создаем SMSСообщение, а потом добавляем к нему вложение (например, изображения). Таким простым действием SMS превращается в MMS:

НовоеСообщение= Новый SMSСообщение(); Вложение = Новый MMSВложение; Вложение.Данные = Картинка; Вложение.ТипСодержимого = "image/jpeg"; MMSСообщение.Вложения.Добавить(Вложение);

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

Программное совершение звонка осуществляется с помощью метода «НабратьНомер» глобального объекта «СредстваТелефонии». Перед вызовом метода крайне желательно проверить возможность совершения звонка:

Если СредстваТелефонии.ПоддерживаетсяНаборНомера() Тогда СредстваТелефонии.НабратьНомер(НомерТелефона, ВызватьСразу); КонецЕсли;

Параметр «ВызватьСразу » влияет на выполнение набора номера. Когда она равен «Истина », набор номера выполняется автоматически через стандартное приложение совершения звонков. При значении «Ложь» пользователь также увидит стандартный интерфейс приложения набора номера, но для совершения вызова потребуется нажать кнопку «Вызвать ».

Журнал звонков

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

ЖурналЗвонков = СредстваТелефонии.ПолучитьЖурналЗвонков(); Отбор = Новый ОтборКомпоновкиДанных; ЭлементОтбора = Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«ТипЗвонка»); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанныз.Равно; ЭлементОтбора.ПравоеЗначение = ТипЗвонкаЖурналаЗвонков.Пропущенный; ЭлементОтбора.Использование = Истина; СписокЗаписейЖурналаЗвонков = ЖурналЗвонков.НайтиЗаписи(Отбор); //В СписокЗаписейЖурналаЗвонков будет коллекция записей

Геопозиционирование

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

//Предоставим выбор провайдера платформе ИдеальныйПровайдер = СредстваГеопозиционирования.ПолучитьСамогоТочногоПровайдера(); Координаты = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(ИдеальныйПровайдер); //Если координаты получали давно, то обновляем Если Координаты = Неопределено ИЛИ ТекущаяДата() – Координаты.Дата > 3600 Тогда СредстваГеопозиционирования.ОбновитьМестоположение(ИдеальныйПровайдер, 60); Координаты = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(ИдеальныйПровайдер); КонецЕсли;

Работа с мультимедийными функциями

Разработчику доступна возможность делать снимки, видеозаписи, аудиозаписи средствами встроенного языка: СделатьФотоснимок (), СделатьВидеозапись (), СделатьАудиозапись ().

Под какую мобильную ОС лучше разрабатывать на 1С?

Несмотря на мою любовь к технике Apple, создавать мобильные приложения средствами платформы 1С лучше всего под Android. Причин тут несколько, но самая главная из них – поддерживаемые функции. К сожалению, под iOS многие нужные вещи не поддерживаются. Например, отсутствие возможности ставить программную подписку на SMS сообщения или взаимодействовать с журналом звонков – могут сделать невозможным реализацию некоторых идей. Android в этом плане более дружелюбен. Не стоит также забывать о стоимости самих устройств. Не каждая компания будет готова разориться на приобретение мобильных устройств от Apple.

Вместо завершения

Платформа «1С:Предприятие 8 » на практике доказала о своей готовности стать простым инструментом для разработки корп. Приложений под мобильные платформы. Рассмотренные в статье примеры – лишние тому подтверждение. Вовсе необязательно тратить ресурсы на изучение нативных инструментов, если функционал приложения укладывается в возможности мобильной платформы и в компании доминируют продукты фирмы «1С».

В продолжение темы:
Интернет

В нашу тестовую лабораторию попали два смартфона от компании Highscreen серии Alpha , а именно старшая и младшая модели GTR и GT .Несколько дней назад мы подготовили обзор на...

Новые статьи
/
Популярные