Мобильное приложение или веб-клиент 1С
Видеоматериал:
ВСЕ ДЕЛО В АДАПТИВНОСТИ
Веб-клиент 1С
Возможность работать в программе 1С через браузер без привязки к офису сейчас уже достаточно повседневное явление. Т.е. пользователь открывает ту же программу что за обычным рабочим местом, только вместо ярлычка на рабочем столе запускает ссылку в браузере. Внешний вид программы на обычном рабочем месте (в офисе) и интерфейс, запускаемый через браузер одинаковые. При этом 1С через браузер запускается со всех устройств, в том числе и телефонов. Но на телефоне работать хоть и можно но очень неудобно, так как интерфейс неадаптивный и по сути не предназначен для работы через мобильные устройства.
Мобильное приложение 1С
РАЗРАБОТКА
Принципиальное отличие двух приложений в том, что для веб-клиента нет необходимости разработки, а для мобильного приложения нужно разрабатывать интерфейс и план обмена данными. Исключением на данный момент является конфигурация 1С УНФ в поставку которой уже включена возможность использовать параллельно десктопную версию и мобильный клиент. Для синхронизации версий нужно лишь выполнить настройку публикации базы данных.
Таким образом, если у вас есть реальная задача, связанная с необходимостью просто и удобно выполнять на телефоне или планшете рабочие задачи, то вам необходима разработка мобильного приложения 1С.
Наиболее частые функции выполняемые через мобильное приложение 1С
— внесение заказов клиентов
— внесение денег в кассу
— маршруты торговых представителей
— отчеты для руководителей
— обмен сообщениями, поручениями
На данный момент есть несколько готовых решений на базе мобильной платформы 1С. Есть бесплатные решения на базе конфигурации УНФ и платные, выпускаемые «Моби-С». Решения «Моби-С» в основном заточены под мобильную торговлю и контроль работы торговых представителей.
Лицензия на одно мобильное рабочее место стоит примерно 115 у.е.
Если у вас возникли вопросы или задачи в области внедрения или разработки мобильного приложения, обращайтесь к нам за консультацией, по контактам, указанным на сайте.
Заметки из Зазеркалья
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.12.64 мобильной платформы.
Мы реализовали новую технологию – мобильный клиент. Она позволяет создавать приложения для мобильных устройств, которые сочетают в себе удобный интерфейс мобильной платформы и онлайн-работу с информационной базой по аналогии с тонким клиентом.
Сценарии мобильной работы
До недавнего времени платформа «1С:Предприятие» предлагала единственную технологию, с помощью которой можно было работать с её приложениями, используя мобильные устройства. Это мобильная платформа.
Эта технология позволяет создавать специализированные офф-лайн мобильные приложения, обладающие удобным и функциональным мобильным интерфейсом. Мобильные приложения разрабатываются для решения конкретных мобильных задач, максимально для них оптимизированы с точки зрения архитектуры и интерфейса. Такие приложения реализуют именно мобильные сценарии работы, с ними удобно работать как на планшетах, так и на смартфонах.
По своей архитектуре такие приложения очень похожи на файловый вариант работы системы 1С:Предприятие. На мобильном устройстве существует собственная база данных, «внутри» мобильного приложения существует как клиент, обеспечивающий взаимодействие с пользователем, так и сервер, обеспечивающий взаимодействие с базой данных.
Такие мобильные приложения могут взаимодействовать с «основным» приложением, установленным в офисе. Но это не онлайн взаимодействие, а периодический обмен данными с бэк-офисом. Основная работа в мобильном приложении ведется в оффлайн-режиме. А при появлении интернет-соединения выполняется синхронизация данных.
Таким образом мобильная платформа хорошо подходит для разработки автономных рабочих мест сотрудников, которые находятся вне компании и не имеют надежного интернет-соединения с офисом. Однако такие рабочие места, как правило, обладают ограниченной функциональностью, меньшей, чем функциональность «основного» приложения. К тому же они не обеспечивают онлайн-взаимодействие с информационной базой.
Получается, что неохваченным оказывается значительный круг задач, обладающий следующими характерными особенностями:
Мобильный клиент
Для решения такого класса задач мы разработали мобильный клиент. Мобильный клиент это тонкий клиент для мобильных устройств, который обладает интерфейсом, аналогичным мобильной платформе. Дистрибутив мобильного клиента содержит все необходимые исполняемые файлы, из которых разработчик может собрать приложение для мобильного устройства аналогично тому, как собираются мобильные приложения из мобильной платформы.
Такое приложение, с одной стороны, может напрямую взаимодействовать с кластером серверов 1С:Предприятия точно так же, как это делает тонкий клиент. С другой стороны мобильный клиент обеспечивает автоматическую трансформацию форм, декларативно описанных в конфигурации, в интерфейс, аналогичный интерфейсу мобильной платформы.
Формы, разработанные для настольной версии 1С:Предприятия, он автоматически компонует таким образом, чтобы обеспечить удобство работы с ними на маленьких экранах мобильных телефонов на приемлемом уровне.
Конечно, для того, чтобы эта трансформация выполнялась ещё лучше, специально для мобильного клиента нужно указать некоторые новые свойства элементов формы, избавиться от каких-то особенных и нестандартных интерфейсных решений. То есть требуется некоторая переработка прикладного решения именно под мобильного клиента. Но эта переработка гораздо проще, чем создание специализированного полнофункционального мобильного приложения.
Потенциальные пользователи
На наш взгляд эта технология будет востребована в тех внедрениях, где обязательно требуется онлайн доступ в систему с мобильных устройств. Чтобы данные, введенные на мобильном устройстве, попадали непосредственно в «общую» базу данных, минуя промежуточные шаги синхронизации.
Также мобильный клиент будет востребован в небольших компаниях, у которых нет ни бюджета, ни времени для разработки специализированных мобильных приложений. Ведь по нашим оценкам наиболее сложным этапом разработки мобильных приложений является как раз создание системы обмена данными.
Кроме этого мобильный клиент будет полезен для пользователей сервисов, работающих на базе технологии 1Сfresh. Это сервисы 1Сfresh.com и «Бухгалтерское обслуживание», поддерживаемые фирмой «1С», а также любые другие сервисы, развернутые с использованием этой технологии.
Функциональность
Если сравнивать функциональность мобильного клиента с тем, что «умеет» тонкий клиент, то тут есть не только ограничения, но и преимущества.
Важное преимущество мобильного клиента заключается в том, что он содержит всю функциональность мобильной платформы, обусловленную самими используемыми устройствами. То есть он позволяет, например, делать фотографии, набирать номер абонента, принимать PUSH-сообщения, и многое другое.
Другое преимущество мобильного клиента заключается в том, что он работает не только с той версией сервера, для которой он был собран. Он будет работать почти что с любой версией сервера до тех пор, пока не произойдёт какое-то существенное изменение протокола обмена или архитектуры платформы. Мы сделали это потому, что публикация мобильных приложений достаточно трудоемкий и длительный процесс, который практически невозможно выполнить одновременно с переводом кластера серверов на новую версию платформы.
Если говорить об ограничениях, то самым очевидным из них является то, что мобильный клиент взаимодействует с кластером серверов только по протоколу HTTP(HTTPS).
Другое ограничение, впрочем, как и для мобильной платформы, заключается в недоступности некоторых объектов встроенного языка и некоторых элементов интерфейса. Но мы будем стараться эти различия минимизировать по мере развития мобильного клиента.
Автоматизация построения интерфейса форм
При создании мобильного клиента мы уделили много внимания тому, чтобы адаптация конфигурации для мобильного клиента требовала минимальных усилий. Мы разработали несколько технологий и подходов, чтобы большие формы, разработанные для настольной версии, автоматически адаптировались к маленьким экранам мобильных устройств.
Например, мы выяснили, что большие формы, как правило, имеют незначительное количество важных элементов. То есть таких элементов, работа с которыми идет постоянно. И в то же время в них есть много менее важных элементов, работа с которыми работа выполняется время от времени.
Например, важные элементы это таблица динамического списка в форме списка, табличный документ в форме отчёта. Важные колонки это, например, колонки «Наименование» и «Дата».
Соответственно чтобы обеспечить достаточный уровень удобства работы с формой, мобильный клиент важным элементам даёт больше места на форме, а менее важным элементам даёт меньше места, убирая их, например, в сворачиваемую группу.
Во-вторых, мобильный клиент разворачивает горизонтальные группы вертикально, если они не помещаются по ширине экрана. На мобильных устройствах не принято и неудобно прокручивать форму по-горизонтали, поэтому такое решение вполне удобно и оправдано.
Адаптация конфигураций к мобильному клиенту
Несмотря на всю автоматизацию, от разработчика конфигурации все равно потребуются некоторые усилия для адаптации прикладного решения для мобильного клиента.
Не углубляясь в подробности можно сказать, что все такие доработки укладываются в два основных направления.
Первое, это избавиться от особенных и специфических интерфейсных решений, больше полагаясь на автоматическую компоновку форм, выполняемую платформой на основе информации о типах данных. Такими специфическими решениями могут быть фиксированные размеры полей, жестко установленная горизонтальная группировка элементов и тому подобное.
Другое направление – это подсказать мобильному клиенту дополнительную информацию об элементах формы. Мы научили мобильный клиент легко распознавать элементы в стандартных или в небольших формах, и определять их важность. Но если форма нестандартная или большая, то будет полезно вручную указать, какие из ее элементов являются более и менее важными. Для этого вы можете использовать новое свойство элементов – ВажностьПриОтображении: высокая, обычная, низкая и т.д.
Также, вероятно, нужно будет проанализировать те места прикладного решения, в которых алгоритмы работы для тонкого клиента и для веб-клиента различаются. Это нужно сделать для того, чтобы указать, какой из алгоритмов будет использоваться при работе в мобильном клиенте. Для этого мы добавили новую директиву компиляции МобильныйКлиент.
Дистрибутив, сборка и публикация
Мобильный клиент, по сути, представляет собой некоторую «оболочку», которая может запустить то или иное прикладное решение. При этом функциональность запускаемых прикладных решений может сильно отличаться друг от друга. В то же время магазин приложений AppStore, требует, чтобы приложение, опубликованное в магазине, не меняло значительно свою функциональность после публикации.
Поэтому мы не публикуем мобильный клиент как отдельное универсальное приложение. Мобильный клиент поставляется вместе с мобильной платформой в виде набора исполняемых файлов. На основе этих файлов разработчик должен собрать приложение, которое будет работать на мобильном устройстве. Процедуры сборки и публикации приложений, что для мобильной платформы, что для мобильного клиента, схожие. Используется один и тот же инструмент – сборщик мобильных приложений.
Чтобы мобильный клиент, публикуемый в магазин приложений, имел фиксированную функциональность, при его сборке необходимо указать конкретные конфигурации, с которыми будет работать это приложение. В процессе работы мобильный клиент проверяет, что используется только одна из заданных конфигураций и без существенных изменений. Это специальная защита для того, чтобы мобильный клиент, который опубликован для определенных конфигураций, не мог работать с другими конфигурациями. Как показывает практика, пользователям удобно, чтобы одно мобильное приложение соответствовало какой-то одной конфигурации, или схожим конфигурациям.
Мобильная платформа 1С:Предприятия в действии
В предыдущей статье мы рассказывали о том, что такое мобильная платформа 1С:Предприятия – набор инструментов и технологий для быстрой кросс-платформенной разработки мобильных приложений. Сегодня мы расскажем, какие приложения делаются с помощью мобильной платформы как самой фирмой «1С», так и нашими партнерами и сторонними разработчиками.
Перечислены лишь несколько приложений; чтобы написать обо всех приложениях, не хватит одной статьи, даже если говорить только о приложениях, созданных фирмой «1С». Это и мобильный клиент 1С:Документооборота, и мобильные клиенты 1С:БухОбслуживания и 1С:Бухгалтерии (работают с облачными версиями 1С:Бухгалтерии или 1С:Предпринимателя, находящимися в нашем облачном сервисе http://1cfresh.com), и Монитор ERP (широкий спектр отчетов, строящихся на основании данных из 1C:ERP или 1С:Управления Торговлей), и 1С:Заказы (приложение для работы с клиентскими заказами «в полях»), и 1С:Мобильная Касса, и другие.
1С:Управление Небольшой Фирмой
Тип решения: тиражное, бесплатное
Количество инсталляций: свыше 170.000
Мобильные ОС: Android, iOS, Windows Phone
Мобильная 1С:Управление Небольшой Фирмой (сокращенно УНФ)- мобильная версия нашей популярной программы для ведения дел небольшой организации. Программа автоматизирует торговую деятельность, позволяет вводить и распечатывать заказы на покупку и продажу, вести базу покупателей и поставщиков, вести каталог товаров и их учет (цены, остатки на складе), встроенная фотокамера устройства используется для фотографий товаров и распознавания штрих-кодов. Есть несколько типов отчетов. Счета на оплату можно отсылать клиентам через встроенный почтовый клиент мобильного устройства или через SMS.
Приложение оффлайновое — все данные оно хранит на мобильном устройстве. Есть опция синхронизации с «большим» приложением 1С: УНФ, расположенным на сервере или в облаке. Приложение бесплатное, новая версия дает также бесплатный доступ к «большой» версии 1С: УНФ, расположенной в облачном сервисе http://1cfresh.com; в случае бесплатного доступа три мобильных устройства могут синхронизировать свои данные с облачным приложением (а через него – между собой), а один пользователь – работать непосредственно с «большой» версией УНФ в облаке через тонкого или веб-клиента (функциональность «большого» УНФ в этом случае ограничена до функциональности мобильного приложения). В случае покупки облачного УНФ с ним может работать неограниченное количество мобильных устройств, и все ограничения по его функциональности снимаются.
Многие пользователи мобильного УНФ пользуются только мобильной версией приложения – для их задач функциональности мобильной версии вполне достаточно. Многие из пользователей до работы с мобильным УНФ были незнакомы с продукцией 1С – им просто было нужно мобильное приложение для автоматизации торговой деятельности (учет заказов, простой расчет рентабельности и т.п.), и они нашли УНФ в AppStore или GooglePlay. По мере развития бизнеса и роста потребностей в автоматизации часть пользователей «дорастают» до «большой» версии УНФ и приобретают ее в коробочном или облачном варианте.
Мобильное приложение для компании Вкусвилл
Тип решения: заказное
Количество инсталляций: около 200
Объем разработки: 5 человеко-месяцев (выпуск первой версии)
Мобильные ОС: Android
У сети магазинов натуральных продуктов для здорового питания «Вкусвилл» с продукцией «1С» отношения интересные. Систему для управления бизнесом компании «Вкусвилл» изначально написал на «1С:Предприятии» сам собственник бизнеса, Андрей Кривенко. Позже поддержку и развитие системы взяла на себя компания «Автоматизация и Консалтинг». Она же, по заказу «Вкусвилла», сделала и мобильное приложение на платформе «1С».
Лучше здесь процитировать самого Андрея Кривенко, владельца компании (интервью сайту «РБК»):
— Один из последних больших проектов — мы внедрили в нашу операционную систему мобильный телефон. Мы запретили офисным сотрудникам бывать в магазинах. Сейчас у нас в каждом магазине все фотографии стекаются в единую систему. Это позволяет контролировать все возвраты, списания, какие-то нюансы по качеству — все идет через телефон. Если в магазине что-то сломалось, не нужно объяснять — сделал фото, мы тут же в центре увидели. На складе через сканеры телефонов контролируем всю приемку товара. У водителей контролируем разгрузку. Такой большой круг мы замкнули.
— Сколько это вам стоило?
— Это все стоило копейки. Например, телефоны нам «МегаФон» продал по 1 руб., софт — это все на 1С. Примерно в десять раз дешевле, чем стоимость, по которой пишут мобильные приложения. Это обычная система 1С, только запускается не на компьютере, а на мобильном телефоне. Весь проект — несколько миллионов рублей. Экономия — миллионы в месяц.
От начала разработки до выхода пилотной версии прошло 2.5 месяца, до первой рабочей версии – 5 месяцев. Характерная особенность приложения – большой объем фотографий, выполняемых камерой мобильного устройства. В ходе одного отчета, ежедневно отправляемого из магазина в головной офиса, объем фотографий варьируется от 300 Мб до 1 Гб. Также приложение использует PUSH уведомления – с их помощью сервер сообщает мобильным приложениям о получении для них служебных сообщений (например, об изменениях в правилах работы магазинов).
Планирование оперативного управления производством
Тип решения: заказное
Количество инсталляций: свыше 100
Объем разработки: 4 человеко-месяца
Мобильные ОС: iOS
Один из наших клиентов, АО «АтомЭнергоМаш технологии», внедрил на своих предприятиях решение «1С:Управление производственным предприятием». В ходе эксплуатации решения возникла необходимость работать с решением непосредственно из цехов предприятия.
Один из видов продукции, выпускаемой предприятиями «АтомЭнергоМаш» — это комплектующие для атомных реакторов. Огромные изделия, размером с самосвал, изготавливаются в цехах предприятий, проходят обработку, покраску, ряд других операций, и отгружаются заказчикам. Каждая операция должна фиксироваться в программе. Но, по соображениям техники безопасности, стационарные рабочие места в цехах оборудовать было нельзя.
Было принято решение – вести работу в цехах с мобильных устройств. За 4 человеко-месяца (часть времени заняла постановка задачи) партнером 1С – компанией «Неосистемс» — было создано мобильное приложение для планирования оперативного управления производством, синхронизирующееся с серверным решением «1С:Управление производственным предприятием». Приложение производит, в частности, поиск номенклатуры изделия по штрих-коду (считываемому камерой мобильного устройства), обеспечивает доступ к технологическим картам, осуществляет выдачу заданий сотрудникам, позволяет отмечать факты выполнения производственных и контрольных операций. Более 100 сотрудников компании используют мобильное приложение, в том числе в тех местах на производстве (горячие цеха, склады и т.п.), где невозможно установить стационарные рабочие места или где требуется повышенная мобильность сотрудников.
Мобильный Торговый Агент
Тип решения: заказное
Объем разработки: 6 человеко-дней (выпуск первой версии)
Мобильные ОС: Android
Слово автору приложения, Андрею Леонтьеву (компания «Алиас», г. Красноярск).
А также перечень сугубо индивидуальных требований клиента, которые не вписывались в возможности ни одного существующего на сегодняшний день готового решения.
Если нет готового решения удовлетворяющего ВСЕ требования клиента, решение очевидно – необходимо разработать индивидуальное решение для конкретного заказчика. Но что делать, если бюджет и сроки весьма сжаты? Вот тут-то мы и подошли к вопросу о технологии.
Писать приложение совсем с нуля дело не простое и не быстрое, но если взять платформу адаптированную под написание подобных приложений – дело пойдет значительно быстрее, именно поэтому наш выбор пал на новую технологию разработки приложений для мобильных устройств от фирмы 1С «Мобильная платформа 1С:Предприятия 8».
Покопал демонстрационные приложения на мобильной платформе – мне понравилось все, мучал только один вопрос, а сможет ли эта платформа обработать такие объемы информации и насколько быстрым будет процесс обмена с центральной базой. Именно это первым делом я и решил выяснить.
1С:Миниденьги
Тип решения: тиражное, платное
Мобильные ОС: iOS, Android
Приложение для учета личных и семейных финансов. Поддержка разных валют (с обновлением курсов валют через Интернет), учет кредитных карт, остатка лимита и процентов по ним, учет процентов и комиссии при расчетах по банковским кредитам и т.д. Приложение может работать автономно, а может синхронизироваться с десктопной программой 1С:Деньги. Синхронизация с 1С:Деньгами может производиться через Яндекс-диск или Dropbox; в мобильном и десктопном приложениях надо лишь указать аккаунт и пароль для Яндекс-диска или Dropbox-а, вся синхронизация пройдет автоматически. Также возможен вариант синхронизации через веб-сервис, развернутый на стороне приложения 1С:Деньги.
Личные Финансы
Тип решения: тиражное, платное
Мобильные ОС: iOS, Android
Приложение для учета личных финансов. Учет доходов и расходов, контроль бюджетов, планирование и прогнозирование, большой спектр отчетов.
Приложение может работать автономно, а может хранить мастер-базу на ресурсе Dropbox. Во втором случае несколько экземпляров мобильного приложения, установленные на разные устройства, могут работать с одними и теми же данными, синхронизируясь через базу на Dropbox-е.
Методика адаптации конфигураций под Мобильный клиент
Общая информация
Начиная с версии платформы 8.3.12 в распоряжении разработчиков появилась еще одна технология создания приложений для мобильных устройств – мобильный клиент. Несмотря на схожесть в названиях – «мобильная платформа» и «мобильный клиент», эти две технологии создания приложений для мобильных устройств имеют разное назначение.
Мобильная платформа используется при создании мобильных приложений, которые предназначены для решения определенных задач (например, автономное рабочее место сотрудника, который находится вне компании и не имеет надежного интернет-соединения с офисом) и изначально обладают интерфейсом, разработанным с учетом возможностей мобильных устройств. Такие приложения могут работать в оффлайн-режиме и требуют периодической синхронизации данных с общей информационной базой, располагаемой в офисе или в «облаке».
Мобильный клиент – это аналог тонкого клиента, предназначенный для мобильных устройств. Он позволяет в режиме онлайн получить доступ с мобильных устройств практически ко всей функциональности приложений, которые поддерживают работу через тонкий клиент или веб-клиент. Мобильным клиентом предполагается пользоваться в тех случаях, когда требуется онлайн-доступ к информационной базе с мобильных устройств – например, при использовании сервисов на базе технологии 1С:Fresh. При этом, в отличие от мобильной платформы, данные, введенные на мобильном устройстве, будут сохраняться в общей информационной базе сразу же, без необходимости в дополнительной синхронизации. В мобильном клиенте поддерживается работа системы взаимодействия. Для реализации дополнительной функциональности можно использовать механизм расширений.
Мобильный клиент
Приложение для мобильного клиента является адаптацией прикладного решения, которое поддерживает работу в тонком клиенте или веб-клиенте. Мобильный клиент взаимодействует с информационной базой по протоколу HTTP/HTTPS и, соответственно, может работать только с теми информационными базами, которые опубликованы на веб-сервере.
Так как в отличие от компьютеров мобильные устройства отличаются большим разбросом форм-факторов, разрешений экранов, работой в книжном и альбомном режимах и пр., приложение, планируемое к работе в мобильном клиенте, возможно, будет нуждаться в адаптации под мобильный форм-фактор.
Адаптация. Анализ кода
В ходе адаптации необходимо проанализировать код прикладного решения в тех местах, где алгоритмы работы для тонкого клиента и веб-клиента отличаются. Функциональность, которая должна быть доступна на мобильном клиенте указывается директивой препроцессора МобильныйКлиент. Можно начать с того, что везде, где в коде есть директива «#Если НЕ ТонкийКлиент Тогда» и/или «#Если НЕ ВебКлиент Тогда», добавить директиву «И НЕ МобильныйКлиент» чтобы получилось так, как показано ниже.
Далее следует выполнить проверку конфигурации – в конфигураторе выбрать «Главное меню – Конфигурация –Проверка конфигурации», включив опцию «Мобильный клиент».
В тех случаях, когда на сервере требуется получить информацию о том, что сеанс запущен на мобильном клиенте, например, для сбора статистики, тарификации и пр., можно, например, сделать так:
1. Завести булевый параметр сеанса МобильныйКлиент
2. В модуле приложения в блоке #Если МобильныйКлиент устанавливать параметр сеанса в значение Истина, #Если Не МобильныйКлиент – в значение Ложь
3. В серверном коде проверять значение параметра сеанса
Адаптация. Анализ интерфейса
Общие сведения об интерфейсе приложения
Интерфейс мобильного клиента похож на интерфейс приложения, созданного на мобильной платформе. Это накладывает определенные ограничения. Так, например, на экране в один момент времени может отображаться только одна форма, экран имеет относительно небольшую ширину. Как правило, на мобильных устройствах используется только вертикальная прокрутка формы, прокрутка формы по горизонтали не применяется.
Глобальный командный интерфейс
При работе в мобильном клиенте в каждый момент времени на экране устройства отображается одна форма. Под форму освобождается максимум свободного места на экране. Это приводит к тому, что команды, которые на экране компьютера формируют командный интерфейс основного раздела (панели навигации и действий), на мобильном клиенте собираются в главное меню приложения. Сюда также включаются и команда возврата на начальную страницу, список разделов (команды каждого раздела отображаются в виде подменю), а также команды отображения информации о программе и перехода к списку приложений.
Начальная страница
В мобильном клиенте отображаются все доступные формы начальной страницы (указанные в настройках рабочей области начальной страницы) за исключением форм, которые недоступны в соответствии с правами доступа, а также форм, отключенных функциональными опциями.
Отображаемые формы в мобильном клиенте располагаются в виде закладок, у которых переключатель закладок расположен сверху. При запуске прикладного решения отображаются две закладки: первая видимая форма и специальная закладка, нажатие на которую приводит к загрузке всех остальных форма начальной страницы. После загрузки всех форм, под каждую форму будет создана отдельная закладка начальной страницы.
Кроме формы, на начальной странице может располагаться командный интерфейс основного раздела. Состав командного интерфейса основного раздела и на компьютере, и в мобильном клиенте аналогичен (кроме группы «См. также»). В мобильном клиенте командный интерфейс отображается в виде матрицы кнопок (каждая кнопка связана с одной командой), сгруппированной по страницам. Картинка на кнопке получается из связанной команды. Если команда не обладает настраиваемой картинкой, используется стандартная картинка для данной группы команд.
Команды выводятся так чтобы максимально заполнить рабочую область окна. Группы команд размещается на страницах так, чтобы избежать переноса между страницами, т. е. если после одной группы команд вторая не помещается полностью в оставшееся место, то она начинается с новой страницы. Если все команды не помещаются на экран, то они размещаются на нескольких страницах, которые можно пролистывать.
Адаптация форм
Свойство формы «Сворачивание элементов по важности» управляет описанной выше перестройкой форм. Значение этого свойства «Авто» аналогично значению «Использовать». Для упрощения адаптации у элементов формы (и колонок таблиц, о чем см. ниже) появляется свойство «Важность при отображении». Допустимые значения этого свойства: «ОченьВысокая», «Высокая», «Обычная» и «Низкая». Мобильный клиент обрабатывает значение свойства «Важность при отображении» следующим образом:
Если для элемента формы свойство «Важность при отображении» установлено в значение «Авто», то фактическое значение свойства будет определяться по следующим правилам:
таблица формы, отображающей динамический список;
Значение «Высокая», если источником команд для командной панели выступает собственно управляемая форма.
Изменением значений свойства «Важность при отображении» у элементов формы можно добиться желаемого вида формы на экране мобильного устройства.
Формирование заголовков автоматически сворачиваемых групп
Если у группы задач есть заголовок, но его отображение отключено, то в случае попадания этой группы в автоматически созданную сворачиваемую группу на мобильном клиенте, текст заголовка используется при формировании заголовка этой автоматически создаваемой сворачиваемой группы. В этом случае элементы группы уже не используются. Это относится и к случаю, когда сворачивается сама группы.
Мобильный клиент формирует заголовок свертываемой группы по следующему алгоритму:
Отметим, что в ряде случаев может оказаться, что заголовки, которые ранее не отображались, станут «видимыми». Поэтому может потребоваться привести заголовки «в порядок».
Улучшения в адаптируемости форм
В ряде конфигураций автоматическая командная панель по разным причинам может отсутствовать – вместо нее используются пользовательские командные панели или группы кнопок формы. Для обеспечения возможности размещения таких объектов (командные панели, группы кнопок и т.п.) в заголовке формы в мобильном интерфейсе у объекта «УправляемаяФорма» добавлено свойство «Состав Командной Панели На Мобильном Устройстве». Данное свойство влияет только на отображение элементов в мобильном клиенте, расположение и свойства элементов в объектной модели формы остаются неизменными. Свойство «Состав Командной Панели На Мобильном Устройстве» представляет собой коллекцию, содержащую элементы формы, которые в мобильном клиенте будут отображаться в командной панели формы, располагаемой в заголовке. На своих «стандартных» местах эти элементы отображаться не будут.
При использовании коллекции «Состав Командной Панели На Мобильном Устройстве» следует иметь в виду что:
Свойство «Состав Командной Панели На Мобильном Устройстве» доступно для настройки в конфигураторе и изменения, привносимые этим свойством, отображаются в режиме предварительного просмотра формы при выборе мобильного клиента.
Свойство «Состав Командной Панели На Мобильном Устройстве» доступно из встроенного языка на сервере и на клиенте. Допустимо размещение в коллекции следующих типов элементов – «КнопкаФормы», и «ГруппаФормы» видов «КоманднаяПанель», «Подменю», «ОбычнаяГруппа» и «ГруппаКнопок». Поддерживаются методы получения количества элементов в коллекции, поиска и получения позиции элемента, добавления, вставки, удаления и перемещения элементов коллекции.
Адаптация таблиц
Как мы отметили выше, в мобильной платформе таблица никогда не имеет горизонтальной прокрутки. Поэтому при отображении игнорируется фиксация колонок в таблице и значение свойства «Горизонтальная полоса прокрутки».
Свойство таблицы управляемой формы «Поведение при сжатии по горизонтали» и свойства «Важность при отображении» колонок этой таблицы управляют отображением колонок, которые не помещаются в видимой части таблицы.
Таким образом, для того, чтобы максимально повысить вероятность отображения колонки в основной части строки, необходимо присвоить ее свойству «Важность при отображении» значение «ОченьВысокая».
Работа с данными, связанными с текущей строкой таблиц
В тех случаях, когда на форме отображаются данные, связанные с текущей строкой таблицы (одной или нескольких), необходимо разделить все данные формы, связанные с текущими данными таблиц таким образом, чтобы одна группа отображала данные только одной таблицы. Для каждой такой группы следует установить свойства «Использование текущей строки» и «Используемая таблица» так, чтобы одна группа могла отображать данные только одной таблицы – в соответствии с рекомендацией размещать связанные данные в разные группы, по количеству используемых таблиц.
Для таблиц, которые используются в качестве источников данных для вспомогательных данных, следует установить свойство «Использование текущей строки» в значение «Выбор».
В мобильном клиенте на форме не будет групп, у которых свойство «Использование текущей строки» установлено в значение «Использовать».
Для того чтобы увидеть связанные данные, необходимо открыть контекстное меню на выбранной строки и выбрать специальную команду, выбор которой откроет окно с данными. Название команды формируется как имя скрытой группы. Если в данной таблице текущие данные отображаются в нескольких группах – название команды будет сформировано из заголовков всех групп, объединенных символом «,».
Использование «Избранное»
Существует возможность программного управления списком избранного. Для этого служит объект “Избранное Работы Пользователя”. Его можно получить из общего одноименного хранилища системных настроек. Каждый элемент списка избранного имеет тип “Элемент Избранного Работы Пользователя”. У этого типа есть булево свойство “Важное”. Добавление элемента с установленным значением свойства “Важное” равным “Истина” в список избранного позволит настроить этот список из кода приложения таким образом, что важные для пользователя элементы будут отображаться в верхнем меню приложения.
Ниже показаны примеры отображения экранов прикладного решения «1С:ERP Управление предприятием 2» на экране компьютера и на мобильном устройстве, в мобильном клиенте.
Адаптация. Использование возможностей мобильных устройств
Так как адаптируемое приложение предназначено для работы на мобильном устройстве, в него можно добавить ряд дополнительных возможностей. Перечислим лишь некоторые из них – выполнение звонков из приложения, работа с электронной почтой, работа с SMS/MMS- сообщениями, получение данных о местоположении (координат), сканирование штрих и QR-кодов, запись аудио- и видео и т.п.
Проверка адаптированного решения
Проверка в конфигураторе
Самый простой способ проверки адаптированного решения – это предварительный просмотр форм прямо в конфигураторе. Для этого следует переключиться в мобильный режим и выбрать требуемое мобильное устройство. Если требуемого мобильного устройства нет в списке, следует выбрать устройство наиболее близкое по размеру экрана.
Проверка на мобильном устройстве
Для более полной проверки корректной работы адаптированного под мобильный клиент прикладного решения следует выполнить ряд действий.
Сначала необходимо опубликовать информационную базу на веб-сервере (команда конфигуратора Администрирование – Публикация на веб-сервере). Это требуется для обеспечения работы мобильной платформы с информационной базой по протоколу HTTP/HTTPS. Далее, на мобильном устройстве запускаем файл для установки мобильного клиента (входит в комплект поставки мобильной платформы).
Далее следует открыть приложение мобильного клиента и добавить в него адаптированное приложение, указав URL веб-сервера и каталог на сервере, в котором опубликована конфигурация.
После этого следует запустить адаптированное приложение, выполнить ряд типовых сценариев использования приложения, проверить корректность отображения экранных форм и интерфейсных элементах в книжном и альбомном режимах.
При необходимости следует внести исправления в код приложения и/или атрибуты форм и их элементов и повторить проверку работы адаптированного решения.
Проверка на устройствах с ОС Android
Стоит заметить, что в случае работы на устройствах с ОС Android можно обойтись без публикации клиентской части решения и использовать Android Debug Bridge (ADB). Более подробную информацию можно найти в соответствующем разделе документации.
Публикация решения для внутреннего использования
Если приложение предназначено для использования только внутри компании, его не обязательно публиковать в магазине приложений – достаточно выполнить следующие действия:
Разместить собранные бинарные файлы на веб-сайте и разослать пользователям ссылки на эти файлы. Для удобства пользователей можно разместить на сайте скрипт, предлагающий к загрузке файл для соответствующей мобильной ОС. В этом случае приложение для iOS должно быть собрано с лицензией разработчика iOS (iOS Developer License). На мобильных устройствах пользователей должны быть сделаны следующие изменения настроек:
Установить приложение на мобильные устройства пользователей с помощью системы MDM (Mobile Device Management), если данный сервис развернут в вашей организации.
Как встроить возможность обновления приложения
В случае выбора первого варианта (установка мобильного приложения с веб-сайта) можно реализовать опцию обновления приложения пользователями для случая, когда нужно установить на устройства пользователей приложение, собранное с более новой версией мобильного клиента 1С. Как один из вариантов можно создать в конфигурации константу, в которой будет храниться требуемая версия мобильного клиента. В конфигурацию также надо добавить код (например, в процедуре ПередНачаломРаботыСистемы()), который, в случае работы в мобильном клиенте, сделает следующее:
1. С помощью свойства СистемнаяИнформация().ВерсияПриложения узнает версию мобильного клиента на устройстве
2. Сравнит полученную версию со значением константы
3. В случае несовпадения значений предложит пользователю перейти на сайт обновления (адрес сайта можно закодировать или настроить через константу).
Заметим, что пользователь может отказаться от перехода на сайт обновления. Способа принудительно обновить мобильное приложение-клиент в случае выбора варианта 1 не существует.
Вместо выбора конфигураций из мобильного клиента, можно указать адрес информационной базы непосредственно в приложении. Для этого, в сборщике мобильных приложений для создаваемого мобильного приложения на вкладке «Конфигурации» следует указать адрес информационной базы на веб-сервере и собрать приложение. Публикация решения в магазине приложений
Если приложение предназначено для распространения через магазины приложений – App Store или Google Play, то необходимо выполнить ряд дополнительных действий. Это связано с тем, что мобильный клиент сам по себе является мобильным приложением, способным подключаться к различным прикладным решениям. Но такая функциональность нарушает требования компаний Apple (в первую очередь) и Google – требуется, чтобы опубликованное в магазине приложение значительно не меняло свою функциональность после публикации.
Процедуры сборки и публикации приложений схожие – как для мобильной платформы, так и для мобильного клиента используется единый инструмент – сборщик мобильных приложений – см. https://its.1c.ru/db/v8313doc#bookmark:dev:TI000002058.
В процессе работы мобильный клиент должен проверять что используется только одна из заданных конфигураций и без существенных изменений. Это специальная защита для того, чтобы мобильный клиент, который опубликован для определенных конфигураций, не мог работать с другими конфигурациями. Для контроля соблюдения этого требования используется цифровая подпись конфигурации, используемой в мобильном клиенте. Более подробную информацию можно найти в соответствующем разделе документации.
Сборщик мобильных приложений – указываем тип конфигурации «Для мобильного клиента»
Конфигурация – формирование подписи мобильного клиента