Мобильная платформа 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 2018 Education.

См. также

Комментарии
16. Дмитрий Шерстобитов (DitriX) 2735 31.05.17 14:11 Сейчас в теме
(15)
1. Ни одного вылета после перехода на 8.3.9 с момента первой тестовой сборки.
2. Отличная производительность на слабых устрайствах, смотрите видео выше.
3. Отлично работает, надо только через обработчик ожидания активировать ее.
4. Нафиг эмуляторы :)
5. Шикарный интерфейс
6. Тут согласен, есть немного
7. Отлично работаю с html полем, даже подпись реализовал на нем от руки и каталог товаров с заказами и прочей лабудой.

Может вы что-то делаете не так? :)

На Андроид студио писал, и больше не буду, самостоятельно адекватное приложение там не написать.
Начиная от дизайна, архитектора, нюансов разных платформ плюс только под андроид. В топку :)
kyrasol; Inkasor; +2 Ответить
18. vasek (iliabvf) 01.06.17 03:35 Сейчас в теме
(16)
1. Ни одного вылета после перехода на 8.3.9 с момента первой тестовой сборки.
У нас вылеты рандомные

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

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

4. Нафиг эмуляторы :)
тут ничего не могу сказать, кроме печали...

5. Шикарный интерфейс
ну да, кто спорит

6. Тут согласен, есть немного
а ну да, я забыл есть же сжатие базы, мелочи, все ок

7. Отлично работаю с html полем, даже подпись реализовал на нем от руки и каталог товаров с заказами и прочей лабудой.
что вы реализовали? поставьте ввод строки в поле html и считайте данные с этого поля, или нажатие на кнопку в html поле. Может вы там реализовали в своей реальности считывание сетчатки глаза, но поле HTML не имеет свойства document, и это очень фигово.

На Андроид студио писал - не сомневаюсь!

Может вы что-то делаете не так? :)
Да-да, не отвлекайтесь из вашей идилии на мелочи.
19. Женя Мохин (mevgenym) 84 01.06.17 09:47 Сейчас в теме
(18) 7. Я отлавливал событие ПриНажатии, получал некую обратную связь, но на некоторых устройствах это событие не работало и отказался от интерактивности. Это было 8.3.7, может теперь исправили не проверял.
1. akimych 79 (akimych) 9 26.05.17 14:10 Сейчас в теме
Добрый день, в мобильной платформе 1С есть один скользкий момент - это политика лицензирования, она описана очень мутно. 1С пишет, что ты можешь распространить только 50 копий, а дальше или спрашивай у 1С или покупай лицензии.
А кто будет покупать лицензии? тот кто скачивает или кто распространяет?
Т.е. в любой момент 1С может запретить распространяться приложения сделанные с помощью ее платформы.

И еще объем apk созданный в мобильной платформе 1С в разы больше, чем в других ide.
AlexK_2012; frkbvfnjh; rpgshnik; CyberCerber; +4 Ответить
2. Константин Соболевский (Константин С.) 534 26.05.17 14:32 Сейчас в теме
(1) Несколько поменялось https://demo.solutions.1c.ru/portal/mobile_applications/
в т.ч. посмотрите видео, Инфостарт устраивал по теме, там словами рассказали по лицензии.
4. akimych 79 (akimych) 9 26.05.17 16:34 Сейчас в теме
(2) действительно поменялось, больше ясности стало.
суммирую, если ты сделал свое приложение и захотел его монетизировать:
- надо заключить договор с 1С
- дать доступ для 1С в свой личный кабинет в google play. 1С будет проводить аудит !!!
- отчислять 10% от стоимости приложения в 1С.

Правда это все слова и не зафиксированы в лицензионной политике, как только мобильная платформа 1С популярна и не надо будет ее продвигать, будет не 10%, а 15 и даже 20%.
alexkmbk; Gifral; +2 Ответить
3. Ivan Khorkov (vano-ekt) 1093 26.05.17 15:57 Сейчас в теме
блин, пятница... дома почитаем :-)
5. в п (panvartan) 26.05.17 17:08 Сейчас в теме
А еще, даже свежеустановленное мобильное приложение тупит так, что вспоминаешь времена Windows Mobile
6. Игорь Фелькер (Brawler) 378 27.05.17 19:43 Сейчас в теме
давайте взращивать армию тупых пользователей у которых изо рта течет слюна...
7. Яков Коган (Yashazz) 2238 28.05.17 11:16 Сейчас в теме
Перечитал вдумчиво несколько раз. Единственное желание (не как программиста, а просто человеческое эмоциональное) - отойти подальше и с "этой хренью" (сиречь мобильным 1С) никогда не связываться. Есть опытные толковые спецы и наработанные решения на других платформах и языках, вот им и флаг в руки.

Кстати, как насчёт интерфейса такси в мобильном приложении?
neikist; d4rkmesa; shard; frkbvfnjh; VladC#; varius; rpgshnik; vano-ekt; +8 2 Ответить
8. Анна Бондаренко (Ann.prog1C) 28.05.17 13:19 Сейчас в теме
Мне кажется, что пользователи не знающие что такое 1С, не являются целевой аудиторией и ориентироваться на них не стоит. Мобильная платформа хороша как дополнение к возможностям стационарной 1С. Вот в этом направлении и нужно двигаться.
boln; VladC#; varius; user761208; AlexGroovy; Brawler; +6 Ответить
9. в п (panvartan) 28.05.17 20:34 Сейчас в теме
(8)
Вот в этом направлении и нужно двигаться

в этом направление много не продашь, а у 1с обильное слюноотделение при мысли о клиентах их клиентов.
10. Дмитрий Шерстобитов (DitriX) 2735 29.05.17 13:11 Сейчас в теме
(8) Скажите это приложению GYM, от Раруса, которое вообще захватило сферу не свойственную для 1с, и тем не менее - они в топе в своем сегменте.
Так что да, можно считать что мобильная - это предаток, а можно рубить деньги, как это делает рарус :)
11. Анна Бондаренко (Ann.prog1C) 29.05.17 15:15 Сейчас в теме
(10)
GYM, от Раруса
- раньше не встречала. Действительно - интересно придумали.
Я занималась мобильным приложением 3 года назад - для фирмы делала систему сбора заказов. В принципе довела до конца и внедрила. Но продержалась всего полгода - перешли на другое приложение, так как очень много было сбоев. Как считаете, сейчас мобильная платформа стала стабильнее?
13. Дмитрий Шерстобитов (DitriX) 2735 29.05.17 22:40 Сейчас в теме
(11) у меня спокойно все работает на приличных объемах данных.
Советую посмотреть это видео:
https://youtu.be/LRAXzNIBD5I
Это то. как у меня все происходит.
Ну и про GYM детальнее тут:
https://youtu.be/ztCYKEllaq0
14. Анна Бондаренко (Ann.prog1C) 30.05.17 10:42 Сейчас в теме
(13) Спасибо. Интересно.
Собственно, у меня были следующие основные причины отказа от использования МП:
- достаточно часто падала база на мобильном устройстве в момент обмена с базой на сервере; приходилось заново загружать данные хотя бы за неделю для торгового агента и это можно было сделать быстро (5-10 мин.) только при наличии точки доступа WiFi.
- проблемы при разработке форм под палец: размеры элементов формы приходилось выставлять в абсолютных единицах, а следовательно пересчитывать под другое разрешение.

Периодически появляется желание заняться разработкой на МП, но когда вспоминаю об этих проблемах....
ejikbeznojek; frkbvfnjh; +2 Ответить
15. vasek (iliabvf) 31.05.17 08:30 Сейчас в теме
(14) Добрый день,
в данный момент разрабатываем похожее решение на 1С МП, и скажу вам что сильно пожалел что начал не на Android Studio.
Вот только несколько проблем:
1.Периодические вылеты (8.3.8, 8.3.9, 8.3.10)
2.Низкая производительность
3.Проблемп активации поля, она появилась, но работает медленно
4.МП 8.3.10 работает на эмуляторах с глюками интерфейса
5.Уродливый интерфейс
6.База данных DBF жрет много места
7.Нет возможности работать с HTML полем, только отображение

просвета пока не видно
17. shard (shard) 249 31.05.17 14:58 Сейчас в теме
(15) забыли добавить: жрет аккум. сильно.
12. cooller Пропелирович (coollerinc) 33 29.05.17 15:55 Сейчас в теме
Скролл и открытие списков, так тормозит, что стыдно показывать людям, не знакомым с 1с. Единственный выход, не выводить списки, формы делать помещающимся на 1 экран, без прокрутки
20. Дмитрий Шерстобитов (DitriX) 2735 01.06.17 12:31 Сейчас в теме
(18)
2. Открытия форм, работы с большим список товаров (более 20000 позиций), подборы товары, все с ценами и остатками.
4. А что тут говорить? Вы какой эмулятор используете? Я работаю с Генимоушеном и проблем не вижу
7. Ну если вам не хватает знаний реализовать задумки - то тут уже извините, смотрите курсы, там все это рассказано. Сетчатку глаза не считывает, но сканеры отпечатков пальцев - работают, правда на базе ВК.

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

Если у вас у вас начнет тупить сервак с 1С, вы тоже будете сидеть и плакать, что 1С Г, или будете учить мат часть и разбираться - в чем проблема? Вот тут тоже самое.
Нет идеальных программ без багов, но вы видать даже не пытались хоть что нибудь более сложное чем один лэйаут написать на андроиде, иначе бы даже не несли этот бред про простой переход. Ну ну.
21. vasek (iliabvf) 01.06.17 20:36 Сейчас в теме
(20)
Сам факт того что мне нужно писать ВК из-за криворукости фирмы которая разрабатывает мобильную платформу (я знаю что это не фирма 1С), меня удивляет. Те же мультиплатформенные движки для web-app и то позволяють создать Activity, но в 1С это закрытая коробка. СЛАВА БОГУ сделали ВК, будем скоро тестировать, уже готовлюсь к багам.

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

Идеальных программ нет, но все же резюмирую мое недовольство следующими критическими пунктами:
1.Периодические вылеты (не во всех решениях, может вам повезет) начиная с версии 8.3.8
2.Нет работы со средой андроида, я считаю это не сложно реализовать, позиция 1С мне непонятна
3.Нет свойства document в поле HTML, а оно было очень кстати для реализации интерфейсов на HTML5/JS потому что (следующий пункт):
4.КОРЯВЫЙ устаревший интерфейс за который разработчикам должно быть стыдно
5.Закрытая база данных DBF (опять стыдно), 1С специально сделали ее отличной от стандартной файловой
Это все факты и любой из них готов доказать при наличии времени.

но вы видать даже не пытались хоть что нибудь более сложное чем один лэйаут написать на андроиде, иначе бы даже не несли этот бред про простой переход. Ну ну.

Вот тут вы сильно ошибаетесь, написал уже много чего, и действительно не так страшен черт как его малюют.
22. Дмитрий Шерстобитов (DitriX) 2735 01.06.17 22:48 Сейчас в теме
(21)
1. Мне не везет, и у меня вылеты случались, но я смог отловить - почему и когда, поэтому я просто обхожу этот функционал.
Например, 1С вылетает если вы запускаете два фоновых задания. Иногда не вылетает, но при этом - второе фоновое не выполняется. Это было в 8.3.7, я тогда это обошел тем, что проверял - есть ли фоновые на выполнении.
2. Это что такое?
3. Не согласен, все работает.
4. Опять таки - не согласен, мне лично нравится, вам лично - нет. У каждого свои вкусы :)
5. А про DBF вы откуда взяли? У них там такой же формат как и в обычной файловой 1С, и за что там стыдиться - не знаю. Опять таки - нефиг в 1С мобильную тянуть всю историю партий и цен за 3 года :)

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

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

На счет html - опять вас не могу понять. У меня вот такой каталог на html5, и все работает, подборы, обновление и т.д. и т.п. Прикрепил картинку своего интерфейса, все работает в 1С, все кнопочки нажимаются, все отлавливается.
Есть два режима работы - онлайн (когда страница генерится на http сервисах 1С, и оффлайн, когда она генерится из данных на мобильном устройстве.
Опять не могу понять - нафиг вам там document? Что вы от него хотите?
Прикрепленные файлы:
23. vasek (iliabvf) 02.06.17 12:09 Сейчас в теме
(22)
(22)
Например, 1С вылетает если вы запускаете два фоновых задания.

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

(22)
2. Это что такое?

ну например activity от 1С (внешнее_Событие)

(22)
У каждого свои вкусы :)

не совсем, есть стандарты дизайна, напр.Material design

(22)
А про DBF вы откуда взяли

https://infostart.ru/public/187832/ груб говоря 1cv8.1cd (как в мобильной так и десктопной версии) это пакет файликов похожих на DBF (made by 1C), даже утилита chdbfl.exe :)

(22)
чтобы получилось хотя бы такое "убожество" инфтерфейса как в 1С? Вот на вскидку.

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

(22)
На счет html - опять вас не могу понять

То что вы мне показали как я вижу открывается сайт? Или я ошибаюсь?
Вот вам простая задача: сделать Логин и пароль и кнопку Login, с передачей данных в 1С и выдачей сообщения об ошибке назад в HTML. Без интернета и сайта.
24. Дмитрий Шерстобитов (DitriX) 2735 02.06.17 13:29 Сейчас в теме
(23)
заходим в левое меню, заходим в любой регистр или справочник. пытаемся делать поиск, вылетает один раз из 5-10 поисков.

Ну так вы им пишите? Я в начальных порах, еще в 8.3.4 - регистрировал до 60, а один раз и 100 багов. Ничего, исправили :)

ну например activity от 1С (внешнее_Событие)

Опишите сценарий. И 1С работает с бродкастами через внешнее событие, или вы о чем?

не совсем, есть стандарты дизайна, напр.Material design

Завтра будет non material - вы будете менять интерфейс бизнес приложения и переучивать пользователей?


можно уложиться в адекватные сроки,

А в цену? Сейчас, внедрить мобильную- стоит копейки,а сколько стоит внедрить андроид нативный? И если все так радужно, то почему у меня до утра клиентов на 1С? Ответ: Цен разработки нативного - стартует от 5000уе, а на мобильной 1С от 2000$.
Любое изменение на 1С - стоит в 10 раз меньше чем на андроиде, а бизнес то растет. Андроид - лучше для фиксированных приложений, а 1С - для динамично развивающихся.

То что вы мне показали как я вижу открывается сайт? Или я ошибаюсь?

Тут работает все в двух режимах - в офлайн и онлайн. При онайлне - каталог генерится на стороне сервереа, но оработка нажатия всех кнопок - ловится в мобильной и мобильная формирует заказ.
Офлайн - вся страница генерится на мобильной.
25. vasek (iliabvf) 02.06.17 13:52 Сейчас в теме
(24)
Тут работает все в двух режимах - в офлайн и онлайн. При онайлне - каталог генерится на стороне сервереа, но оработка нажатия всех кнопок - ловится в мобильной и мобильная формирует заказ.
Офлайн - вся страница генерится на мобильной.


Вот тут по конкретнее пожалуйста, когда пользователь оффлайн кликает на "В корзину" или "Купить в 1 клик" как вы узнаете какая кнопка была нажата?

Или эти кнопки сделаны в 1С а не в HTML?
26. Дмитрий Шерстобитов (DitriX) 2735 02.06.17 14:16 Сейчас в теме
(25) у каждой кнопки есть своя ссылка, которая выглядит примерно так "inClick_[UID]", т.е. с ID позиции при нажатии на нее отлавливается событие в мобильной - ПриНажатии, в обработчике говорим, что стандартная обработка = ложь и все.
В параметрах имеем ссылку с ID кнопки.
Посмотрите в сторону этого курса, там много таких вот тонкостей рассматривается:
27. vasek (iliabvf) 02.06.17 14:21 Сейчас в теме
(26)
у каждой кнопки есть своя ссылка, которая выглядит примерно так "inClick_[UID]", т.е. с ID позиции при нажатии на нее отлавливается событие в мобильной - ПриНажатии, в обработчике говорим, что стандартная обработка = ложь и все.
В параметрах имеем ссылку с ID кнопки.
Посмотрите в сторону этого курса, там много таких вот тонкостей рассматривается:


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

А как вы считываете информацию введенную в поле HTML документа? Уж тут точно нет выхода без свойства document... или все таки вы решили эту проблему?
28. Дмитрий Шерстобитов (DitriX) 2735 02.06.17 18:25 Сейчас в теме
(27)
Считываю, но тут долго объяснять. Вообще там куча вариантов, один из них - просто вызывать опять таки переход по ссылке, а ссылу генерить из данных поля, ну если там простые данные. А еще есть и JS, который великолепно там работает.
Конкретно этот пример - это вообще каталог, со своей строкой поиска на html, и когда вы вводите данные, то обновляется только часть страницы с товаром, все остальное (макет, стили, шрифты и т.д.) - уже не обновляются.
Этот метод работает с версии 8.3.6 по 8.3.10, я проходил через все минорные релизы 1С с мобильной :)
В некоторых тестовых они таки ломали поле html, но это было не критично, на то они и тестовые :)
29. vasek (iliabvf) 02.06.17 23:00 Сейчас в теме
(28)
В некоторых тестовых они таки ломали поле html, но это было не критично, на то они и тестовые :)

Спасибо, буду сегодня пробовать, просто уже столько натерпелся, что как-то не верится.
30. Дмитрий Шерстобитов (DitriX) 2735 04.06.17 16:08 Сейчас в теме
31. vasek (iliabvf) 04.06.17 22:00 Сейчас в теме
(30)
29) получилось?

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

Хоть и работает, но это решение напоминает не то чтобы костыль, а я бы сказал это как пытаться реализовать интернет соединение через азбуку морзе.


(28)
Считываю, но тут долго объяснять.

Объяснять тут нечего практически, все просто.

Вообще там куча вариантов

Это единственный вариант вообще? Вы уверены что есть еще?

А еще есть и JS, который великолепно там работает.

Кстати только на JS и надежда, иначе вообще толку с этого поля не было бы!

Есть 3 плохих момента:
1.Не все js/css работают, видимо это связано с особенностью внутреннего браузера? То что работает на десктопе не работает в HTML поле 1С
2.Торможение анимации в этом злосчастном поле
3.Не понятно можно ли реализовать обратный возврат значения БЕЗ обновления поля HTML, видимо нет

А в остальном передаю через Location.href нужные данные, лучше чем ничего, спасибо за надежду, будем пробовать улучшить дизайн.
33. Дмитрий Шерстобитов (DitriX) 2735 05.06.17 11:43 Сейчас в теме
(31)
Это единственный вариант вообще? Вы уверены что есть еще?

Да, есть :)

1.Не все js/css работают, видимо это связано с особенностью внутреннего браузера? То что работает на десктопе не работает в HTML поле 1С
2.Торможение анимации в этом злосчастном поле

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

3.Не понятно можно ли реализовать обратный возврат значения БЕЗ обновления поля HTML, видимо нет

Это вы о чем сейчас? Поподробнее распишите
34. vasek (iliabvf) 05.06.17 17:01 Сейчас в теме
(33)
1С использует встроенный андроид браузер WebView, а тут уже много зависит от того - какой именно он стоит на андроиде, и тормозит именно он, а не 1С. Поэтому, тут уже я даже не знаю чем помочь :)

Слава богу что 1С использует Webview и не сделала что-то свое как всегда :)
Кстати тормоза наблюдал именно в Genymotion, в Android Emulator их почти нет.
Еще наблюдение, в 1С чуть тормозит значительно больше чем в приложении сделанном на Андроиде.
Ну и что плохо, в десктопной 1С дизайн выглядит ужасно, видимо что-то не подгружается, хотя в Google Chrome ok.

Если кому-то интересно, получилось сделать Material Login, файл cf приложил для любопытных.

(33)
3.Не понятно можно ли реализовать обратный возврат значения БЕЗ обновления поля HTML, видимо нет
Это вы о чем сейчас? Поподробнее распишите

Ну к примеру после ввода логина в поле HTML, передать в 1С, сделать проверку в 1С, и передать назад в поле HTML результат проверки (или какие-то новые данные).

(33)
Это единственный вариант вообще? Вы уверены что есть еще?
Да, есть :)

Можете рассказать вкратце какие еще есть варианты?
Прикрепленные файлы:
html_field_1C_Android_Testing.cf
35. Дмитрий Шерстобитов (DitriX) 2735 06.06.17 11:40 Сейчас в теме
(34) вобщем смотрите курсы :) там есть вопросы на все ваши ответы, и на этот:
Ну к примеру после ввода логина в поле HTML, передать в 1С, сделать проверку в 1С, и передать назад в поле HTML результат проверки (или какие-то новые данные).

тоже есть.
Так как иначе мы тут бесконечно будем общаться,и я вам просто перескажу то, что есть в том курсе :)
36. vasek (iliabvf) 06.06.17 12:26 Сейчас в теме
(35)
тоже есть.
Так как иначе мы тут бесконечно будем общаться,и я вам просто перескажу то, что есть в том курсе :)


Я написал шефу, если согласится, куплю.(для меня 150 Евро за 5% курса слишком большая цена).
В принципе 95% из курса я уже знаю, меня интересовал вопрос выше. Но так как вы на него не ответили, пока что считаю HTML в мобильной платформе беспомощным.

Кстати, WebView в Андроиде DOM (документ) не доступен от Гугла, 1С тут не виновата.
Но в Android есть возможность выполнить vebView.loadurl("jav * ascript: ........."); что запустить любой скрипт.
И этот хак работает и в десктопной 1С, а вот в мобильной (ПАМ-ПАРАМ) не работает !!!

Так что костыли, костыли и печаль.
40. Александр Костев (user853472) 30.03.18 01:40 Сейчас в теме
41. Александр Костев (user853472) 30.03.18 01:41 Сейчас в теме
(22)
Доброго времени суток! Подскажите как такое сделать :-)
32. Дмитрий Фатов (Fatov_DI) 05.06.17 11:02 Сейчас в теме
vasek (iliabvf) и Дмитрий Шерстобитов (DitriX). Спасибо Вам за дискуссию! Интересные темы затронули, и если честно, хочется продолжения))
Ну и конечно отдельное спасибо за статью.
AlexK_2012; gradi; AganinEvgeniy; DitriX; +4 Ответить
37. siens 24.06.17 11:46 Сейчас в теме
просто вызывать опять таки переход по ссылке, а ссылу генерить из данных поля, ну если там простые данные. А еще есть и JS, который великолепно там работает.

Простите, но html в 1С - это не совсем нативный 1С, а в связке с http-сервисами "это" больше похоже на мини-браузер. Т.е.1С 8.3.9 на мобильной платформе дошла до уровня... оболочки над html? Мне жаль.

Но какой выбор остается? Скачивать и хранить БД с 20000 товаров на телефоне и пытаться быстро с ней работать? То для чего на большом компе/сервере используются различные технологии, ресурсы и оптимизации? Синхронизировать с сервером по планам обменам, фактически УРБД 20-летней(!) давности? Неудивительно, что это всё "тормозит".

Работать по rdp? Но тогда мы не можем использовать возможности смартфона.

Что делать? Мое предложение - это свой тонкий клиент 1С под андроид.
38. Сергей Кочнев (s.kochnev) 10.11.17 14:05 Сейчас в теме
Добрый день

Извините, что не по теме публикации, но местный мессенджер не работает :/ Не подскажете ли по поводу совместимости ACODE Tools со сканерами штрих-кодов? Старые Motorola CS3070 в обозримом будущем хочется заменить на сканеры "пистолетного" типа с держателем под смартфон. Ну и вообще, насколько жив проект? Я впервые с 2015-го (соответственно продакшен так и работает на 8.3.5 с ACODE Tools той версии, где броадкаст эмулировался через SMS) заинтересовался темой. Вроде и в самой мобильной платформе 1С появилась какая-то поддержка HID-сканеров, но пока не копал в этом направлении.

Спасибо!
39. Елена Пименова (Bukaska) 125 10.11.17 14:17 Сейчас в теме
Кстати скоро внедрят мобильного клиента в общий дистриб платформы.
Оставьте свое сообщение