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

Добрый день, уважаемые читатели, предлагаем Вашему вниманию небольшую статью по созданию простого мобильного приложения на базе мобильной платформы 1С: Предприятия под Android без компиляции в apk-файл.

Для начала вкратце определимся с основными понятиями и софтом, который нам понадобится для разработки.

1.Основные понятия

Мобильная платформа - инструмент, позволяющий реализовать приложения, функционирующие на мобильных устройствах под управлением операционных систем iOS, Android, Windows Phone.

Мобильное приложение - является конечным результатом разработки. Устанавливается на мобильное устройство и имеет возможность обмена информацией с основным приложением в режиме Off-line. Для обмена доступны следующие каналы передачи информации: Файловый обмен, электронная почта, Web-сервисы и т.п.

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

2.Настройка программного обеспечения

2.1 Установка Web сервера

Для начала установим Web сервер. Работа возможна как с Internet information services от Microsoft так и с Apache . В нашем примере будем рассматривать Apache поскольку он более прост в настройке и стабилен в работе.

При помощи клавиши «Next» переходим к следующему окну:

В поля «Network Domain» и «Server name» впишем «localhost » (или 127.0.0.1). Это значит, что сервер будет работать на локальном компьютере.

В поле « Administrator s Email Address » укажем почтовый адрес, на него будут приходить ответы сервера.

По умолчанию Apache работает с 80 портом. С этим же портом по умолчанию работает множество популярных программ, например TeamViewer , Skyp e , которые в дальнейшем не дадут запустить Apache . Есть 2 варианта решения данной проблемы, отключить использование данного порта в этих программах, либо поменять порт у Apache .

Чтобы выяснить какие программы занимают 80 порт необходимо запустить cmd.exe (нажать Пуск - вбить в поиск cmd - нажать правой кнопкой «Запустить от имени администратора») в появившемся окне ввести команду netstat -ab .

На скриншоте видим, что 80 порт занят Skype.

Оставим порт по умолчанию 80. Нажимаем «Next» выбираем типовую установку. Нажимаем «Next» , меняем каталог установки если потребуется, в следующем окне нажимаем «Install , после чего запустится процесс установки.

После окончания установки в системном трее появится иконка , если кликнем по ней два раз, откроется следующее окно:

Если все же возникли проблемы со стандартным портом его всегда можно поменять вручную, для этого нужно зайти в папку где установлен Apache , выбрать папку «conf» , в ней открыть файл «httpd.conf ». В нем найти параметр «Listen» и поменять его значения на нужный Вам порт, например 8080.

После изменения номера порта сохраняем файл и перезапускаем Apache . Для этого в трее щелкаем по значку

левой кнопкой мыши в появившемся меню выбираем «Restart ».

Убедимся в работоспособности Web сервера, зайдем в браузер и в поле ввода адреса укажем http://localhost:8080/ (где 8080 порт, который мы установили) на экране должна появиться следующая страница:

2.2 Настройка платформы

Для успешной работы необходимо, что бы были установлены следующие компоненты:

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

Скачиваем мобильную платформу с сайта 1С https://users.v8.1c.ru/ . В нашем примере используется версия 8.3.8.70.

Скаченная платформа представляет собой архив, который состоит из следующих папок:

  1. Android - содержит в себе файлы для сборки под Android;
  2. iOS - содержит в себе файлы для сборки под iPhone;
  3. Windows - содержит в себе файлы для сборки под Windows Phone;
  4. MobileAppMaker - содержит в себе файлы конфигурации «Сборщик приложений».

Поскольку разработку приложения Мы будем вести для устройства под управлением ОС Android, то нас интересует первый каталог.

Посмотрим его содержимое:

  • 1cem-arm.apk - мобильная платформа разработчика для архитектуры ARM, наиболее часто используемая;
  • 1cem-x86.apk - мобильная платформа разработчика для архитектуры x86, используется для процессоров от Intel;
  • prjandroid-arm.zip - мобильная платформа, предназначенная для сборки мобильных приложений (для архитектуры ARM);
  • prjandroid-x86.zip - мобильная платформа, предназначенная для сборки мобильных приложений (для архитектуры x86).

Установим мобильную платформу на устройство, для этого скопируем в память телефона файл «1cem-arm.apk» либо если Ваше устройство использует процессор Intel, «1cem-x86.apk».

Зайдем в диспетчер файлов на мобильном устройстве, найдем наш файл и запустим его

При установке может возникнуть сообщение о блокировке приложений не полученных из Play Store.

В таком случае нужно нажать кнопку «Настройки » и в появившемся окне установить флажок «Неизвестные источники »

и повторить установку.

2.4 Настройка конфигурации

После того как все программное обеспечение настроено приступим к разработке нашего мобильного приложения. Создадим новую информационную базу и зайдем в неё в режиме конфигурирования.
Заходим в меню Сервис -> Параметры и расставим галочки как показано на скриншоте:

У вас есть вопрос, нужна помощь консультанта?

Далее вызываем свойства корневого узла конфигурации и устанавливаем параметр «Назначение использования» как «Мобильное устройство», флаг «Персональный компьютер» убираем. После этого станут доступны объекты мобильного приложения. Часть объектов конфигурации станет недоступна.

2.5 Публикация конфигурации приложения

Следующим шагом осуществим перенос конфигурации на телефон. Для это в первую очередь создадим каталог, путь к этому каталогу должен быть коротким, не содержать пробелов и состоять только из латиницы, например C:\MobileApp. Далее заходим Конфигурация -> Мобильное Приложение -> Публиковать . В появившемся окне заполним параметры:

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

Убедимся, что все работает, зайдем в браузере по адресу http://localhost:8080/Mobapp/ , мы должны увидеть следующий xml-файл:

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

Нажимаем кнопку загрузить, после загрузки должно появиться следующее окно настроек:

Устанавливаем параметры:

  • «Перезапуск из конфигуратора » - Приложение будет автоматически обновляться когда будет обновлен размещенный на веб-сервере XML файл конфигурации.
  • «Отладка разрешена » - возможна пошаговая отладка приложения на мобильном устройстве из Конфигуратора на компьютере разработчика. Нажимаем кнопку «OK ».

В случае если после нажатия кнопки «Загрузить » возникнет подобная ошибка:

Теперь наша база добавлена на мобильном устройстве, и мы можем её запустить, нажимаем на неё в списке выбора баз. Появившееся окно пустое, поскольку мы еще не добавили ни одного объекта метаданных. Приступим к разработке.

  1. Настройка обмена между ЦБ и мобильным приложением

Предположим, что у нас есть некая база-источник, которая содержит только один справочник: «Номенклатура». И она должна обмениваться информацией с нашим мобильным приложением.

Перейдем в конфигуратор мобильного приложения, создадим иерархический справочник под названием «Номенклатура». Добавим форму списка.

Зайдем в рабочую область начальной страницы и добавим туда форму списка справочника «Номенклатура», параметр «Шаблон начальной страницы» установим как «Одна колонка».

Нажмем кнопку «Обновить », приложение в телефоне должно обновится автоматически. Если нет, то выводим на панель кнопку и нажмем её. На экране должно появиться следующее окно:

Следующим шагом создадим новую ИБ. В неё добавим справочник «Номенклатура», структура которого будет полностью повторять справочник «Номенклатура» мобильного приложения. Данная база будет выступать в роли Источника.

Создадим новый Web-сервис, назовем его «MobileExchange». В свойствах установим URI пространства имен «MobileExchange». В данном Web-сервисе добавим новую операцию и называем её «ЗагрузитьТовары»

Теперь напишем код, который будет возвращать список товаров из базы источника в виде xml файла. Зайдем в свойства операции «ЗагрузитьТовары» и создадим новую функцию из поля «Имя метода ». В функции пропишем следующий код:

Опубликуем Web-сервис, для этого перейдем Администрирование ->Публикация на Web -Сервере . В появившемся окне зададим имя Web-сервиса «MobileExchange» и снимем галочку «Публиковать тонкий клиент и Web-клиент». После этого нажмем кнопку «Опубликовать ».

После публикации Web-сервиса, перейдем в конфигурацию мобильной платформы, откроем форму списка справочника «Номенклатура» и добавим новую команду «Обновить номенклатуру» в командную панель формы. Перед этим рекомендуется снять галочку «Автозаполнение » у данной панели.

Создаем у команды «Обновить номенклатуру» новое действие и пишем следующий код:

Обновляем конфигурацию.

На этом разработка завершена. Переходим в пользовательский режим конфигурации Источника и заполняем справочник номенклатура произвольным образом

Переходим в мобильное устройство, запускаем приложение, и нажимаем кнопку «Обновить номенклатуру». Если все сделано верно, то на экране должны появиться данные:

Заключение

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

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

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

Установка веб сервера Apache

1. Скачиваем скомпилированные файлы веб сервера Apache, весрии 2.2 (На момент написания, платформа 1С могла работать, только с указанной версией). Выбрать, откуда скачать, можно по адресу: https://httpd.apache.org/docs/current/platform/windows.html#down раздел «». Например, используем сайт «ApacheHaus » и скачиваем архив в зависимости от разрядности вашей операционной системы.

Скачанный архив распаковываем, по пути: «C:\Apache22», убедитесь, что порт 80 на вашем компьютере свободен и не занят другим приложением. Далее с помощью «Командной строки» (запущенной от имени администратора) переходим в каталог «C:\Apache22\bin» и выполняем команды:

Httpd -k install

Httpd -k start

После этого, будет установлена и запущена служба «Apache2.2», проверить которую можно в браузере, по адресу: http://127.0.0.1/ но вместо 127.0.0.1 используйте IP адрес вашей сетевой карты, через которую будет происходит обмен данными, с разработанным мобильным приложением 1С.
Если установка прошла успешно, будет выведена информация о сервере и надпись «It works!».

В папке с исполняемыми файлами веб сервера, находится приложение «ApacheMonitor.exe », которое служит удобной утилитой для остановки и перезапуска сервера. Ссылку на данное приложение помещаем в автозагрузку операционной системы, например, в папку:

C:\Users\[ИмяПользователя]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Установка мобильной платформы для разработчиков 1С

2. Скачиваем и распаковываем архив с мобильной платформой для разработчиков 1С, с доступных вам адресов:
https://users.v8.1c.ru/distribution/total , http://online.1c.ru/catalog/free/18610155/ , http://its.1c.ru/ , либо с торрент трекеров.
В папке «Android» находятся APK файлы (1cem-arm.apk и 1cem-x86.apk ), выберите нужный тип (arm либо x86 (Intel)) в зависимости от того какая архитектура используется в процессоре вашего устройства.
Установите приложение на ваше устройство, перед этим включите разрешение на установку из неизвестных источников (Настройки – раздел «Безопасность»).

Создание конфигурации для мобильного приложения

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

Создайте общую форму и поместите на нее «Декорация — Надпись» с текстом «Привет мир» и команду «НажмиМеня», с обработчиком:

&НаКлиенте Процедура НажмиМеня(Команда) Сообщить("Привет Мир!!!"); КонецПроцедуры

После, откройте «Параметры» (Сервис — Параметры) и выберите вкладу «Отладка», установите настройки согласно скриншоту:

Проверка настроек брандмауэра

4. Проверьте настройки брандмауэра, порты 80 и 45455 по протоколу TCP, должны быть доступны. На домашнем компьютере использую «ESET Smart Security», версии 9, для него необходимо зайти в «Дополнительные настройки», выбрать раздел «Персональный файервол», далее подраздел «Основное» и «Изменить» правила.

Проверьте на мобильном устройстве доступ к веб серверу Apache и отладчику 1С, для этого в браузере используйте IP адрес сетевой карты, через которую идет обмен данными с разработанным мобильным приложением 1С, примеры адресов: http://192.168.0.96 и http://192.168.0.96:45455

Настройка мобильного приложения 1С

5. Откройте мобильную платформу на устройстве Android и добавьте новое приложение, настройте как показано на скриншоте (используйте свой IP адрес):

Тестирование мобильного приложения 1С

6. Тестируйте ваше 1С мобильное приложение «Привет мир». Дополнительно, попробуйте поставить точку останова в процедуре обработки нажатия кнопки.

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

Мобильная платформа 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С:Предприятия 8» — это название технологии, которая позволяет разрабатывать решения, работающие на смартфонах и планшетах Google Android или Apple iOS. Важным преимуществом платформы «1С» является то, что решения разрабатываются в одном варианте для обоих мобильных операционных систем и затем просто экспортируются для Android и для iOS без какой-либо дополнительной модификации и написания платформенно-зависимого программного кода.

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

Пример мобильного клиента для СЭД «Корпоративный документооборот» созданный на мобильной платформе «1С:Предприятие 8.3»

Платформой поддерживается скачивание и развертывание приложений пользователями на их устройствах из магазинов App Store или Google Play. Дистрибутив при этом содержит все компоненты, необходимые для начала работы.

На базе мобильной платформы «1С» могут быть созданы различные решения, но основным вариантом решений являются мобильные off-line клиенты для учетных систем. Такие решения предназначены для поддержки мобильных пользователей в удаленных рабочих местах. Обмен данными при этом производится посредством регулярной синхронизации с центральной базой данных. Обмен данными возможен посредством следующих механизмов:

  • Web-сервисы
  • Файловый обмен
  • Электронная почта
  • и другие механизмы
    Альтернативным вариантом может являться работа в онлайне в режиме веб-клиента.

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


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

Обновление 12.08.2012 или 1С отжигает.

Добрый день. 1С обновила мобильную платформу до 8.3.3.30.

Началось веселье, ибо гугл тоже решила обновить СДК.

Что надо сделать что бы все работало.

1. Имя базы не указывается - лезим в конфигуратор и делаем поле открытым для редактирования.

3. Лезем в менеджер СДК и качаем СДК 17. Без нее работать не будет.

4. Лезем на сайт dl-ssl.google.com/android/repository/tools_r20-windows.zip, разорхивируем в папку SDK, ищем там вначале папку tools, переименовываем ее, и сливаем в новую папку tools архив.

5. Изменения сделанные в обработке - прикрепил к шапке.

Обновление 06.06.2013

Объеденившись интелектом с serg_gre, установили как можно писать конфу под мобильное приложение, при этом не заморачиваясь с компиляцией.

Идея какая - по сути есть 2 вида апк файлов (это те которые установочные для телефона):

1. это скомпилированный файл, который вы сами компилите, и следуете инструкциям в этой статье. После компиляции - вы получаете конфу, и теперь можете с ней работать, однако, если вы хотите что то переделать -то вам прийдется все перекомпилировать и переустанавливать.

2. Это начальный апк, который лежит в архиве mobile8.3.3.24Android1cem.apk, и его фишка в том, что вы можете сами прописывать туда разные пути к конфигурациям. И оно автоматом будет обновлять базу при подключении к серверу.

И так, это НАМНОГО удобней. Как это сделать?

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

Вместо публикации базы в привычном нам режиме, мы в конфигураторе жмем - Конфигурация - Мобильное приложение - Публиковать .

Ясное дело - указываем имя базы (я думаю тут нет смысла говорить о том, что оно должно отличаться от имени публикации веб доступа) и жмем опубликовать. Допустим мы ей дали имя InfoBase .

Для этого заходим на 127.0.0.1/InfoBase . Обратите внимание, без всяких там wsdl и так далее. Если мы видем хмл схему - значит все ок.

После этого все будет круто. Обратите внимание, что так идет обновление только конфигурации, а не данных.

Остался один вопрос, от того же наблюдательного serg_gres:

В конфигураторе - в меню Отладка - Начало отладки - Мобильное приложение.

Вопрос - что это за зверь? Если кто знает, добро пожаловать в камменты.

Может и все про это знали, но как обычно, то что на виду - многие не видят:)

Обновление 30.05.2013

Вышла новая версия платформы - 8.3.3

Хотелось бы выделить некоторые особенности и изменения в ней.

Лицензия:

Лицензирование мобильной платформы и мобильных приложений

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

Мобильные приложения, разработанные пользователями и партнерами на платформе «1С:Предприятие 8.3», в настоящее время разрешается распространять без оплаты фирме «1С», если количество распространяемых копий не превышает 50. Для распространения большего числа копий требуется согласование с фирмой «1С».

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

От себя хочу выделить несколько особенностей, которые мне поравились:

На мобильной платформе стало возможно:

  • Устанавливать тайм-аут при взаимодействии с сетевыми ресурсами;
  • Указывать в именах пользователей или паролях не только символы ASCII;
  • Формировать URL (и получать значения из него) в соответствии со стандартом RFC 1738 (http://www.ietf.org/rfc/rfc1738.txt) в том случае, если в URL добавляется произвольный текст;
  • Программно формировать HTTP-запрос и обрабатывать ответ, взаимодействовать с REST-сервисами.
На мобильной платформе стало возможно:
  • Получать срезы первых/последних на самый первый и самый последний (текущий) моменты времени с большей скоростью.
На счет визуальных изменений - стало намного приятней работать. Т.е. кнопки и иконки стали подстраивать под размер экрана, теперь в них реально попасть. Субъективно - стало быстрее работать, меньше тупить.

Однако остались и всякие мелочи. Например - информация в поле ввода - сдвинута вверх, не сильно, но бросается в глаза.

При открытии справочника - наименование стоит нормально, а картинка реквизита насдвинута сильно вверх, что очень бесит:) Хотя это может так и задуманно. Создал отчет на СКД - он у меня в мобильном приложении не появился.

Установленная версия программы съедает 118 метров памяти телефона.

Добро пожаловать на форум:)

Первая версия статьи

1С выпустила новую платформу 8.3.2, особенностью которой является возможность разработки конфигурации под мобильные платформы. Суть в том, что после всех манипуляций вы получаете готовые пакеты.apk (для Android) и.zip (для iOS).

Основная идея в том, что это может сделать программист 1С, и полностью контролировать разработку. Этот файл вы можете разместить на Google Play или на AppStore, и его смогут качать люди.

Основные возможности описаны тут http://v8.1c.ru/overview/Term_000000818.htm.

Под андроид файл.apk весит от 38Мб. Тут стоит обратить внимание на то, что он все эти мегабайты грузит в память телефона, таким образом, если у вас на памяти телефона не доступно около 50Мб, то установить вы его не сможете J.

Давайте приступим к самому интересному, а именно - попробуем создать свою конфигурацию. Для этого вам надо обновить платформу до 8.3.2, и скачать файлик http://users.v8.1c.ru/getdist.jsp?path=mobile/8_3_1_20/mobile.zip.

Его разархивируем в какую-нибудь папочку, далее нам надо установить Android SDK и Java SDK.

В разделе Java Platform, Standard Edition жмете JDK Download , ставите галку, что принимаете лицензионное соглашение и скачиваете файл соответственно Вашей операционной системе. С установкой проблем возникнуть не должно. После этого желательно перезагрузиться. Обратите внимание - джава должна быть 1.6! На 1.7 все скомпилиться, но работать не будет:)

Android SDK включает в себя инструменты, необходимые для разработки Android-приложений. Рекомендуется скачивать EXE-шник, но я предлагаю скачать ZIP-версию и самим распаковать в какой-нить удобный для вас каталог (если нет ссылки на ZIP, нажмите ссылку Other Platforms).

Учтите, что это должен быть каталог "на векА". И лучше его не перемещать никуда, иначе придется перенастраивать среду разработки. Предлагаю где-нибудь создать каталог Android. Крайне желательно, чтобы путь к нему был коротким. Идеально - :android. Для себя запомним этот каталог под псевдонимом. И в него распакуем наш архив SDK, получим android-sdk-windows .

Потом заходим туда, и убедимся в том, что у нас скачена платформа Android 2.2 - раскрываем плюсик - SDK Platform, если не установлен, то ставим галочку и инсталим.

Обратите внимание - синоним и комментарий - должны быть пустыми, так как потом не адекватно сработает парсер. Спасибо обществу за бдительность:)

После этого, разархивируем архив, который скачали в папку с адекватным наименованием.

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

Тут все немного весело - вначале выбираем файлик, который сохранили, далее выбираем язык, потом нажимаем на лупу, на представлении приложения - пишем представление.

Если язык выбрать нельзя - значит у вас есть комментарий или описание в конфигурации. Читай выше.

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

Тут все не менее весело, в расположении мобильно платформы указываем адрес распакованного архива, т.е. верхнюю папку, в которой лежат еще папки для Андроида и iOS.

Выбираем куда у нас будет записан результат.

А вот с ключем веселье. Надо понимать, что это важный файл, если вы ранее опубликовали приложение на маркете под одним ключем, то в случае утери - будет веселье. Но мы пока оставим это. И так, так как ключа у нас нету, то его нужно создать, для этого мы указываем по сути Логин и Пароль ключа, далее данные о себе и формируем ключ, потом выбираем его и жмем ОК, если все нормально, то появится окно консоли, в котором будут описываться стадии операции. После всего этого - вы получите файлики, которые можно скачать себе на телефон и установить.

Обратите внимание, что для установки надо отключить функцию Установка только с известных источников.

И на последок ньюансы:

При разработке мобильного приложения необходимо учитывать ограничения, которые

накладывает мобильная платформа по сравнению с платформой «1С:Предприятие» для

персонального компьютера:

  • Ограниченный перечень доступных объектов конфигурации и механизмов;
  • Ограниченный набор свойств реквизитов;
  • Ограниченный набор элементов управляемых форм;
  • Упрощенная реализация некоторых механизмов (например, динамический список или рабочий стол);
  • Отсутствие обычных форм и обычного режима запуска;
  • Отсутствие средств отладки мобильного приложения;
В двух словах - это делать так.

Приложу пару снимков созданной конфы. Не забывайте, что для тестов, если нету андроида - можно скачать http://bluestacks.com/. Выглядит оно там конечно убого, но для начала и так сойдет.

Если возникли вопросы - добро пожаловать в камменты.

Вот тут можно скачать на Андроид тестовую конфу от 1С

https://play.google.com/store/apps/details?id=com.e1c.mobile.orders&feature=search_result.

Появилась уже и для УНФ конфа, скачать можно по ссылке:

https://play.google.com/store/apps/details?id=com.e1c.MobileSmallBusiness

Однако она пустая, т.е. готовая для работы с вашей базой.