Как сделать мобильное приложение 1с

Добавил пользователь Валентин П.
Обновлено: 28.08.2024

В этой статье хочу поговорить о разработке мобильного приложения на базе 1С.

Моя статья для Вас, если:

- Вы пишете на 1С, и в основном вся работа выполняется на типовых конфигурациях

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

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

Мы коротко рассмотрим весь процесс создания МП от составления технического задания (ТЗ) до компиляции готового к установке Android файла apk.

Еще уточню, мы не будем очень сильно углубляться в детали, иначе бы статья превратилась в полное пошаговое руководство по созданию МП или даже в небольшой роман))) Также не будет рассматриваться компиляция под iOS и публикация в AppStore или PlayMarket.

Здесь речь пойдет только о разработке мобильных приложений под одну платформу, что подразумевает непосредственную работу в собственной базе данных (БД) на МП и обмен данными с центральной базой (ЦБ). О мобильном клиенте 1С (не путать с мобильным приложением) стоит поговорить отдельно, но не сегодня.

1. ТЗ проекта мобильного приложения

Здесь, кажется, не о чем говорить. Общаемся с заказчиком, пишем все за ним. Обсуждаем хотелки, критерии интерфейса, в общем все, как и в версии для ПК. Но! Хочу выделить различия составления ТЗ для МП и для ПК.

Обычно заказчик хочет видеть на экране мобильного устройства те же объекты, что и в ПК версии. Поясню, бывают случаи, когда разрабатывается, например, МП для сбора каких-либо данных, и в ЦБ эти данные обрабатываются просто как коллекция. Но когда мы говорим об отображении объектов из ЦБ на МП, нужно понимать, что перетащив/скопировав объект один в один, как есть, мы совершаем акт насилия над МП))) Все дело в том, что, во-первых, не стоит перегружать базу данных МП лишними реквизитами, так как это может привести к увеличению размера базы на устройстве и к существенному увеличению времени получения и обработки данных при обмене с ЦБ. Но и это еще не все причины! Экран МП может вместить в себе намного меньше элементов, нежели экран ПК. Поэтому, если мы перенесем даже простой справочник с десятком реквизитов, он уже будет смотреться на МП очень загроможденным. И еще, стоит учитывать, что даже если объект достаточно прост, то на его оформление нужно будет потратить минимум вдвое больше времени нежели при создании аналогичного объекта на ПК.

Также при составлении ТЗ стоит уточнить у заказчика, на каких устройствах планируется использовать мобильное приложение. И если мы говорим о качественной разработке, нужно будет провести тестирование на таком же устройстве или, как минимум, в эмуляторе этой модели. Если же в планах заказчика нет конкретного оборудования и даже нет примерного понимания размера экрана, обязательно оговариваем диапазон тестируемых экранов, например, от 5 до 10 дюймов. И, конечно же, не забываем заложить в ТЗ часы на такое тестирование.

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

Итак, подводим итог по ТЗ:


- уточняем размер устройств;
- заставляем заказчика назвать минимум реквизитов для переноса объектов из ПК на МП;
- при тестировании учитываем ориентацию и размер экрана. Проверяем удобство расположения элементов на форме.

2. XDTO-пакеты и объекты XDTO в разработке мобильного приложения



Перед тем как создавать объекты в конфигурации МП, нужно определиться с набором объектов и реквизитов, которые идентичны с ЦБ. Например, справочник контрагенты, мы решаем, что будем переносить только наименование и адрес.

Далее я вижу такие варианты развития событий:

1. Использовать XDTO-пакеты.


Этот способ несколько более сложен, чем другие, потому как нужно вникнуть в такой объект метаданных. Хотя это очень даже удобный инструмент, когда, например, есть разработанный сторонний продукт и ему нужно обмениваться данными с 1С. Разработчик этого ПО создает xsd-схему, Вы импортируете ее в свою конфигурацию и легко получаете из xml файлов обмена данными объектов xdto. С ними намного удобней работать, чем, например, парсить, иногда огромных размеров xml.

Итак, что же нам делать с этими объектами?! xdto-пакет должен быть создан в конфигурации ЦБ и описывать структуру объекта мобильного приложения. И когда мы получим объект из МП, при чтении xdto, ЦБ будет точно знать, что у нас за объект. Важно! Порядок реквизитов в xdto и МП должен совпадать. Точно так же, если структура метаданных объектов совпадает (имя и названия реквизитов) и Вы передаете сериализованные объекты без какой-либо обработки из Цб в МП, в любом случае порядок реквизитов должен быть идентичным, иначе получите неинформативную ошибку на МП при десериализации.



2. Передавать структуру или таблицу значений вместо объектов XDTO.


Тут все просто: берем названные выше коллекции и наполняем их необходимыми нам данными. Сериализуем, получая таким образом строку, передаем на сервер, десериализуем и вновь получаем нашу коллекцию.




Также сериализация подходит, если мы решаем, что объект МП будет иметь весь набор реквизитов ЦБ, то есть они будут идентичны.

Вот такие есть варианты обмена информацией между МП и ЦБ. Хотя, как мне кажется, можно придумать и другие, но эти наиболее часто используются.

Почему столько заморочек при обмене?


В ином случае мы сможем передавать из МП только примитивные типы данных (Число, Булево, Строка). А вышеописанные методы позволяют преобразовать объекты в строку и после передачи получить из нее обратно свои объекты в том же виде.

После того, как выбран метод обмена, можно приступать к созданию объектов метаданных конфигурации МП. При этом важно не забывать просматривать доступность используемых Вами объектов на мобильном приложении. Пока мобильное приложение в разработке, никто не запрещает тестить в тонком клиенте, запуская отладку и пользоваться всеми прелестями десктопного приложения. Но! Не все таким образом можно отладить и протестировать. Если используется функционал только МП, как, например, работа с геоданными, телефонией, камерой устройства, с нативным или сторонним ПО Android, - то тут удастся протестить только на реальном устройстве или на эмуляторе (например, Genymotion).

Итак, конфигурация МП написана, все что можно потестили на ПК, что дальше?

3. Настройка обмена данными

Как определить объем передаваемых данных?

Я вижу такие варианты:

1) Использовать план обмена. Конечно же, его придется создать. Тогда можно будет использовать свои правила регистрации, скажем, в подписке на события. Таким образом сможем учитывать любые задуманные отборы, чтоб на МП попало минимальное количество объектов;

2) Постоянно передавать все данные. В основном так можно делать, когда объем передаваемых данных минимален.


Вот, например: на МП передаются данные для отчетов, которые не нужно фильтровать (ДДС для руководителей) или прочая отчетность, которая нуждается только в отборе по периоду.



Данные мы отобрали, как же их передавать с ЦБ на МП и обратно?

4. Передача приложения с помощью Android файла apk

Компиляция

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

Что же мы должны передать клиенту?


Ииии))), конечно же, готовое к установке мобильное приложение! Для Android устройств это файл с расширением .apk

Как же его получить?

Это прям-таки отдельная история)))



Если Вы хоть немного ориентируетесь в разработке мобильного приложения под android на java, то это существенно облегчит понимание происходящего далее.


Приведу несколько примеров ошибок и их решения:


1) Youhavenotacceptedthelicenseagreementsofthefollowing SDK components:
[Android SDK Platform 27, Android SDK Build-Tools 27.0.3].
- в таком случае, скорее всего, не установлено нужное апи версии 27 (устанавливается в Androidstudio), потому как лицензия принимается именно при его установке;



2) Couldnotfindplay-services-basement.aar (com.google.android.gms:play-services-basement:15.0.1).


- эта ошибка уже поглубже будет. Она хорошо гуглится, но!

Куда вносить правки?


В данном случае мы правим файл build.gradle
Как я узнал, вы спросите?

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



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

И последний важный момент про компиляцию. Если вы однажды собрали apk и отдали клиенту, он неделю его проверял и просит внести правку в виде запятой в названии формы; Вам все равно придется компилировать apk заново!

Использование платформы в поставке

Как же избежать мучений с компиляцией?

5. Тестирование мобильных приложений

Описанным выше вариантом (использование платформы в поставке) очень удобно тестировать приложение. Ставим себе платформу и обновляемся без повторных компиляций и установок apk.

Но как сработают точки останова?







Отмечу также, что если ранее Вы не разрабатывали под мобильную платформу, Вам придется установить немного стороннего софта. Естественно компоненты java для компиляции и, например, web-сервер (рекомендую apache версии 2.2), который будет полезен для отладки на Вашем устройстве.

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

В завершение скажу, что если уж этот нелегкий путь однажды был пройден Вами, то последующие достижения в области мобильной разработки пройдут гораздо проще, чего Вам и желаю! Удачи!

Вас могут заинтересовать следующие статьи:

94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->

Вас могут заинтересовать следующие вебинары:

Методика адаптации конфигураций под Мобильный клиент

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

Мобильный клиент

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

В большинстве случаев адаптация сводится к двум действиям – в модулях на встроенном языке указать функциональность, не поддерживаемую на мобильных устройствах – для этого используется специальная директива препроцессора, и адаптация форм, декларативно описанных в конфигурации, с учетом особенностей их отображения на мобильном устройстве – для этого служат специальные свойства элементов формы (необходимо установить режим совместимости конфигурации не ниже, чем с версией 8.3.7). Также отметим, что на мобильном клиенте недоступны некоторые элементы - диаграммы Ганта, графическая схема, географическая схема, не поддерживаются некоторые операции, например, работа с ZIP-архивами. Отметим, что в процессе адаптации можно расширить функциональность прикладного решения, добавив использование возможностей мобильного устройства – об этом ниже.

Адаптация. Анализ кода


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

1. Завести булевый параметр сеанса МобильныйКлиент

3. В серверном коде проверять значение параметра сеанса

Адаптация. Анализ интерфейса

Общие сведения об интерфейсе приложения

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

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

Глобальный командный интерфейс

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

Вызов главного меню приложения осуществляется, в зависимости от модели устройства и ОС или жестом с левой стороны экрана, или с помощью специальной кнопки ?, расположенной в левой части заголовка окна.

Начальная страница

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

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

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

Адаптация форм

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

таблица формы, отображающей динамический список;

Формирование заголовков автоматически сворачиваемых групп

Если у группы задач есть заголовок, но его отображение отключено, то в случае попадания этой группы в автоматически созданную сворачиваемую группу на мобильном клиенте, текст заголовка используется при формировании заголовка этой автоматически создаваемой сворачиваемой группы. В этом случае элементы группы уже не используются. Это относится и к случаю, когда сворачивается сама группы.

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

  • Если свертывается уже существующая группа, то используется заголовок этой группы.
  • Если в свертываемую группу попадает один элемент с заданным заголовком, то используется заголовок этого элемента.
  • Если не подходит ни один из вышеперечисленных пунктов – заголовок формируется соединением, через ",", всех заголовков элементов, входящих в свертываемую группу.

Улучшения в адаптируемости форм

Адаптация таблиц

Работа с данными, связанными с текущей строкой таблиц

Существует возможность программного управления списком избранного. Для этого служит объект “Избранное Работы Пользователя”. Его можно получить из общего одноименного хранилища системных настроек. Каждый элемент списка избранного имеет тип “Элемент Избранного Работы Пользователя”. У этого типа есть булево свойство “Важное”. Добавление элемента с установленным значением свойства “Важное” равным “Истина” в список избранного позволит настроить этот список из кода приложения таким образом, что важные для пользователя элементы будут отображаться в верхнем меню приложения.




Адаптация. Использование возможностей мобильных устройств

Проверка адаптированного решения

Проверка в конфигураторе

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

Проверка на мобильном устройстве

Для более полной проверки корректной работы адаптированного под мобильный клиент прикладного решения следует выполнить ряд действий.

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

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

При необходимости следует внести исправления в код приложения и/или атрибуты форм и их элементов и повторить проверку работы адаптированного решения.

Проверка на устройствах с ОС Android

Стоит заметить, что в случае работы на устройствах с ОС Android можно обойтись без публикации клиентской части решения и использовать Android Debug Bridge (ADB). Более подробную информацию можно найти в соответствующем разделе документации.

Публикация решения для внутреннего использования

Если приложение предназначено для использования только внутри компании, его не обязательно публиковать в магазине приложений – достаточно выполнить следующие действия:

  • Собрать приложение - мобильный клиент для адаптированной конфигурации с требуемой мобильной ОС используя сборщик мобильных приложений
  • Установить приложение у конечных пользователей одним из вариантов:

    Разместить собранные бинарные файлы на веб-сайте и разослать пользователям ссылки на эти файлы. Для удобства пользователей можно разместить на сайте скрипт, предлагающий к загрузке файл для соответствующей мобильной ОС. В этом случае приложение для iOS должно быть собрано с лицензией разработчика iOS (iOS Developer License). На мобильных устройствах пользователей должны быть сделаны следующие изменения настроек:

    iOS - Настройки / Основные / Профили и управление устройством и на соответствующем вашему приложению профиле включить опцию "Доверять"

    Android - в настройках в разделе "Безопасность" (или аналогичном) разрешить установку приложений не из Google Play

    Установить приложение на мобильные устройства пользователей с помощью системы MDM (Mobile Device Management), если данный сервис развернут в вашей организации.

    Как встроить возможность обновления приложения

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

    1. С помощью свойства СистемнаяИнформация().ВерсияПриложения узнает версию мобильного клиента на устройстве

    2. Сравнит полученную версию со значением константы

    3. В случае несовпадения значений предложит пользователю перейти на сайт обновления (адрес сайта можно закодировать или настроить через константу).

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

    Если приложение предназначено для распространения через магазины приложений – App Store или Google Play, то необходимо выполнить ряд дополнительных действий. Это связано с тем, что мобильный клиент сам по себе является мобильным приложением, способным подключаться к различным прикладным решениям. Но такая функциональность нарушает требования компаний Apple (в первую очередь) и Google – требуется, чтобы опубликованное в магазине приложение значительно не меняло свою функциональность после публикации.

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

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



    Конфигурация – формирование подписи мобильного клиента

    Ключи командной строки конфигуратора

    В случае сборки мобильного приложения из командной строки, существует ключ командной строки пакетного режима запуска конфигуратора MobileClientWriteFile, MobileClientDigiSign. Для ключей командной строки пакетного запуска конфигуратора CheckModules и CheckConfig добавлен параметр -MobileClient. Для ключа командной строки пакетного запуска конфигуратора CheckConfig добавлен параметр -MobileClientDigiSign.

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

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

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

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

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

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

    2. Лезем в конфигуратор, и ищем ссылки на aapt.exe, ищем их у вас на коме и меняем в конфигураторе на правильные пути.

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

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

    Обновление 06.06.2013

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

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

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

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

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

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

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

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

    Далее мы должны проверить, все ли у нах хорошо?

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

    Далее запускаем на мобильнике 1С и добавляем конфу прописывая адрес к этой базе.

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

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

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

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

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

    Обновление 30.05.2013

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

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

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

    Т.е., если вы решитесь опубликовать приложение на гугло плее, то к вам могут быть выдвинуты официальные притензии :)

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

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

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

    • Получать срезы первых/последних на самый первый и самый последний (текущий) моменты времени с большей скоростью.

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

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

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

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

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

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

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

    Его разархивируем в какую-нибудь папочку, далее нам надо установить 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, если не установлен, то ставим галочку и инсталим.

    Далее самое интересное – заходим в конфигурацию, и добавляем опцию:


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

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

    Далее обновляем конфу, и жмем Конфигурация – Мобильное приложение – Записать в файл.

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

    Piccy.info - Free Image Hosting

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

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

    Далее указываем версию и номер сборки (они критичный при публикации в магазинах) но пока ставим там любые числа, например 1 и 1.

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

    Далее жмем Создать.

    Piccy.info - Free Image Hosting

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

    Далее выбираем SDK, у меня они лежат там, у вас пути могут отличаться.

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

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

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

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

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

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

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

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

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

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

    От бухгалтеров требуют управленку: что делать?

    Научитесь всему: от настройки аналитики доходов и расходов до работы с финансовым анализом и внедрением всего в 1С. Записаться на курс можно тут.

    Старт потока — 15 февраля, успейте записаться уже сейчас, программу курса смотрите здесь.


    Введение

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

    Мобильное веб-приложение

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

    Поищем кого-нибудь (для того чтобы поиск начался нужно ввести не меньше 3 символов). Кто-то нашелся.

    Позвоним Алексею.

    Напишем письмо Тимофею.

    Вот и всё мобильное веб-приложение.

    Кстати, его очень просто адаптировать под любую конфигурацию.

    Немного о реализации

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

    Мобильное веб-приложение

    Так выглядит обработка запроса.

    А так, например, выглядит возврат страницы index.html.

    Ничего сложного. Более детально вы можете изучить механизм загрузив КонтактыМВП.dt

    Особенности публикации

    Читайте также: