1с создать мобильное приложение. Мобильный клиент: установка, отладка, сборка под Android". Приложения на мобильной платформе

Думаю все уже слышали, о новых возможностях нового релиза 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

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

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

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

Я предполагаю, что Вы знакомы с установкой мобильного приложения и сборщиком мобильных приложений, а также, что у Вас уже установлен Android SDK, Apache Ant и прочее. Статей на эту тему уже полно.

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

Мобильный клиент - это аналог веб-клиента, поэтому, для доступа к базе, ее необходимо опубликовать на веб-сервере. Здесь все стандартно, я публикую на веб-сервере IIS с именем “demo”. База у меня файловая, так что нужно дать права на каталог пользователю IUSR. Радует, что система сама об этом напомнила.

Подключаем базу в мобильном клиенте:

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

А вот список контрагентов:

Конечно же, это не все места, которые необходимо адаптировать под работу мобильного клиента. Проверить конфигурацию можно с помощью «Главное меню - Конфигурация - ---Проверка конфигурации»:

У меня нашлось 84 ошибки, включая неподдерживаемые объекты метаданных. Плюс те три места в коде, которые я уже ограничил директивами. Так что придется еще поработать над адаптацией, но это конечно не то же самое, что писать мобильное приложение с нуля.

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

Если мы не понимаем в чем же ошибка - нам поможет отладка. Она в мобильном клиенте есть, но используется только отладка по HTTP. У меня база файловая, так что я воспользуюсь локальным сервером отладки («Сервис - Параметры - Отладка») и настрою автоматическое подключение для мобильного клиента («Отладка - Подключение - Автоматическое подключение»):

Указываем параметры и готово:

Настройка для предварительно подготовленного apk клиента от 1С завершена.

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

И так, имеем архив мобильной версии платформы. Загружаем его в справочник «Мобильные версии»:

В настройках сборщика отдельно появился пункт для SDK 26 и выше (кто, как и я, давно не обновлял - запускаем SDK Manager и загружаем новые пакеты):

Далее необходимо подготовить файл конфигурации. Вот с этим шагом у меня и были проблемы в самом начале. Потом я открыл документацию и все немного прояснилось. Руководство разработчика говорит по этому поводу следующее: «Каждая конфигурация, которая может работать в мобильном клиенте, содержит некоторую вспомогательную информацию, позволяющую отследить подмену конфигурации».
Файл конфигурации необходимо подписать. При этом для каждой конфигурации формируется свой закрытый ключ, а в файл 1cemca.xml выгружается открытый ключ (поле DSAKey), с помощью которого и сравнивается подпись конфигурации.

Чтобы сформировать ключ и подпись, заходим в свойства конфигурации «Подпись мобильного клиента» (сразу под требуемыми разрешениями, если у Вас свойства разделены по категориям, а не по алфавиту) и видим настройки подписи:

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

Подпись готова, можем продолжить. Сразу скажу, что фоновые процессы в мобильном клиенте недоступны, так что их необходимо отключить в разрешениях мобильного клиента. Так же недоступен обмен файлами с ПК. Я дополнительно отключил геопозиционирование, чтобы при сборке не возникала ошибка из-за отсутствия ключа для работы с картами. У меня получился следующий список разрешений:

В преддверии партнерского семинара фирма 1С выпустила новую версию платформы 1С 8.3.2, в которую вошла новая функциональность по созданию мобильных приложений для Android и iOS. Пока еще эти приложения не требуют для своей работы приобретения лицензий, поэтому попробовать их может каждый.
В документации по платформе 1С 8.3 описан достаточно сложный способ создания своих мобильных приложений, но есть очень простой вариант, не требующий установки дополнительных приложений и компиляции сборки.
Единственное, что потребуется из не совсем стандартного - веб-сервер, к которому есть доступ с мобильного устройства (через Интернет или локальную сеть).

Во-первых, скачайте из AppStore или GooglePlay приложение 1С:Заказы.

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

Создаем для примера элементарную функциональность без какого-либо кода - справочники Номенклатура, Контрагенты и документ ЗаявкаПокупателя:

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

Запустим конфигуратор в терминальной сессии на том сервере, где установлен 32-разрядный веб-сервер

Откроем окно публикации мобильного приложения:

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

В моем случае внешний адрес для мобильного устройства получился таким: https://xxxxx.alp.ru/mobile/

Возвращаемся в телефон и запускаем 1С:Заказы, отменяем или соглашаемся с синхронизацией, открываем меню и переходим в список приложений:

Добавляем новое приложение, жмем "Загрузить":

Указываем внешний адрес, по которому можно скачать приложение. Этот адрес мы должны были получить на этапе публикации приложения на веб-сервисе.

Практика разработки мобильного приложения 1С 8.3 (часть 1)

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

Изначально был выбран «неправильный» подход с компилированием приложения и закидыванием его на планшетник вручную. Напомню, что для сборки мобильных приложений используется «Помощник создания мобильного приложения» (MobileAppWizzard ). Затем на одном из форумов было найдено красивое решение с использованием мобильного приложения для разработки. Это приложение входит в комплект установки мобильной платформы. На момент разработки использовалась платформа версии 8.3.3.24. В папке «Android » можно найти файл 1cem.apk. Это и есть мобильное приложение для разработки. Его огромнейший плюс, сэкономивший нам уйму времени — в том, что можно опубликовать мобильное приложение на веб-сервере, а на планшетнике указать путь вида http://[ Адрес веб-сервера ]/[ Имя мобильного приложения ].

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

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

Что требовалось:

1. Настроить обмен между центральной базой и мобильным устройством.

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

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

На этапе тестирования использовалась промежуточная база «Управляемое приложение», ввиду того что демо-приложение 1С:Заказы изначально заточено на обмен именно с Управляемым приложением.

Первый блин вышел комом. В прямом смысле. Для обмена с центральной базой был использован v82.ComConnector. Не буду вдаваться в подробности его настройки, об этом есть куча отдельных материалов. Пройдусь только по тем трудностям, с которыми столкнулся.

1. Использование com- объектов на 64-битной серверной ОС. Для решения проблемы была использована обертка COM+ Applications, которая настраивается в Component Services.

2. Удаленный вызов Com с другого сервера. Вызываемый сервер должен иметь роль Application Server, и у него должно быть настроено COM+ Network Access. Кроме того, сервер Apache должен иметь соответствующие права (т. е. запускаться как сервис от имени авторизованного пользователя)

Намучившись с Ком-соединениями, решили переводить рабочую базу на web- сервисы.

О публикации веб-сервисов также написано очень много, но там написано о том, как работает. Как НЕ работает, поделюсь ниже.

Рабочая база развернута на платформе 8.2, мобильное приложение, соответственно, на 8.3.

При публикации вначале приложения 8.3, а затем 8.2. периодически выхватывали глюк «Ошибка формата потока» в веб-клиенте 8.3, либо сообщение об ошибке «различаются версии платформы клиента и сервера». Перепубликация не помогает, равно как и перезапуск Apache. А вот отключение публикации и подключение заново — помогает.

Далее, поймал забавную ошибку при авторизации пользователя (при создании ws Определения). При тестировании на компьютере, авторизация с длинным ФИО проходит легко. При попытке авторизации этого же пользователя с планшетника под управлением Android, авторизация заканчивалась, не начавшись. Экспериментальным путем удалось вычислить, что кириллицей длина логина ограничена 22 символами. При этом сочетание кириллических символов и цифр дало авторизоваться с логином длиной 27 символов. Есть подозрение, что это связано с преобразованием кириллических символов. Так, например, в браузере Firefox строка из Википедии « иво» преобразуется в « ».

Технологически, мобильная платформа 8.3.3 на текущий момент имеет ряд ограничений. Самое ожидаемое, на мой взгляд, нововведение — это поддержка запросов. Но, поскольку произвольные запросы в динамических списках мобильная платформа пока не поддерживает, пришлось «пойти другим путем».

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

1. В форме справочника номенклатуры созданы две таблицы. Первая — динамический список, собственно сам справочник. Фильтр динамического списка настроен так, чтобы выводились только группы. Вторая таблица — собственно остатки и цены. При активизации строки динамического списка, на сервере происходит заполнение таблицы значений, которая затем и выводится во вторую таблицу. При получении цен и остатков использовалась объектная модель. Все эти танцы с бубном были исполнены только потому, что привычного по толстому клиенту метода «при выводе строки» или «при получении данных» нет, и динамически нарисовать цифры в колонке нельзя.

Аналогичный подход использовался и в форме подбора

2. Для вывода строки с текущими ценами отлично подошла ФорматированнаяСтрока.

Ниже — пример кода.

&НаСервереБезКонтекста Функция ОстаткиПриАктивизацииСтрокиНаСервере(ном) НаборЗаписей = РегистрыСведений.ЦеныТоваров.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Товар.Значение = ном; НаборЗаписей.Отбор.Товар.Использование = Истина; НаборЗаписей.Прочитать(); МассивФорматированныхСтрок = Новый Массив; Для Каждого СтрокаНабора Из НаборЗаписей Цикл МассивФорматированныхСтрок.Добавить(Новый ФорматированнаяСтрока(СтрокаНабора.ВидЦен.Наименование,WebЦвета.Синий)); МассивФорматированныхСтрок.Добавить(Новый ФорматированнаяСтрока(" " + Строка(СтрокаНабора.Цена) + " ")); КонецЦикла; Возврат Новый ФорматированнаяСтрока(МассивФорматированныхСтрок); // Вставить содержимое обработчика. КонецФункции

3. Для загрузки справочников, остатков и цен в мобильное приложение был использован веб-сервис, который на входе получает структуру параметров, а на выходе возвращает хранилище значения. Еще одним неприятным открытием стал вылет обмена при слишком длительной обработке на стороне сервера. Сложилось впечатление, что имеется какой-то таймаут, после которого приложение «считает», что связь прервана (хотя на самом деле все еще идет обработка данных в рабочей базе через ws -соединение), и прекращает обмен с ошибкой.

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

4. Для получения отчетов оставлен тот же подход, что и в конфигурации 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С позволяет делать это быстро и удобно.