Мобильная платформа 1с предприятия что это такое


Мобильная платформа 1С. Обо всём и ни о чём

Но если честно, настоящая цель статьи – это:

  • Поговорить о тех возможностях, которые есть в мобильной платформе 1С.
  • Убедить вас, что мобильная платформа 1С не сильно «отвязана» от мобильной экосистемы в целом. Потому что многие считают, что 1С на мобильном устройстве – это своего рода контейнер в закрытом «черном ящике», который вообще никуда доступа не имеет. И хотя я про это уже не первый раз говорю, большинство людей меня почему-то все равно не слышит.
  • Предложить вам пару вариантов того, как можно анализировать информацию в мобильном приложении – что, к сожалению, этот вопрос большинство людей ставит в тупик.
  • Рассказать немного про монетизацию – там очень много нюансов и говорить об этом можно долго и нудно.
  • Ну и естественно, ответить на один постоянный вопрос, который возникает у всех, кто так или иначе интересовался мобильной платформой: «Что лучше, учить Java (C++ , ObjectC и др. языки для мобильной разработки) или разбираться в тонкостях разработки на мобильной платформе 1С? Что выбрать – 1С или все-таки, какие-то нативные решения?»

Проблемы в мобильной 1С

Вначале я хочу немного затронуть те проблемы мобильной платформы 1С, которые приводят в итоге к вопросу «Может быть, все-таки лучше писать какие-то нативные приложения, а не на 1С?»

  • Первая проблема – это пользователи, которые вообще не знают, что такое 1С. Мы уже привыкли, что экосистема 1С такова, что ее приложения используются везде: в браузерах, в тонких клиентах, на мобильных устройствах и т.д. – и выглядят однотипно, узнаваемо и повторяемо. Но, к сожалению, мобильный рынок не такой. На мобильном рынке очень многие люди вообще не понимают, что такое 1С, большинство из них с брендом 1С никогда не встречались.
  • Вторая проблема – это программисты, которые знают, что такое 1С. Дело в том, что когда программист начинает свой стационарный опыт переносить на мобильное приложение, это превращается в проблему.
  • Третья проблема связана уже с самой платформой 1С. До выхода 8.3.9 мобильная платформа вообще ничего не знала о том, на каком устройстве она находится и какие у него параметры. В принципе, она до сих пор не может получать об устройстве ту информацию, которая необходима для массово распространяемых мобильных приложений, для того, чтобы собирать аналитические маркетинговые данные и т.д. У мобильной платформы до сих пор нет взаимодействия с SDK-компонентами, а если и есть, то на текущий момент это реализовано в виде внешних компонент, с которыми тоже есть определенный ряд проблем.
  • Ну и естественно, четвертая проблема – это руководители, которые ничего об этих ограничениях в мобильной платформе 1С не знают. Допустим, это какой-то человек, которые ранее вел стационарные проекты 1С – у него компания, куча программистов. И он думает – ну раз стационарный рынок мы кое-как отвоевали, давайте теперь пойдем и на мобильный. И, не разбираясь, идет в омут, а потом сам себе удивляется: «а зачем я вообще выбрал 1С?»

Первая проблема – пользователи

Итак, первая проблема – это пользователи.

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

Упрощаем все настолько, чтобы пользователи в любом состоянии смогли бы в нашем приложении сделать нужные им функции. Если смогут – значит, все работает корректно. Если нет – значит, надо что-то менять.

Вторая проблема – программисты

Следующая проблема – это программисты.

  • В первую очередь, это те, которые переносят опыт работы со стационарной 1С на работу с мобильной 1С.
  • Они, естественно, уверены, что пользователь, который скачал это приложение, вообще в принципе понимает, что он делает. И если он открывает документ реализации, значит, он собирается сделать продажу. Увы, это не так. Пользователь, может быть, открывает документ реализации, чтобы попытаться сделать перемещение, а потом удивиться, почему это не работает. Такие моменты надо учитывать.
  • Кроме этого, программисты не хотят использовать тестирование. Почему я на слайде упомянул Лустина? Потому что его команда сейчас реализовала поведенческое тестирование для воспроизведения каких-то сценариев действия пользователя на виртуальных машинах, которые эмулируют Android. Это значит, что тестирование уже есть – не только стационарное, но еще и мобильное. Так что если вы занимаетесь разработкой и т.д., то рекомендую обратиться, чтобы хотя бы узнать, что это такое и как это делается. Потому что тестировать мобильное приложение – это не то же самое, что тестировать стационарное.
  • У программистов есть такая поговорка, что если чего-то нет, то это фича. И в итоге картина работы программиста получается почти такая, как на слайде. Причем это не шутка, потому что ты можешь две-три недели биться над какой-то одной проблемой и не найти для нее никакого нормального решения. И в итоге все сделаешь кое-как.

Третья проблема – мобильная платформа 1С

  • Мобильная платформа не знает, на каком устройстве она запущена и не может понять многое об устройстве как таковом. Она не может работать со сканерами отпечатков пальцев – этого многие хотели. Она не может работать с какими-то другими интересными возможностями. Она не может работать с бродкастами, что очень печально, потому что тогда бы мы могли отлавливать какие-то внутренние системные оповещения. Допустим, было бы здорово отловить момент, когда у батареи заряд 5%, записать 1С и запретить ее после этого открывать вообще, чтобы не было ситуации, когда человек работает до последнего, нажимает «Записать документ» в 100 тысяч строк и у него отключается телефон. В этот момент база рушится, и человек «рвет на себе волосы». Так бы можно было бы избежать этой проблемы.
  • Естественно, местами 1С «вылетает», и из-за этого, конечно же, бывают рухнувшие базы. В 8.3.9 эту проблему частично решили тем, что в платформу внесли такое понятие, как «Тестирование и исправление». Причем, оно выглядит точно так же, как и на стационарной 1С и выполняет, по сути, те же самые функции. И это очень актуально для мобильной платформы, потому что свободного места в мобильных устройствах все-таки не терабайты и если вы скачали в базу какие-то данные, произвели какие-то перерасчеты, у вас база может вырасти очень сильно. А с помощью «Тестирования и исправления» ее можно существенно ужать.
  • И в целом, все в мобильной платформе выглядит так, как на картинке. Особенно, когда разрабатываешь какие-то новые превнесенные возможности, никогда не знаешь, ее поведение сейчас – это баг какой-то или это нормальное поведение системы в целом. К сожалению, такая проблема на текущий момент до сих пор существует. И только с опытом ты уже начинаешь понимать, в какую сторону 1С движется, и где у нее баг, а где фича.

Четвертая проблема – руководители проектов

Кроме этого, существует проблема с руководителями проекта.

  • Во-первых, они считают, что им достаточно одного программиста 1С, и они «всех порвут», все сделают и вообще будет «бомба». Но, оказывается, найти людей, которые разбираются или хотя бы хотят разбираться в мобильной платформе, очень тяжело. И к тому же кроме самого 1С-ника надо еще целый плацдарм людей сверху накинуть. Помните картинку, где Вася яму копает, и рядом куча народу стоит: менеджер проекта, менеджер по продажам, начальник отдела и т.д. Приблизительно так это сейчас и выглядит. И, к сожалению, в мобильном мире это в принципе нормально. Но в любом случае нужен не один программист 1С – с одним не получится.
  • Кроме этого, обычно руководители считают, что продав в приложении внутреннюю подписку за один доллар, они получат с этого один доллар. Нет, это не так. И когда они говорят, что раз проект стоит 10 тысяч долларов, то для его окупаемости нужно, чтобы его купило 10 тысяч человек по одному доллару – это тоже не так. Потому что 30% комиссии забирают одни, 10% другие, 10% третьи, и в итоге получается, что остается в лучшем случае половина, и то без учета банковских переводов и т.д. Поэтому не допускайте таких ошибок. И если вы все-таки собираетесь разрабатывать, тиражировать, продавать и зарабатывать, не забывайте про эти нюансы.
  • Ну и естественно, люди, которые не принимают участия в мобильной разработке, по умолчанию, так же, как и некоторые программисты, считают, что стационарная 1С имеет тот же самый функционал, что и мобильная. Например, когда в мобильной платформе 8.3.9 появилась СКД, меня засыпали вопросами: «а как там можно вставить группировки, иерархию, покажите мне конструктор СКД». Нет конструктора СКД, есть просто объект СКД, и вы можете программно его назначать, и как угодно описывать. А СКД в виде отчета, когда вы сами можете менять положение полей, группировок и т.д., в мобильном приложении нет – все изменение поведения вам придется описывать программно.
  • Ну и естественно, большинство людей почему-то думают, что продвижение – это для «лузеров». Меня очень сильно насторожил доклад фирмы 1С, где они сказали, что не раскручивают свои разработки по мобильной платформе – у них и без этого хорошо все скачивают. Здесь я бы очень сильно поспорил, потому что фирма 1С сама по себе очень известна у нас в СНГ. А если вы, как разработчик-одиночка, либо как какая-то не столь значительная команда или компания, попробуете сделать то же самое без продвижения, я могу с 99% уверенностью сказать, что у вас вряд ли что-то получится, если только вы не выпустите какую-то «ну просто бомбу». Поэтому все-таки продвижение нужно, и если вы планируете что-то зарабатывать (либо деньги с продажи своего мобильного приложения, либо какие-то внутренние покупки, либо еще что-нибудь) без него не обойтись. Продать свое приложение просто так вы вряд ли вы сможете.

И в итоге руководитель, не зная всех этих тонкостей и нюансов, говорит программисту: «сделай вот так». И программист начинает «прыгать между кольцами», потому что реально многое в мобильной платформе 1С с ходу сделать не получится. И донести это до людей тоже сложно, потому что они говорят: «а в стационарной же было!» Это как при переходе с УТ10 на УТ11: «в УТ10 было, сделайте нам и тут так же».

Что мы получаем в итоге?

  • Пользователей, которые боятся 1С. У 1С есть свой определенный почерк, поэтому чуть более продвинутые пользователи способны отличить приложение на 1С и не на 1С. И если кто-то публикует платное приложение, нарабатывает себе аудиторию и после этого теряется – это очень печально и грустно. Поэтому если вы не хотите доводить дело до конца – не начинайте. Это очень сильно влияет на рынок. Особенно, на текущий момент.
  • Естественно, появляются злые программисты, которые уже устали от тех ошибок, которые возникают, от багов устройств, от приколов с прошивками, от неработы мобильной платформы в некоторых нюансах, от рухнувших баз и т.д.
  • Ну и естественно, мобильная платформа 1С, которая не дает развить полет фантазии. А ведь так хочется, чтобы у нас тоже было, как в приложениях от facebook, google и т.д. все так красиво, плавно, highlight –ом все подсвечивалось, лишнее убиралось. И когда начинаешь пытаться сделать что-то подобное на мобильной платформе 1С, то сразу понимаешь, что с точки зрения разработки в конфигураторе это невозможно. Но все равно какое-то чувство досады остается: «Вот я хочу командную панель для табличной части добавить не сверху, а где-то справа снизу, чтобы там была кнопочка «добавить» и еще какие-то кнопочки для расшифровки строки по какой-то аналитике. Это бы и место сэкономило, и было бы красиво». Но нельзя. Пока во всяком случае. Что будет дальше – не знаю.
  • Ну и естественно, это руководители, которые «погорели» на мобильной 1С и после этого ходят и всем рассказывают, какая 1С плохая. Они говорят: «Мы вложились, разработали вот это и вот это, и из-за того, что оно неправильно отработало, все сгорело, ничего не получилось, поэтому никто никогда не беритесь за мобильное 1С, это вообще ерунда». И поскольку я занимаюсь мобильной разработкой с момента ее появления (уже более 2-х лет), я из раза в раз такое наблюдаю, когда за всю эту кухню берутся люди, не имеющие заинтересованных программистов, которые хотят развиваться. Например, был случай, когда руководитель захотел сделать проект на мобильном приложении с программистами, которые до сих пор работали только на 7.7 и на обычных формах, а управляемые формы еще в глаза не видели. И вот он им поставил задачу перейти сразу на мобильную платформу. Это конечно похвально, только программисты не очень сильно горели желанием. И в итоге, конечно же, ничего не вышло. Когда я с ним общался, он мне говорил: «мобильная платформа не может то, не может это, она вообще ничего не может». Я ему показываю телефон: «ну вот, так может, и так может». –  «А что они мне тогда сказали, что не может?» А им просто было неинтересно разбираться.

Именно такие нюансы и стопорят прогресс мобильной платформы.

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

Соответственно, вопрос: «Может, не стоит все-таки в 1С?»

Действительно, когда ты первый раз вникаешь в тонкости разработки тиражных решений на мобильном приложении 1С, ты начинаешь реально страдать, потому что первое, что тебе говорят маркетологи, аналитики и т.д. – это: «Подключи нам Google Analytics, подключи нам печать, подключи нам то, подключи нам это». А ты им в ответ: «В мобильном приложении 1С этого не сделать».

Как можно подключить Google Analytics? Берем SDK и встраиваем. А в 1С SDK встроить нельзя.

Разбирались с подключением приложения по печати с мобильных устройств PrintHand, вышли на разработчиков, они нам говорят: «Мы вам SDK вышлем». Я отвечаю: «Нет, ребята, нам ваша SDK не подойдет, потому что мы ее не сможем встроить в наш фреймворк». Они удивляются: «А что это у вас за фреймворк такой?» Причем, ребята русскоговорящие, просто в Кремниевой долине находятся. В итоге, они специально для нас реализовали такую возможность интеграции, когда люди скачивают бесплатную версию PrintHand и регистрируются в ней через наше приложение. По-другому PrintHand к 1С нормально не подключить. Но главное, что эта проблема была решена, потому что при стандартной печати из мобильного приложения табличный документ просто переводится в картинку с потерей качества – вы на бумаге никогда четкого изображения не получите (конечно, если у вас не сверхдорогой принтер, который может это как-то нивелировать). Тем более, при помощи встроенной печати нет возможности использовать стационарные и сетевые принтеры, принтеры через Google cloud и т.д. К сожалению, пока что мобильное приложение 1С работает только так. Но теперь все эти возможности можно реализовать при помощи PrintHand.

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

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

  • Например, сейчас появилось бэкапы и тестирование и исправление баз в мобильной платформе. Раньше этого не было, и все страдали – начиная от программистов, разработчиков и заканчивая пользователями. Раньше когда пользователь гневно писал, что у него в приложении «ошибка sdbl», что-либо сделать было вообще невозможно. Зато сейчас если 1С при входе видит какую-то ошибку базы данных, она сразу автоматически без участия пользователя запускает «тестирование и исправление». У нас несколько проблемных баз таким образом «вылечились». Мы проводили на них специальные тесты – они действительно восстановились, все стало корректно, нормально.
  • Также добавили форму выбора файлов. Потому что если в windows у нас есть Explorer и 1С подразумевает, что этот компонент в системе есть всегда, то в Android-системах такого, к сожалению, нет. Там надо писать что-то свое. И вот в 8.3.9 появился выбор файлов. Теперь можно открыть окошко, перейти к нужной папке и выбрать там файл.
  • Кроме того, появились функции работы с клавиатурой. Теперь мы можем назначить тип для поля ввода: это может быть число, или обычная строка, или e-mail, или адрес. И в зависимости от выбранного типа у вас будет меняться раскладка клавиатуры. А для поля с типом e-mail будет добавляться @ и т.д. Кроме этого, вы можете переназначить действие для самой крайней правой кнопки, где обычно в 1С было «Готово». Вы можете там сделать «ОК», «Готово», «Далее», «Отменить» и т.д. Получается, что теперь вы уже более тесно интегрируетесь в экосистему в целом.
  • Добавилась возможность сделать выбранный элемент активным, и даже вызывать его на редактирование. Этого ждали очень многие – особенно те, кто работает со сканерами или терминалами сбора данных, подключаемыми по HID-интерфейсу. Теперь это, в принципе, возможно, но когда вы активируете любое другое поле, сканер у вас перестанет посылать данные. Другими словами, пока этот элемент у вас является «текущим», вы можете постоянно его переактивировать, но как только вы из этого поля вышли, со сканера вы его обратно уже не вернете. Конечно, вы можете сделать его текущим принудительно, но тогда наоборот получится, что человек не сможет нажать ни на что другое.
  • Чтобы решить эти проблемы с оборудованием, 1С сделало внешние компоненты, которые действительно дают много разных интересных возможностей. В частности, можно подключить те же самые принтеры, сканеры, дополнительное оборудование и т.д. Если вы помните, я на прошлой конференции рассказывал про утилиты Acode, которыми многие пользовались для подключения Bluetooth-сканеров. Так вот, теперь можно этого не делать, потому что 1С выпустило внешнюю компоненту, которая позволяет нам подключать Bluetooth сканеры.

Монетизация

Еще в версии 8.3.8 у нас появилась монетизация.

В связи с этим, главное, на что я хочу обратить ваше внимание – никогда не выпускайте мобильные приложения, нацеленные на бизнес, без подписок. Не продавайте свои приложения за деньги, не встраивайте в них внутренние покупки, делайте только подписки. Почему? Потому что если у вас купят 10000 приложений по одному доллару, потом люди еще 10 лет будут этим пользоваться. А другие люди их уже скачивать не будут. Получается, что у вас заработок будет минимален и растянут по времени, и вы забросите это дело. Подписка – это самое удобное именно в контексте для 1С. Поэтому всегда перед разработкой ориентируйтесь на подписку. И когда вы уже вникните во все тонкости и нюансы, принимайте какое-то конкретное решение.

Как можно интегрировать 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

Мобильный клиент | 1С:Зазеркалье

27.10.2017

Данная статья является анонсом новой функциональности. Не рекомендуется использовать содержание данной статьи для освоения новой функциональности. Полное описание новой функциональности будет приведено в документации к соответствующей версии. Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.12.64 мобильной платформы.

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

Сценарии мобильной работы

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

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

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

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

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

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

  • Взаимодействие с информационной базой должно выполняться в онлайн-режиме;
  • На мобильном устройстве должна быть доступна вся функциональность «основного» прикладного решения, даже такого крупного, как, например, «1С:ERP Управление предприятием»;
  • Интерфейс должен обеспечивать комфортную работу на любых мобильных устройствах с любым размером и расположением экрана.

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

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

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

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

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

Потенциальные пользователи

На наш взгляд эта технология будет востребована в тех внедрениях, где обязательно требуется онлайн доступ в систему с мобильных устройств. Чтобы данные, введенные на мобильном устройстве, попадали непосредственно в «общую» базу данных, минуя промежуточные шаги синхронизации.

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

Кроме этого мобильный клиент будет полезен для пользователей сервисов, работающих на базе технологии 1Сfresh. Это сервисы 1Сfresh.com и «Бухгалтерское обслуживание», поддерживаемые фирмой «1С», а также любые другие сервисы, развернутые с использованием этой технологии.

Функциональность

Если сравнивать функциональность мобильного клиента с тем, что «умеет» тонкий клиент, то тут есть не только ограничения, но и преимущества.

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

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

Если говорить об ограничениях, то самым очевидным из них является то, что мобильный клиент взаимодействует с кластером серверов только по протоколу HTTP(HTTPS).

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

Автоматизация построения интерфейса форм

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

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

Например, важные элементы это таблица динамического списка в форме списка, табличный документ в форме отчёта. Важные колонки это, например, колонки «Наименование» и «Дата».

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

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

Адаптация конфигураций к мобильному клиенту

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

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

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

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

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

Дистрибутив, сборка и публикация

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

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

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

Теги: мобильный клиент  мобильная платформа 

wonderland.v8.1c.ru

Мобильная платформа 1С

Добрый день, уважаемые читатели, предлагаем Вашему вниманию небольшую статью по созданию простого мобильного приложения на базе мобильной платформы 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее переходим на вкладку Справка и снимаем там все галочки, кроме  «Мобильное приложение–клиент», «Мобильное приложение–сервер».

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

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

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

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

Нажимаем кнопку опубликовать, после этого система спросит, нужно ли перезапустить Web-сервер, согласимся.

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

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

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

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

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

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

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

То убедитесь, что на компьютере где опубликовано приложение, корректно настроен Межсетевой экран.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

flumi.ru

Развитие мобильной платформы | 1С:Зазеркалье

06.10.2017

Данная статья является анонсом новой функциональности. Не рекомендуется использовать содержание данной статьи для освоения новой функциональности. Полное описание новой функциональности будет приведено в документации к соответствующей версии. Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.11.2867.

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

Планировщик

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

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

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

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

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

Форматированный документ

Еще один «новый» объект, который мы добавили в мобильную платформу, это ФорматированныйДокумент. С точки зрения пользователя «мобильный» форматированный документ отличается только тем, что его панель редактирования встроена в сам элемент управления, и является логической частью виртуальной клавиатуры. От вас, как от разработчиков, не требуется её отдельное добавление в конфигурацию. Панель редактирования имеет разный вид в зависимости от типа мобильного устройства (телефон или планшет).

Предварительный просмотр «мобильной» формы в конфигураторе

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

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

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

Кроме этого мы предоставили вам возможность выбрать из большого числа распространенных устройств.

Помимо этого вы можете просматривать «мобильные» формы в трех разных масштабах:

  • Пиксель в пиксель - когда пикселю экрана мобильного устройства соответствует пиксель экрана окна предварительного просмотра;
  • Реальный размер - когда размеры мобильного устройства на экране соответствует геометрическим размерам устройства;
  • По размеру окна - когда масштаб отображения подбирается таким образом, чтобы область «мобильного» дисплея помещалась в окно предварительного просмотра без прокрутки.

Пакетная обработка табличных документов

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

Развитие доставляемых уведомлений

Мы реализовали поддержку службы push-уведомлений Windows (WNS , Windows Notification Services). Теперь вы можете использовать функциональность доставляемых уведомлений при работе мобильного приложения на платформах семейства Windows.

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

Аппаратное ускорение в операционной системе Android

На версиях операционной системы Android 4.4.2 и выше мобильная платформа теперь использует аппаратное ускорение. Это позволило увеличить скорость отрисовки интерфейса в 1,5 – 3 раза.

Теги: мобильная платформа 

wonderland.v8.1c.ru

Мобильная платформа

Среда исполнения мобильных приложений.

Работает под управлением операционных систем iOS и Android. По сравнению с платформой 1С:Предприятия имеет ряд ограничений, например:

 Существует две версии мобильной платформы:

Мобильная платформа 1С:Предприятия

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

Мобильная платформа пользователя

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

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

Мобильная платформа разработчика

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

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

its.1c.ru

Главная Заметки из Зазеркалья

Реализовано в версии 8.3.6.182 мобильной платформы.

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

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

Основные идеи

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

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

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

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

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

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

Кнопки отличаются не только зелёным цветом заголовков, но и смыслом. Например, слово Добавить. Оно само приглашает его нажать.

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

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

Поля ввода с быстрым выбором теперь не позволяют вводить текст, а просто ведут себя как одна большая кнопка выбора:

Запуск приложения и командный интерфейс начальной страницы

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

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

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

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

Ещё одно новшество касается меню функций. Теперь его можно вызвать не только нажатием на кнопку, но и жестом вправо:

Таблица

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

Это поле может быть изначально скрыто или может быть всегда видимо. Это вы можете настраивать. Если поле скрыто, то пользователь может прокрутить список «за» область данных, и поле появится.

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

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

Также хочется упомянуть и контекстное меню в таблице. Оно появляется прямо в строке. Для этого строку нужно сдвинуть жестом влево:

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

Страницы и панели навигации

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

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

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

Табличный документ

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

Ещё одно новшество, которое мы реализовали для табличного документа, это масштабирование двумя пальцами. Оно позволяет изменять масштаб от 50 до 300 процентов:

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

v8.1c.ru


Смотрите также