Но если честно, настоящая цель статьи – это:
Вначале я хочу немного затронуть те проблемы мобильной платформы 1С, которые приводят в итоге к вопросу «Может быть, все-таки лучше писать какие-то нативные приложения, а не на 1С?»
Итак, первая проблема – это пользователи.
Упрощаем все настолько, чтобы пользователи в любом состоянии смогли бы в нашем приложении сделать нужные им функции. Если смогут – значит, все работает корректно. Если нет – значит, надо что-то менять.
Следующая проблема – это программисты.
Кроме этого, существует проблема с руководителями проекта.
И в итоге руководитель, не зная всех этих тонкостей и нюансов, говорит программисту: «сделай вот так». И программист начинает «прыгать между кольцами», потому что реально многое в мобильной платформе 1С с ходу сделать не получится. И донести это до людей тоже сложно, потому что они говорят: «а в стационарной же было!» Это как при переходе с УТ10 на УТ11: «в УТ10 было, сделайте нам и тут так же».
Именно такие нюансы и стопорят прогресс мобильной платформы.
Ну и отдельно все-таки хочется сказать, чтобы вы, видя какие-то проблемы, обращались к разработчикам 1С и просто «стучали им молотком по головам» для того чтобы они вас услышали. С одной стороны, они хотят нас услышать, чтобы понять, что действительно нам надо, но, к сожалению, большинство людей до сих пор считают, что в фирме 1С работают только бюрократы, которые ничего не понимают, не сделают и т.д. В итоге получается, что в фирму 1С по вопросам разработки мобильной платформы пишут один-два-три-пять человек, передают туда какой-то свой наработанный опыт, чтобы они в мобильной платформе что-то меняли, исправляли и т.д. А остальные все сидят и что-то ждут. И это все приводит к вот таким итогам.
Действительно, когда ты первый раз вникаешь в тонкости разработки тиражных решений на мобильном приложении 1С, ты начинаешь реально страдать, потому что первое, что тебе говорят маркетологи, аналитики и т.д. – это: «Подключи нам Google Analytics, подключи нам печать, подключи нам то, подключи нам это». А ты им в ответ: «В мобильном приложении 1С этого не сделать».
Как можно подключить Google Analytics? Берем SDK и встраиваем. А в 1С SDK встроить нельзя.
Разбирались с подключением приложения по печати с мобильных устройств PrintHand, вышли на разработчиков, они нам говорят: «Мы вам SDK вышлем». Я отвечаю: «Нет, ребята, нам ваша SDK не подойдет, потому что мы ее не сможем встроить в наш фреймворк». Они удивляются: «А что это у вас за фреймворк такой?» Причем, ребята русскоговорящие, просто в Кремниевой долине находятся. В итоге, они специально для нас реализовали такую возможность интеграции, когда люди скачивают бесплатную версию PrintHand и регистрируются в ней через наше приложение. По-другому PrintHand к 1С нормально не подключить. Но главное, что эта проблема была решена, потому что при стандартной печати из мобильного приложения табличный документ просто переводится в картинку с потерей качества – вы на бумаге никогда четкого изображения не получите (конечно, если у вас не сверхдорогой принтер, который может это как-то нивелировать). Тем более, при помощи встроенной печати нет возможности использовать стационарные и сетевые принтеры, принтеры через Google cloud и т.д. К сожалению, пока что мобильное приложение 1С работает только так. Но теперь все эти возможности можно реализовать при помощи PrintHand.
И в целом получается, что каждый раз при обновлении 1С у нас появляются новые интересные нюансы. Вообще когда с 1С работаешь, чувствуешь, что она, как какой-то монстр, последовательно идет за желаниями разработчиков, но немного опаздывает.
Еще в версии 8.3.8 у нас появилась монетизация.
В связи с этим, главное, на что я хочу обратить ваше внимание – никогда не выпускайте мобильные приложения, нацеленные на бизнес, без подписок. Не продавайте свои приложения за деньги, не встраивайте в них внутренние покупки, делайте только подписки. Почему? Потому что если у вас купят 10000 приложений по одному доллару, потом люди еще 10 лет будут этим пользоваться. А другие люди их уже скачивать не будут. Получается, что у вас заработок будет минимален и растянут по времени, и вы забросите это дело. Подписка – это самое удобное именно в контексте для 1С. Поэтому всегда перед разработкой ориентируйтесь на подписку. И когда вы уже вникните во все тонкости и нюансы, принимайте какое-то конкретное решение.
Если у нас подключен PrintHand, мы можем, сохранив в pdf какой-то табличный документ, отправить его в PrintHand и напечатать на любых принтерах. Там список этих принтеров просто колоссальный – это и сетевые, и мобильные и т.д.
Кроме этого, мы можем спокойно подсматривать за пользователем. В этом нам поможет приложение Amplitude + HTTP request.
Это приложение позволяет нам посмотреть карту поведения пользователя: как он зашел в приложение, куда он первым делом перешел и т.д. – видно, как вообще в среднем пользователи передвигаются по приложению. Это очень полезно для разработки.
Кроме этого, оказывается, можно подключить к своему приложению Google Analytics. До недавних пор все, кто пытались подключить Google Analytics, мне отписывались, что его подключение возможно только через SDK, а 1С не поддерживает SDK. В конце концов, когда я стал разбираться в этом вопросе сам, я выяснил, что и не надо, чтобы поддерживала, поскольку есть возможность подключения через HTTP-протокол. Но если для других сервисов (того же Amplitude), в описании было явно указано, что используется HTTP request, то Google Analytics назвал его Marshmallow-протокол. Вот и догадайтесь, что это HTTP-протокол
Возникает интересная идея:
Почему бы нам те возможности, которые используются в мобильных платформах, не применить стационарно (идем от обратного)? Почему бы нам эту карту поведения пользователя и Google Analytics не подключить в свои разработки на стационарной 1С? Почему бы нам там не отслеживать, как пользователь двигается, где он застревает, какие ошибки у него бывают и т.д.
Подумайте над этим вопросом.
Ну и, естественно, как я уже говорил, это – Bluetooth-сканер плюс внешняя компонента от 1С – и любой смартфон превращается в терминал сбора данных. Эту компоненту вы сможете найти в библиотеке оборудования мобильных приложений.
Ну и естественно, имея 1С, технологию разработки внешних компонент и немного мозгов (хотя – вру, много-много-много мозгов и бессонных ночей), вы сможете подключить любое специализированное оборудование к 1С через внешние компоненты.
В мобильном приложении 1С сейчас появляется очень много разных интересных возможностей и если ваша фирма ранее не занималась мобильными направлениями, займитесь. Хотя бы один человек – пусть займется. Вместе с этим он сможет что-то привнести к вам из мобильного мира в стационарный мир.
***************
Данная статья написана на основе доклада, представленного автором на конференции Infostart в 2016 году.
Больше статей можно прочитать здесь. Приглашаем вас на новую конференцию INFOSTART EVENT 2019!
infostart.ru
27.10.2017
Данная статья является анонсом новой функциональности. Не рекомендуется использовать содержание данной статьи для освоения новой функциональности. Полное описание новой функциональности будет приведено в документации к соответствующей версии. Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.12.64 мобильной платформы.
Мы реализовали новую технологию – мобильный клиент. Она позволяет создавать приложения для мобильных устройств, которые сочетают в себе удобный интерфейс мобильной платформы и онлайн-работу с информационной базой по аналогии с тонким клиентом.
До недавнего времени платформа «1С:Предприятие» предлагала единственную технологию, с помощью которой можно было работать с её приложениями, используя мобильные устройства. Это мобильная платформа.
Эта технология позволяет создавать специализированные офф-лайн мобильные приложения, обладающие удобным и функциональным мобильным интерфейсом. Мобильные приложения разрабатываются для решения конкретных мобильных задач, максимально для них оптимизированы с точки зрения архитектуры и интерфейса. Такие приложения реализуют именно мобильные сценарии работы, с ними удобно работать как на планшетах, так и на смартфонах.
По своей архитектуре такие приложения очень похожи на файловый вариант работы системы 1С:Предприятие. На мобильном устройстве существует собственная база данных, «внутри» мобильного приложения существует как клиент, обеспечивающий взаимодействие с пользователем, так и сервер, обеспечивающий взаимодействие с базой данных.
Такие мобильные приложения могут взаимодействовать с «основным» приложением, установленным в офисе. Но это не онлайн взаимодействие, а периодический обмен данными с бэк-офисом. Основная работа в мобильном приложении ведется в оффлайн-режиме. А при появлении интернет-соединения выполняется синхронизация данных.
Таким образом мобильная платформа хорошо подходит для разработки автономных рабочих мест сотрудников, которые находятся вне компании и не имеют надежного интернет-соединения с офисом. Однако такие рабочие места, как правило, обладают ограниченной функциональностью, меньшей, чем функциональность «основного» приложения. К тому же они не обеспечивают онлайн-взаимодействие с информационной базой.
Получается, что неохваченным оказывается значительный круг задач, обладающий следующими характерными особенностями:
Для решения такого класса задач мы разработали мобильный клиент. Мобильный клиент это тонкий клиент для мобильных устройств, который обладает интерфейсом, аналогичным мобильной платформе. Дистрибутив мобильного клиента содержит все необходимые исполняемые файлы, из которых разработчик может собрать приложение для мобильного устройства аналогично тому, как собираются мобильные приложения из мобильной платформы.
Такое приложение, с одной стороны, может напрямую взаимодействовать с кластером серверов 1С:Предприятия точно так же, как это делает тонкий клиент. С другой стороны мобильный клиент обеспечивает автоматическую трансформацию форм, декларативно описанных в конфигурации, в интерфейс, аналогичный интерфейсу мобильной платформы.
Формы, разработанные для настольной версии 1С:Предприятия, он автоматически компонует таким образом, чтобы обеспечить удобство работы с ними на маленьких экранах мобильных телефонов на приемлемом уровне.
Конечно, для того, чтобы эта трансформация выполнялась ещё лучше, специально для мобильного клиента нужно указать некоторые новые свойства элементов формы, избавиться от каких-то особенных и нестандартных интерфейсных решений. То есть требуется некоторая переработка прикладного решения именно под мобильного клиента. Но эта переработка гораздо проще, чем создание специализированного полнофункционального мобильного приложения.
На наш взгляд эта технология будет востребована в тех внедрениях, где обязательно требуется онлайн доступ в систему с мобильных устройств. Чтобы данные, введенные на мобильном устройстве, попадали непосредственно в «общую» базу данных, минуя промежуточные шаги синхронизации.
Также мобильный клиент будет востребован в небольших компаниях, у которых нет ни бюджета, ни времени для разработки специализированных мобильных приложений. Ведь по нашим оценкам наиболее сложным этапом разработки мобильных приложений является как раз создание системы обмена данными.
Кроме этого мобильный клиент будет полезен для пользователей сервисов, работающих на базе технологии 1Сfresh. Это сервисы 1Сfresh.com и «Бухгалтерское обслуживание», поддерживаемые фирмой «1С», а также любые другие сервисы, развернутые с использованием этой технологии.
Если сравнивать функциональность мобильного клиента с тем, что «умеет» тонкий клиент, то тут есть не только ограничения, но и преимущества.
Важное преимущество мобильного клиента заключается в том, что он содержит всю функциональность мобильной платформы, обусловленную самими используемыми устройствами. То есть он позволяет, например, делать фотографии, набирать номер абонента, принимать PUSH-сообщения, и многое другое.
Другое преимущество мобильного клиента заключается в том, что он работает не только с той версией сервера, для которой он был собран. Он будет работать почти что с любой версией сервера до тех пор, пока не произойдёт какое-то существенное изменение протокола обмена или архитектуры платформы. Мы сделали это потому, что публикация мобильных приложений достаточно трудоемкий и длительный процесс, который практически невозможно выполнить одновременно с переводом кластера серверов на новую версию платформы.
Если говорить об ограничениях, то самым очевидным из них является то, что мобильный клиент взаимодействует с кластером серверов только по протоколу HTTP(HTTPS).
Другое ограничение, впрочем, как и для мобильной платформы, заключается в недоступности некоторых объектов встроенного языка и некоторых элементов интерфейса. Но мы будем стараться эти различия минимизировать по мере развития мобильного клиента.
При создании мобильного клиента мы уделили много внимания тому, чтобы адаптация конфигурации для мобильного клиента требовала минимальных усилий. Мы разработали несколько технологий и подходов, чтобы большие формы, разработанные для настольной версии, автоматически адаптировались к маленьким экранам мобильных устройств.
Например, мы выяснили, что большие формы, как правило, имеют незначительное количество важных элементов. То есть таких элементов, работа с которыми идет постоянно. И в то же время в них есть много менее важных элементов, работа с которыми работа выполняется время от времени.
Например, важные элементы это таблица динамического списка в форме списка, табличный документ в форме отчёта. Важные колонки это, например, колонки «Наименование» и «Дата».
Соответственно чтобы обеспечить достаточный уровень удобства работы с формой, мобильный клиент важным элементам даёт больше места на форме, а менее важным элементам даёт меньше места, убирая их, например, в сворачиваемую группу.
Во-вторых, мобильный клиент разворачивает горизонтальные группы вертикально, если они не помещаются по ширине экрана. На мобильных устройствах не принято и неудобно прокручивать форму по-горизонтали, поэтому такое решение вполне удобно и оправдано.
Несмотря на всю автоматизацию, от разработчика конфигурации все равно потребуются некоторые усилия для адаптации прикладного решения для мобильного клиента.
Не углубляясь в подробности можно сказать, что все такие доработки укладываются в два основных направления.
Первое, это избавиться от особенных и специфических интерфейсных решений, больше полагаясь на автоматическую компоновку форм, выполняемую платформой на основе информации о типах данных. Такими специфическими решениями могут быть фиксированные размеры полей, жестко установленная горизонтальная группировка элементов и тому подобное.
Другое направление – это подсказать мобильному клиенту дополнительную информацию об элементах формы. Мы научили мобильный клиент легко распознавать элементы в стандартных или в небольших формах, и определять их важность. Но если форма нестандартная или большая, то будет полезно вручную указать, какие из ее элементов являются более и менее важными. Для этого вы можете использовать новое свойство элементов – ВажностьПриОтображении: высокая, обычная, низкая и т.д.
Также, вероятно, нужно будет проанализировать те места прикладного решения, в которых алгоритмы работы для тонкого клиента и для веб-клиента различаются. Это нужно сделать для того, чтобы указать, какой из алгоритмов будет использоваться при работе в мобильном клиенте. Для этого мы добавили новую директиву компиляции МобильныйКлиент.
Мобильный клиент, по сути, представляет собой некоторую «оболочку», которая может запустить то или иное прикладное решение. При этом функциональность запускаемых прикладных решений может сильно отличаться друг от друга. В то же время магазин приложений AppStore, требует, чтобы приложение, опубликованное в магазине, не меняло значительно свою функциональность после публикации.
Поэтому мы не публикуем мобильный клиент как отдельное универсальное приложение. Мобильный клиент поставляется вместе с мобильной платформой в виде набора исполняемых файлов. На основе этих файлов разработчик должен собрать приложение, которое будет работать на мобильном устройстве. Процедуры сборки и публикации приложений, что для мобильной платформы, что для мобильного клиента, схожие. Используется один и тот же инструмент – сборщик мобильных приложений.
Чтобы мобильный клиент, публикуемый в магазин приложений, имел фиксированную функциональность, при его сборке необходимо указать конкретные конфигурации, с которыми будет работать это приложение. В процессе работы мобильный клиент проверяет, что используется только одна из заданных конфигураций и без существенных изменений. Это специальная защита для того, чтобы мобильный клиент, который опубликован для определенных конфигураций, не мог работать с другими конфигурациями. Как показывает практика, пользователям удобно, чтобы одно мобильное приложение соответствовало какой-то одной конфигурации, или схожим конфигурациям.
Теги: мобильный клиент мобильная платформа
wonderland.v8.1c.ru
Добрый день, уважаемые читатели, предлагаем Вашему вниманию небольшую статью по созданию простого мобильного приложения на базе мобильной платформы 1С: Предприятия под Android без компиляции в apk-файл.
Для начала вкратце определимся с основными понятиями и софтом, который нам понадобится для разработки.
1.Основные понятия
Мобильная платформа – инструмент, позволяющий реализовать приложения, функционирующие на мобильных устройствах под управлением операционных систем iOS, Android, Windows Phone.
Мобильное приложение – является конечным результатом разработки. Устанавливается на мобильное устройство и имеет возможность обмена информацией с основным приложением в режиме Off-line. Для обмена доступны следующие каналы передачи информации: Файловый обмен, электронная почта, Web-сервисы и т.п.
В качестве среды разработки выступает конфигуратор, единственное, что необходимо принять во внимание: мобильным приложением поддерживаются не все объекты конфигурации и механизмы системы.
2.Настройка программного обеспечения
2.1 Установка Web сервера
Для начала установим Web сервер. Работа возможна как с Internet information services от Microsoft так и с Apache. В нашем примере будем рассматривать Apache поскольку он более прост в настройке и стабилен в работе.
Пройдем по ссылке https://archive.apache.org/dist/httpd/binaries/win32/ и скачаем дистрибутив для Windows. Запустим установку.
При помощи клавиши «Next» переходим к следующему окну:
В поля «Network Domain» и «Server name» впишем «localhost» (или 127.0.0.1). Это значит, что сервер будет работать на локальном компьютере.
В поле «Administrator’s Email Address» укажем почтовый адрес, на него будут приходить ответы сервера.
По умолчанию Apache работает с 80 портом. С этим же портом по умолчанию работает множество популярных программ, например TeamViewer, Skype, которые в дальнейшем не дадут запустить 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.
Скаченная платформа представляет собой архив, который состоит из следующих папок:
Поскольку разработку приложения Мы будем вести для устройства под управлением ОС Android, то нас интересует первый каталог.
Посмотрим его содержимое:
Установим мобильную платформу на устройство, для этого скопируем в память телефона файл «1cem-arm.apk» либо если Ваше устройство использует процессор Intel, «1cem-x86.apk».
Зайдем в диспетчер файлов на мобильном устройстве, найдем наш файл и запустим его
При установке может возникнуть сообщение о блокировке приложений не полученных из Play Store.
В таком случае нужно нажать кнопку «Настройки» и в появившемся окне установить флажок «Неизвестные источники»
и повторить установку.
2.4 Настройка конфигурации
После того как все программное обеспечение настроено приступим к разработке нашего мобильного приложения. Создадим новую информационную базу и зайдем в неё в режиме конфигурирования. Заходим в меню Сервис -> Параметры и расставим галочки как показано на скриншоте:
Далее переходим на вкладку Справка и снимаем там все галочки, кроме «Мобильное приложение–клиент», «Мобильное приложение–сервер».
Далее вызываем свойства корневого узла конфигурации и устанавливаем параметр «Назначение использования» как «Мобильное устройство», флаг «Персональный компьютер» убираем. После этого станут доступны объекты мобильного приложения. Часть объектов конфигурации станет недоступна.
2.5 Публикация конфигурации приложения
Следующим шагом осуществим перенос конфигурации на телефон. Для это в первую очередь создадим каталог, путь к этому каталогу должен быть коротким, не содержать пробелов и состоять только из латиницы, например C:\MobileApp. Далее заходим Конфигурация –> Мобильное Приложение –> Публиковать. В появившемся окне заполним параметры:
Нажимаем кнопку опубликовать, после этого система спросит, нужно ли перезапустить Web-сервер, согласимся.
Убедимся, что все работает, зайдем в браузере по адресу http://localhost:8080/Mobapp/, мы должны увидеть следующий xml-файл:
Далее переходим в мобильное устройство, выбираем ранее установленное приложение и нажимаем кнопку , появится следующее окно настройки новой конфигурации:
В поле адрес вводим IP компьютера на котором опубликована конфигурация и имя самой публикации через слеш. В нашем примере используется не стандартный порт, поэтому адрес будет иметь следующий вид:
Нажимаем кнопку загрузить, после загрузки должно появиться следующее окно настроек:
Устанавливаем параметры:
В случае если после нажатия кнопки «Загрузить» возникнет подобная ошибка:
То убедитесь, что на компьютере где опубликовано приложение, корректно настроен Межсетевой экран.
Теперь наша база добавлена на мобильном устройстве, и мы можем её запустить, нажимаем на неё в списке выбора баз. Появившееся окно пустое, поскольку мы еще не добавили ни одного объекта метаданных. Приступим к разработке.
Предположим, что у нас есть некая база-источник, которая содержит только один справочник: «Номенклатура». И она должна обмениваться информацией с нашим мобильным приложением.
Перейдем в конфигуратор мобильного приложения, создадим иерархический справочник под названием «Номенклатура». Добавим форму списка.
Зайдем в рабочую область начальной страницы и добавим туда форму списка справочника «Номенклатура», параметр «Шаблон начальной страницы» установим как «Одна колонка».
Нажмем кнопку «Обновить», приложение в телефоне должно обновится автоматически. Если нет, то выводим на панель кнопку и нажмем её. На экране должно появиться следующее окно:
Следующим шагом создадим новую ИБ. В неё добавим справочник «Номенклатура», структура которого будет полностью повторять справочник «Номенклатура» мобильного приложения. Данная база будет выступать в роли Источника.
Создадим новый Web-сервис, назовем его «MobileExchange». В свойствах установим URI пространства имен «MobileExchange». В данном Web-сервисе добавим новую операцию и называем её «ЗагрузитьТовары»
Теперь напишем код, который будет возвращать список товаров из базы источника в виде xml файла. Зайдем в свойства операции «ЗагрузитьТовары» и создадим новую функцию из поля «Имя метода». В функции пропишем следующий код:
Опубликуем Web-сервис, для этого перейдем Администрирование ->Публикация на Web-Сервере. В появившемся окне зададим имя Web-сервиса «MobileExchange» и снимем галочку «Публиковать тонкий клиент и Web-клиент». После этого нажмем кнопку «Опубликовать».
После публикации Web-сервиса, перейдем в конфигурацию мобильной платформы, откроем форму списка справочника «Номенклатура» и добавим новую команду «Обновить номенклатуру» в командную панель формы. Перед этим рекомендуется снять галочку «Автозаполнение» у данной панели.
Создаем у команды «Обновить номенклатуру» новое действие и пишем следующий код:
Обновляем конфигурацию.
На этом разработка завершена. Переходим в пользовательский режим конфигурации Источника и заполняем справочник номенклатура произвольным образом
Переходим в мобильное устройство, запускаем приложение, и нажимаем кнопку «Обновить номенклатуру». Если все сделано верно, то на экране должны появиться данные:
Заключение
Подведем итог нашей работы - у нас получилось с нуля настроить и разработать мобильное приложение и настроить его обмен с другой базой. Стоит отметить, что Мобильная платформа 1С позволяет делать это быстро и удобно.
flumi.ru
06.10.2017
Данная статья является анонсом новой функциональности. Не рекомендуется использовать содержание данной статьи для освоения новой функциональности. Полное описание новой функциональности будет приведено в документации к соответствующей версии. Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.11.2867.
Мы продолжаем развивать мобильную платформу, добавляя в неё функциональность, которая уже имеется в платформе для персональных компьютеров. Кроме этого мы развиваем специфические возможности платформы, актуальные только для мобильных устройств. О некоторых самых важных доработках мы сейчас расскажем.
В мобильную платформу мы добавили объект Планировщик, и элемент формы Поле планировщика, аналогичные тем, которые используются в платформе для персональных компьютеров.
Объектная модель «мобильного» планировщика не изменилась, а вот способы взаимодействия пользователя с планировщиком поменялись, так как методы ввода информации на мобильных устройствах отличаются от тех, которые применяются в настольных компьютерах.
Например, быстрое редактирование элемента выполняется одиночным кликом по элементу. Долгое нажатие приводит к вызову контекстного меню, и к появлению маркеров, которые позволяют растягивать элемент. Перетаскивание выполняется долгим нажатием и последующим перемещением пальца.
Прокручивание всего планировщика выполняется скроллированием одним пальцем, масштабирование – растягиванием двумя пальцами, и так далее.
Особенностью текущей реализации «мобильного» планировщика является то, что он пока не поддерживает печать.
Еще один «новый» объект, который мы добавили в мобильную платформу, это ФорматированныйДокумент. С точки зрения пользователя «мобильный» форматированный документ отличается только тем, что его панель редактирования встроена в сам элемент управления, и является логической частью виртуальной клавиатуры. От вас, как от разработчиков, не требуется её отдельное добавление в конфигурацию. Панель редактирования имеет разный вид в зависимости от типа мобильного устройства (телефон или планшет).
В конфигураторе, при разработке формы, мы добавили возможность посмотреть, как будет выглядеть ваша форма на мобильном устройстве.
В командной панели вы можете выбрать вариант интерфейса Мобильное устройство, и увидеть, как будет выглядеть форма в стандартной ориентации.
Тут же вы можете повернуть мобильное устройство.
Кроме этого мы предоставили вам возможность выбрать из большого числа распространенных устройств.
Помимо этого вы можете просматривать «мобильные» формы в трех разных масштабах:
В мобильную платформу мы добавили ряд новых объектов, которые позволяют вам формировать пакеты отображаемых документов. Эта функциональность аналогична той, которая имеется в платформе для персональных компьютеров. Таким образом, теперь вы можете, например, отправлять на печать сразу несколько документов.
Мы реализовали поддержку службы push-уведомлений Windows (WNS , Windows Notification Services). Теперь вы можете использовать функциональность доставляемых уведомлений при работе мобильного приложения на платформах семейства Windows.
Также мы переработали систему обработки ошибок отправки доставляемого уведомления. В ситуациях, в которых раньше ошибка выдавалась исключением, теперь она выдается в виде значения, которое вы можете обработать во встроенном языке.
На версиях операционной системы Android 4.4.2 и выше мобильная платформа теперь использует аппаратное ускорение. Это позволило увеличить скорость отрисовки интерфейса в 1,5 – 3 раза.
Теги: мобильная платформа
wonderland.v8.1c.ru
Среда исполнения мобильных приложений.
Работает под управлением операционных систем iOS и Android. По сравнению с платформой 1С:Предприятия имеет ряд ограничений, например:
Существует две версии мобильной платформы:
Общее название технологии мобильных приложений 1С:Предприятия 8. Включает в себя мобильную платформу и методику создания и публикации мобильных приложений.
Версия мобильной платформы, используемая для сборки мобильного приложения.
Не обладает возможностями проверки обновлений мобильного приложения и загрузки его с веб-сервера, но позволяет создавать информационные базы на мобильном устройстве на основе имеющихся шаблонов мобильных приложений.
Версия мобильной платформы, используемая в процессе разработки, отладки и тестирования мобильных приложений.
Обладает возможностью загрузки мобильных приложений, опубликованных на веб-сервере, и возможностью автоматического перезапуска мобильного приложения при наличии его обновления на веб-сервере.
its.1c.ru
Главная Заметки из Зазеркалья
Реализовано в версии 8.3.6.182 мобильной платформы.
Мы значительно переработали интерфейс мобильной платформы для того, чтобы приложения 1С:Предприятия выглядели естественными для той системы, на которой они выполняются: iPhone, Android смартфон или планшет. Основным нашим стремлением было сделать интерфейс более современным, органичным и удобным. В то же время мы попытались по внешнему виду приблизить его к интерфейсу Такси.
Новшеств и деталей в новом интерфейсе много. В этой короткой заметке мы даже не стремимся перечислить их все. Мы лишь хотим показать, в какую сторону мы развиваем мобильный интерфейс, каковы основные идеи, заложенные в его основу.
Мы внимательно изучили последние тенденции в развитии мобильных интерфейсов. Разработчикам, привыкшим к программам для настольных компьютеров, эти тенденции могут показаться необычными. Если попытаться сформулировать их в двух словах, то главная идея заключается в том, что оформление не должно конкурировать с содержимым. Наоборот, оформление должно помогать воспринимать содержимое.
Мы заметили, что в последнее время в мобильных интерфейсах разных вендоров ушли в прошлое яркие цветные фоны, исчезли градиенты на элементах управления, пропали рамки у полей ввода и у кнопок. Остался только текст и картинки. Причём картинки тоже утратили всё богатство цвета. Они стали отображаться в плоском виде, отрисовываться контурными линиями, одним цветом. Это делает их похожими на символы шрифта.
Такой же подход мы решили использовать в интерфейсе мобильной платформы. Например, кнопки регулирования, открытия, выбора выглядят теперь так:
А поле флажка имеет только два состояния и отображается специфичным, для мобильного интерфейса, образом:
На этих же рисунках видно, что многие элементы формы теперь не имеют рамок. Чтобы они не смешивались друг с другом, мы оформляем их в виде строк, которые отделяются горизонтальными линиями, очень похожими на школьную тетрадь.
Заголовки полей, значения полей, и заголовки кнопок теперь отличаются друг от друга только цветом и смыслом текста. Так заголовки полей отображаются серым цветом, значения полей чёрным цветом, заголовки кнопок - зелёным. Причём заголовки полей во многих случаях вы можете не использовать, а заменять их подсказкой ввода. Чтобы экономить место на форме:
Кнопки отличаются не только зелёным цветом заголовков, но и смыслом. Например, слово Добавить. Оно само приглашает его нажать.
Ещё один приём, благодаря которому освобождается дополнительное пространство для размещения данных, это новый заголовок окна. В нём располагается командная панель формы, а полный набор команд открывается в выпадающем списке:
Поля ввода ведут себя теперь чаще всего как кнопка, а не как поле для ввода текста. Особенно это касается полей ввода даты, чисел и полей выбора. Известно, что на мобильных устройствах гораздо проще что-то прокрутить, выбрать, проще нажать на большие кнопки. Но не всегда удобно набирать текст на клавиатуре. Поэтому для выбора даты мы открываем барабан календаря, а для ввода чисел - калькулятор:
Поля ввода с быстрым выбором теперь не позволяют вводить текст, а просто ведут себя как одна большая кнопка выбора:
При запуске приложения мы отображаем теперь полноэкранную картинку, которую вы можете задать самостоятельно. В определенный момент времени в нижней части экрана появляется логотип и копирайт фирмы «1С», перекрывая часть картинки:
Задумываясь о начальной странице, мы обратили внимание на то, что во многих мобильных приложениях она используется для отображения меню, состоящего из больших кнопок. С помощью этих кнопок пользователь выбирает, что он будет делать дальше.
Чтобы упростить разработку такого меню в мобильных приложениях 1С:Предприятия, мы сделали специальный режим отображения начальной страницы. В этом режиме команды основного раздела отображаются на начальной странице в виде больших кнопок с картинками и подписями:
Кроме самого меню на этой странице вы можете показать произвольную форму начальной страницы. Такая форма может понадобиться, когда кроме меню вы хотите отобразить какие-то дополнительные команды. Например, для обновления данных, для настройки и тому подобных действий.
Ещё одно новшество касается меню функций. Теперь его можно вызвать не только нажатием на кнопку, но и жестом вправо:
В таблице формы появилось несколько новых возможностей. Например, специальное поле ввода для полнотекстового поиска. По мере ввода текста список обновляется, отображая найденные строки:
Это поле может быть изначально скрыто или может быть всегда видимо. Это вы можете настраивать. Если поле скрыто, то пользователь может прокрутить список «за» область данных, и поле появится.
Ещё две важные новые функции таблицы, это упорядочивание строк жестами и множественное выделение. Упорядочивание строк включается специальной командой таблицы. После этого в таблице появляется область, в которой можно схватить и тащить строку, тем самым упорядочивая список:
Множественное выделение тоже включается специальной командой. В результате этого строки можно пометить и команды будут действовать на все помеченные строки:
Также хочется упомянуть и контекстное меню в таблице. Оно появляется прямо в строке. Для этого строку нужно сдвинуть жестом влево:
Вообще, в нормальном режиме, в таблице нет текущей строки. Она неопределена. А во время исполнения команд контекстного меню таблицы текущая строка определена и равна той строке, в которой это контекстное меню было вызвано. Поэтому в контекстном меню отображаются только те команды, которые реально используют текущую строку. Остальные команды, которые не используют текущую строку, переносятся в командную панель таблицы.
Мы добавили два новых режима отображения страниц формы. Один из них не имеет аналога в платформе для персонального компьютера и называется «пролистывание»:
В этом режиме закладки выводятся в виде точек под страницей. Ни текст, ни картинка закладок не отображаются. Сами страницы можно листать горизонтальным жестом вправо - влево. Это очень похоже на главное меню телефона.
Если у формы есть команды навигации, то панель навигации отображается в нижней части в виде переключателя. С помощью него можно выбрать активную форму.
В табличном документе пользователь теперь может выделить произвольный диапазон ячеек, после чего появится контекстное меню. Оно позволяет, например, скопировать выделенную область в буфер обмена, вывести расшифровку. Также в это меню вы можете добавить собственные команды.
Ещё одно новшество, которое мы реализовали для табличного документа, это масштабирование двумя пальцами. Оно позволяет изменять масштаб от 50 до 300 процентов:
Как мы уже говорили в начале, это лишь часть изменений, которые мы реализовали в интерфейсе мобильной платформы. Мы очень старались, создавая новый интерфейс, и надеемся, что он поможет вам разрабатывать самые удобные, красивые и современные мобильные приложения на платформе 1С:Предприятия.
v8.1c.ru