Горизонты мобильной платформы 1С

02.06.15

Разработка - Мобильная разработка

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

Начальные договоренности

По ряду причин не будем говорить о работе мобильной платформы на iOS-устройствах – хотя бы просто в контексте того, что я не являюсь по ним специалистом. Тем более что тот функционал, о котором я буду сейчас рассказывать, на iOS не доступен. Все, о чем будем говорить, касается именно Android.

 

Разрушители мифов

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

  • Первый вопрос, который интересовал практически всех – почему из мобильного приложения нельзя печатать? Печатать можно. Но для того, чтобы это делать, надо понимать суть архитектуры Android. Сама печать производится элементарно: создается HTML-документ, посылается специальное приложение, которое настроено для печати и печатается. И это помимо уже существующего мехнизма печати в 8.3.6, который, увы, поддерживают далеко не все принтеры.
  • Далее – работа только в 8.3. Почему-то все решили, что раз мобильная платформа стала доступна только в 8.3, значит, если мы хотим обмениваться с центральной базой данных, то она тоже должна быть на 8.3. Нет. Центральная база может быть на чем угодно, хоть на 7.7 – без разницы.
    Саму мобильную конфигурацию вы действительно можете разработать только на 8.3.х, но обмениваться она может с какой угодно базой данных – хоть с 7.7. Единственное, что это, конечно же, будет немного сложнее.
  • Далее – ждем, пока уберут дублирующий заголовок, добавят запрет поворота экрана и т.д. Это все можно сделать самим – на курсах я рассказывал, как. Если в двух словах, то там надо просто поменять всего лишь пару строчек в xml-файлике, и, таким образом, вы убираете дублирующие заголовки, запрещаете поворот экрана и т.д.
  • Четвертый миф – 1С сама найдет и исправит баги. Тут все грустно. Потому что даже тот сервис по логированию и документированию ошибок, который они предоставляют, страдает тем, что там пишут только решенные ошибки. Для ошибок, которые зарегистрированы, но еще не решены, можно увидеть только номер без описания, чаще всего. И это приносит некоторый дискомфорт, потому что когда появляется проблема, ты не понимаешь, или ты ошибся, или в 1С баг. К сожалению, в мобильной платформе пока багов хватает, хотя их стало значительно меньше.

Основной корень проблем

 

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

  • Допустим, мы в стационарной 1С привыкли к тому, что если нам надо где-то учитывать счетчик посетителей, то у нас есть какая-то программка, которая выгружает эти данные в XML-файлик, а мы его потом по регламенту в 1С подгружаем.
  • А в Android это придется сделать по-другому (хотя, конечно, можно и так). В частности, вызвав намерение и т.д. – об этом мы чуть позже поговорим.

Я это говорю к тому, что если компания собирается серьезно развивать направление создания мобильных приложений (создавать какие-то адекватные решения), то ей однозначно нужен Android-программист. И это даже не оговаривается. Тут надо выбирать меньшее зло, или учить Андроид программиста - 1С, или 1С программист будет получать консультации от Андроид программиста.

 

Что можно сделать в мобильном приложении 1С?

Что же можно сделать на мобильном приложении 1С из того, что люди думают, что нельзя?

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

В результате возникает вопрос – а что же дальше? Почему для мобильных приложений 1С нет возможности сделать push-сообщение (push-notification), чтобы вы, когда опускаете шторку, видели уведомление от сервера? Это же, по сути, один из основных моментов – оповещение пользователя о чем-нибудь (например, о том, что выполнен обмен данными, пришел новый заказ, пришла накладная на сборку товара для кладовщика, который работает с терминалами сбора данных на Android и т.д.). Этой возможности у нас пока что нет. И даже то, что появилось в 8.3.6 - локальные уведомления - они не перерывают это, потому что они только уведомляют 1С, а не пользователя. Если у вас 1С свернуто, то да, пользователь увидит сообщение, а если открыта - то будьте добры, и обработайте сообщение сами, так как пуша вы не увидите.

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

 

Сравнение возможностей 1С по внутренней передаче данных и по работе с внешними Android-приложениями

 

 

Если перевести это все в контекст 1С, то в качестве примера можно привести работу с модальными окнами. Как это происходит? В контексте старой парадигмы, а не по принципу оповещений, хотя, стоит отметить - в Андроид используется именно принцип оповещений, чаще всего, просто 1С не умеет еще с ним работать.

  • Мы делаем вызов какой-то формы. Например, подбора товара.
  • Далее – делаем некую обработку данных в этой форме (например, выбираем в табличную часть документа товары, которые есть на остатке). Причем, если по выбранному в документе складу на остатке ничего нет, то мы можем просто даже не открывать эту форму – сразу передать в 1С, что ничего на остатке нет.
  • А потом при закрытии формы подбора мы возвращаем в табличную часть документа выбранный результат

 

 

А теперь возникает вопрос – как из встроенного языка 1С мы можем работать с внешними Android-приложениями? Для такого взаимодействия была выбрана интересная модель – по сути, мы делаем что-то вроде глобального оповещения.

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

Приблизительно то же самое происходит и в 1С на мобильной платформе, когда мы, например, хотим отправить файл:

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

 

 

Здесь на слайде показано, как можно сделать фотографию средствами Android. Как видите, ничего сложного:

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

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

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

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

Более подробно про эти функции можно почитать по выше указанным ссылкам.

 

 

Попытка создания плагинов к мобильному приложению 1С

 

Теперь, у нас появляется некоторый новый вариант плагинов к мобильной платформе 1С. Потому что если мы знаем, что можем вызвать любое приложение, передать в него параметры и получить от него ответ, то, значит, мы таким образом можем написать свое приложение, которое может делать все, что нам надо – в частности, push-сообщения, toast-сообщения, виджеты, вибрацию – что угодно. Мы теперь не ограничены тем, что нам дает 1С. Нам 1С не дало виджеты – да и ладно, сами напишем. Не дало push-сообщения – тоже сами напишем.

Но в 1С «ЗапускПриложенияМобильногоУстройства» доступен только на клиенте. Поэтому весь ряд задач мы должны разбивать на две части – клиент и сервер.

  • К примеру, push-сообщения имеет смысл выполнять на сервере – например, когда у вас прошел обмен данными. А есть ли смысл выводить его на клиенте или нет? Ведь если человек на текущий момент работает с 1С, то это значит, что он, по сути, может и так увидеть сообщения.
  • С другой стороны, toast-сообщение (это такое маленькое, всплывающее на экране сообщение) нет смысла выполнять на сервере. Например, у человека в кармане телефон, а тут ему приходит сообщение о том, что выполнен обмен с базой данных – он его не увидит, потому что такое сообщение показывается пару секунд буквально и не задерживается там. Но, если он в этот момент работает с 1С, мы можем ему, например, с помощью toast-сообщения сказать, что этого товара на остатке нет – и тогда это будет уместно. Не выскочит никакого модального окна на весь экран, которое надо судорожно закрывать, возвращаться к списку из 3000 позиций, которые загружаются пару секунд.
  • А некоторые вещи, например, вибрация, - может быть и на клиенте, и на сервере.
  • И звуковые оповещения – тоже на клиенте и на сервере.

К чему я веду? Зачем я разбивал это все на клиент и на сервер? Ответ простой – это принцип работы плагинов.

Мы, получается, пишем некое API, которое должно взаимодействовать с мобильным приложением 1С и на клиенте, и на сервере, чтобы мы могли его вызывать доступными методами в 1С. Кроме этого, мы обязательно должны получить от этих действий какой-то ответ (конечно, push-сообщение мы можем вывести и без ответа, но сделать фото – нам обязательно нужен ответ). Для этого API мы можем использовать два механизма, которые доступны в 1С. Это:

  • Веб-сервер
  • И Интенты – это и есть те самые намерения, которые мы с вами вызываем с помощью «ЗапускПриложенияМобильногоУстройства» из 1С. Но они доступны только на клиенте.

Для этих двух механизмов я здесь привел табличку.

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

  • Кроме этого, получается еще дополнительная фишка – это внешний вызов, минуя 1С. Ведь когда мы говорим о том, что, например, пришло push-сообщение о новом заказе для торгового агента, мы подразумеваем, что у нас в этот момент запущена 1С и, как минимум, выполняется какой-то фоновый обмен данными с центральной базой. А если Android вдруг решит, что 30 Мб памяти для свернутого приложения – это много, то он может просто выкинуть 1С из своей памяти. А раз 1С не работает, обмен не выполняется, то и этого push-сообщения никто не получит.
  • А если у нас на телефоне стоит веб-сервер, мы можем непосредственно с нашей центральной базы (если она находится в локальной сети, либо мы знаем четкий IP-адрес этого мобильного устройства) послать push-сообщение, оповестить виджет, сделать вибро- или звуковое оповещение. И теперь не мобильное приложение 1С будет постоянно опрашивать центральную базу, а сама центральная база будет отсылать сообщения только тем пользователям, которым необходимо.
    Иначе база просто физически может задохнуться из-за того, что ее каждую минуту будет опрашивать большое количество пользователей (например, если у вас 1000 агентов бегает). Поэтому гораздо логичнее отсылать сообщения непосредственно из самой базы: произошло событие для конкретной группы людей (допустим, для 10 людей), и база послала эти данные туда.
  • Этот функционал 1С развили в 8.3.6 и сделали его более логичным, но он не всегда применим в таком контексте, потому что в этом случае - у вас должны все устройства иметь выход в интернет и должны быть подключены учетки Google.

 

Формы на Android

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

 

Мы можем сделать для Android вот такую вот форму. Можем передавать туда данные из 1С, и при выборе какого-то товара забирать оттуда данные в 1С. Т.е. мы не ограничены только тем, что дает нам 1С. Опять таки, в стационарной версии мы привыкли, что если нам надо нечто этакое, то мы можем просто создать некий скрипт на vbs или js, и сделать некоторые действия. Но, почему-то, никто не думает, что то же самое можно сделать и в мобильной 1С. Ах ну да, все потому что - у вас, скорее всего, просто нет андроид программиста :)

 

Линейка складских терминалов на платформе Android

 

 

Более подробно про терминалы - вы можете узнать тут - http://acode.pro/.

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

Но на данный момент рынок терминальных устройств начинает развиваться – как видите, появился уже ряд моделей терминалов на Android версии 4.0, 4.1, 4.2.

И по этому пути идут все современные компании, которые занимаются производством оборудования - Motorola, Honeywell, Datalogic, Cipherlab. Однако, стоимость их устройств на Андроиде - далеко за 1000$, а те которые не очень далеко за 1000$ - очень слабые для полноценной работы 1С.

Однако, в этой категории присутствуют и достаточно бюджетные модели, которые далеко не за 1000 долларов, а в районе 500, 700, 800. Это адекватные цены, адекватное оборудование, адекватно работает с 1С. Вы можете разрабатывать свои оригинальные решения и стать первыми на этом рынке – все для этого уже есть: информации на тему мобильной платформы в Интернете уже много, терминалы на Android уже есть, значит, можно приступать к работе.

 

Acode Tools – расширение возможностей мобильной платформы 1С

 

 

А чтобы подстегнуть ваше желание работать, я предлагаю вам обратить внимание на Acode Tools:

Acode Tools - позволяет из 1С делать все то, что я здесь написал, и даже больше. Вы можете скомпилировать свой произвольный код, написанный на Android, передать параметры из 1С и получить оттуда ответ. Как видите, это сделать вполне реально. И убедиться в этом вы можете сами. Там вам доступны:

  • Виджеты;
  • Push-сообщения;
  • Вибро;
  • Работа с Bluetooth-сканерами в режиме Serial Port (поддерживается Motorola и Cipherlab). Не надо мучиться с тем, что у 1С баг с активными элементами (в последних версиях платформы мы не можем указать активность элементов), и нам приходилось что-то придумывать, когда нам надо было вернуть активность поля, чтобы просканировать туда товар (или сидеть на платформе 8.3.4.17, где этого бага еще не было). Пожалуйста – подключились через серийный порт и работаем.
  • Проигрывание звуков;
  • GPS-трекинг. Как известно, 1С в Android запускается не как сервис, поэтому иногда она вылетает. И если она вылетает, то, соответственно, в этот момент весь GPS-трекинг у нас обрывается, и из-за этого мы можем получить координаты только с того момента, когда 1С работало (только после того, как Android решил ее выкинуть). В данном случае работает специальная программа, которая поднимает свой фоновый сервис, поэтому выключить ее просто так не получится (только если жестко остановить). Кроме этого, на эту программу не работает fake location (псевдо геоданные).
  • Также доступна запись данных в logcat. Я думаю, многие из тех, кто разрабатывает под мобильную платформу, долго расстраивались, что нереально отловить какие-то данные в серверных процедурах (в тех, которые выполняются в контексте &НаСервере). Теперь мы можем просто записать данные в logcat и в той же программе открыть и посмотреть, что сейчас выполняется, и какая отладочная информация там есть.
  • Работа с FTP;
  • Возможность заархивировать файлы в ZIP. Кстати говоря, напоминаю, что XSLX-файл (файл формата Microsoft Excel 2007) – это, по сути, ZIP-архив, и благодаря функции ZIP-архива вы можете создавать свои XSLX-файлы. И соответственно, обмениваться ими так, как вашей душе будет угодно.
  • Работа с NFC;
  • И т.д. (подробнее на слайде)

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

Поэтому - хочу еще раз напомнить про андроид программиста - он вам однозначно нужен, и тут - без вариантов. Либо пусть ваши 1С программисты проходят курсы по андроиду, 

P.S. И отдельно хочу добавить, что мобильный мир не ограничивается только мобильной платформой, потому что в стационарной платформе делают тоже новые функции, которые помогают "влиться" в существующий мир мобильных решений. Например, если нужно сделать отчет для руководителя, то необязательно его делать на 1С, есть куча уже готовых решений, которые нацелены именно на визуальзацию данных, а не на их обработку. Например, можно использовать Microsoft Power BI.

**************

Данная статья написана по материалам доклада, прочитанного автором на Конференции Инфостарта IE 2014 29-31 октября 2014 года.

Приглашаем вас на новую конференцию INFOSTART EVENT 2019 INCEPTION.

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

См. также

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

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

2880 руб.

03.12.2018    54612    137    102    

161

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    33278    80    157    

174

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный терминал сбора данных для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    91944    511    186    

293

Магазин 15 - приемка товара по штрихкодам или инвентаризация в торговом зале

Логистика, склад и ТМЦ Мобильная разработка Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

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

12950 руб.

30.05.2023    3388    2    0    

4

Работа с графикой в браузере (SimpleWEB). Векторный редактор

Мобильная разработка WEB-интеграция Мобильная платформа Абонемент ($m)

В SimpleWEB добавились средства для работы с графикой и отслеживание событий мыши, в онлайн редактор https://seditor.ru:1555/ добавился «Векторный редактор» на этом API. Теперь можно нарисовать схемы складов на ПК, сделать карты (*.sug-файлы) для мобильной платформы SimpleUI, выводить данные из 1С в графическом виде. Таким образом, API для работы с векторными файлами теперь есть и в веб- и в мобильной платформе, а также средства для создания и редактирования векторных файлов есть тоже в обеих платформах.

1 стартмани

20.03.2024    1471    0    informa1555    1    

39

Зачем нам 1С:Элемент

Мобильная разработка Языки и среды Бесплатно (free)

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

19.03.2024    6854    ROk_dev    56    

37

JavaScript в Simple

Мобильная разработка Бесплатно (free)

В SimpleUI и SimpleWEB, наряду с обработчиками на python и онлайн (1С и т.д.) добавляется интерпретатор JavaScript. В андроид платформе он скорее играет на поле python, т.к. является оффлайновым решением для самостоятельной обработки и расширяет аудиторию разработчиков для разработки самостоятельных решений. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

12.02.2024    1628    informa1555    0    

25
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. artem666 29 02.06.15 14:34 Сейчас в теме
Вся суть мобильной разработки в кастомном дизайне, чего на 1С по определению нельзя сделать
user1404050; +1 Ответить
2. DitriX 2091 02.06.15 15:02 Сейчас в теме
(1) что вы под этим понимаете?
3. DoctorRoza 02.06.15 17:08 Сейчас в теме
Поэтому - хочу еще раз напомнить про андроид программиста - он вам однозначно нужен, и тут - без вариантов. Либо пусть ваши 1С программисты проходят курсы по андроиду,


(2) Дмитрий! Вот у Вас есть коллеги, друзья 1С-программисты. Сколько из них, в процентах, могут вести разработку и в 1С, и в Android? :) Да и когда будет обзор 8.3.6.182?
4. DitriX 2091 02.06.15 18:19 Сейчас в теме
(3) В смысле? Так совпало, что в последнее время, у меня круг знакомых таков - каждый пишет решения под мобильную 1С и мы вместе помогаем друг другу с тонкостями андроида :) Но я думаю - так не везде.
Ну и конечно есть знакомые программисты андроид - которые помогают.
5. TODD22 18 02.06.15 18:39 Сейчас в теме
(4) а курс по мобильной разработке будет дополнятся? Например работой с http сервисами, json и тд или там это есть и я просто не дошёл ещё до этого? Я на 3 модуле пока :)
6. DitriX 2091 02.06.15 20:58 Сейчас в теме
(5) сейчас новый модуль выйдет, там будет немного про сервисы, json пока не доступен на мобильной.
Та и в целом - ws перевести на http - дело 5 минут, тоже самое и xml на json :)
Там есть более важные темы - это защита соединения от митм атак, т.д. вот про это в новом модуле будет.
7. TODD22 18 03.06.15 05:22 Сейчас в теме
(6) Да защита то же очень интересует. Что бы из вне никто не смог подключаться...
Или DDoSить мой веб сервис. А то будут к нему запросы строить базу нагружать.
13. DitriX 2091 03.06.15 10:34 Сейчас в теме
(7) ну это делает немного по другому. А тут все таки интересует вопрос - что бы не уперли пароли подключения. И касается это не только мобильной платформы.
(8) потому что каждая программа обрабатывает фотографии по своему - попробуйте в 1с выбрать гамму. разрешение, формат, HDR, уровень освещенности и т.д.
(9) ну так заставку можно свою сделать, по бокам конечно внизу будет 1с написано, но 90% заставки - в вашем распоряжении.
(12) а зачем это вам? Какая цель? Вдруг подскажу.
(10) прям слова 5 летней давности про УФ, еще ранее про 8, и т.д. :)
14. flyer 231 03.06.15 10:51 Сейчас в теме
(13) я вот про эти маленькие заставки и говорю а то например заказчик пиццерия попросили сделать программу Заказа их продукции. заставку им при открытии наваял а вот любимые слова 1с Предприятие нельзя убрать. вот и получается двоякая ситуация как бы программа от Пиццерии а тут еще каким то боком 1с.
15. DitriX 2091 03.06.15 13:09 Сейчас в теме
(14) если я не ошибаюсь, то 1С позволяет менять заставки, во всяком случае на стационарной, но для этого надо писать им. Напишите им и узнайте, вдруг они вам подскажут?
16. Широкий 692 05.06.15 11:46 Сейчас в теме
(13) Для удобной работы пользователей.
Упрощенно: Открываешь форму - у тебя курсор стоит уже в нужном поле и услужливо клавиатура открыта, лишний тап по полю делать не надо.
17. DitriX 2091 06.06.15 14:49 Сейчас в теме
(16) ну тут да, разве только в настройках манифаста полазить
8. gradi 5 03.06.15 08:28 Сейчас в теме
Почему выбран именно такой способ для получения фотографии? Ведь есть же специальный вызов в 1С для этих целей.
9. flyer 231 03.06.15 08:49 Сейчас в теме
еще один мелкий нюанс :) . при открытии видим всплывающую заставку 1с. некоторые клиенты просили ее убрать. хотят видеть свой логотип. а так все супер! 1с на рынке моб.приложений сделали бомбу!!!
10. TODD22 18 03.06.15 10:04 Сейчас в теме
(9) flyer,
1с на рынке моб.приложений сделали бомбу!!!

Что то пока не заметил как бомбануло... что бомбануло то у 1с с мобильной платформой?
11. flyer 231 03.06.15 10:18 Сейчас в теме
(10) TODD22, скорость разработки и тем самым стоимость решения для бизнес приложений уменьшена.
12. Широкий 692 03.06.15 10:23 Сейчас в теме
Кто бы сделал инструмент для программного показа/скрытия виртуальной клавиатуры.
У меня этот момент важен, приходится до сих пор на версии 4.17 сидеть.
18. JetBrain 78 04.07.15 16:48 Сейчас в теме
Тестировал пару раз мобильную платформу под Android, ни чего в ней не меняется в своей основе, apk файл как весил минимум 30 Мбайт, так и продолжает набирать свой "вес", а это всего лишь "hello world"!!! Больше похоже на ковыряние в песочнице, нежели на промышленно-эксплуатируемое приложение.
19. DitriX 2091 04.07.15 19:34 Сейчас в теме
(18) это тоже самое, что винить Excel, что он весит 500Мб, а вам всего то и надо - открывать файлы.
Если вы не знаете, какие там механизмы заложены, то лучше и не говорить про это, ибо знаю на своем опыте - делал когда то приложение под андроид, и библиотека ksoap, которая позволяет работать с веб сервисами - весит 200кБ. и это только одна функция, по сути.
В итоге, элементарное приложение, которое может подключаться к 1с и забирать данные - весило 3Мб, с ресурсами, с нужными библиотеками и т.д.

Так что вы попробуйте реализовать хоть 10% возможности 1С и сразу увидите, что приложение будет весить овер 10Мб, минимум.
Так что вес не такой уж и большой.

И кстати, есть поучительная история, про борьбу Microsoft Office и Lotus 1-2-3, почитайте, как лотус оптимизировал свои решения до идеального блеска, которые работали отлично на машинах того времени, а Microsoft тупо выпускали глючный софт, с оглядкой на то, что технологии развиваются очень быстро, и в оптимизации такого уровня - нет никакого смысла, ибо через год=два, появятся компы в несколько раз сильнее. В итоге - lotus затормозил на год, и выпустил идеальный софт, который идеально работал, но на этом рынке была уже MS, а за это время - компы стали мощнее, и в итоге - все приимущества лотуса - ушло в никуда.

Тоже самое и тут. У меня сейчас есть планшет Nokia N1, там стоит Intel x64 проц, и 1С по скорости проигрывает компу с SSD дисками - в два раза.
К примеру, на моем смартфоне - Moto G, 1С медленнее работает в 20 раз, чем на компе. Не хилый прирост всего за два года?

К чему я - хватить гундеть про размер и про скорость :) У меня есть мобильные базы, которые весят 500Мб, из них - само приложение занимает 50. При таком раскладе - мне пофиг, будет оно занимать 50Мб, или 5Мб.
rujiy_kot; FesenkoA; Dr.LektoR; Fominro; IvanBoychuk123; +5 Ответить
20. pro1c@inbox.ru 185 07.07.15 20:20 Сейчас в теме
Либо пусть ваши 1С программисты проходят курсы по андроиду


если они пройдут, то писать на 1С под Android не будут!! :))))

с iOS с такими подходами загнется все еще на этапе публикации....
22. DitriX 2091 08.07.15 10:33 Сейчас в теме
(20) почему это? Я могу кодить под андроид, но все равно остаюсь в 1С, почему это?
Ответ прост - я не создаю игры, или социальные клиенты, я работаю с бизнес приложениями.
И у моей команды есть ряд готовых решений, которые мы забросили, после 2 лет разработки, о некоторых - мы писали тут. О некоторых - нет.
А забросили по очень простой причине - вышла мобильная платформа.
Вы пробовали разработать до конца хоть одно тиражное решение а потом его поддерживать?
Мне вот просто интересно, очень похоже - что нет, отсюда вы и делаете ваши выводы.

(21) Как правило - используется экосистема, например, в бизнес приложениях ее нет. Т.е. тупо нет.
Вот если мы возьмем все приложения от гугла, рукалицо, контакта и т.д., то вы увидите - они используют интерфейсы своих экосистем, и слать они хотели куда дальше все остальное. Посмотрите на PowerBi, от MS, и что?Каким оно паттернам подчиняется? Эпла? Винфона? Андроида? Нет, оно идентично везде, и вписывается в экосистемы остальных приложений от MS.
Все эти паттерны, стили и т.д. - это все для автономных приложений, и просто общие мысли и соображения, например, решили что меню будет слева, все. Дальше че хочешь то и делай. Решили отказаться вообще от кнопки меню - та не проблема. Но опять таки - есть просто общие соображения и рекомендации.

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

Теперь давайте возьмем приложение Viber, очень популярное, расскажите - оно подчиняется патернам интерфейса на iOS? И чем оно отличается от нового интерфейса мобильной 1С?

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

Сейчас 1С еще подтупливает, тут не поспоришь, но как только эти проблемы решат - я думаю 1С будет вне конкуренции.
Но это мое мнение.
21. pro1c@inbox.ru 185 07.07.15 20:23 Сейчас в теме
Например, если нужно сделать отчет для руководителя, то необязательно его делать на 1С, есть куча уже готовых решений, которые нацелены именно на визуальзацию данных, а не на их обработку.


как правило, по статистике, руководители чаще пользуются Apple и архаичные интерфейсы, которые предлагает мобильная платформа 1C - не прокатит!
23. maxx 991 07.10.15 18:14 Сейчас в теме
Воспользовался кодом для фотографии родным приложением. Но есть одно НО.... Помимо файла, который я указываю создаётся ещё копия файла самим приложением. Это раз. Во-вторых, если просто удалить этот "дублированный файл" из мобильного приложения 1С, то остаются "следы" пустая пиктограмма при просмотре фотографии в Галерее. Как это можно обойти?
24. DitriX 2091 07.10.15 22:21 Сейчас в теме
(23)А код вы можете привести?
25. maxx 991 09.10.15 10:37 Сейчас в теме
(24) в результате в папке камеры оказыывается 2 файла: с моим именем и именем камеры типа 20115101_6587.jpg
вот код,

#Если МобильноеПриложениеКлиент Тогда
		ТекВремяНач = ТекущаяДата();
		ФайлКартинки= "file:///sdcard/DCIM/Camera/tmp.jpg";
		НовВз=Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");
		НовВз.ДополнительныеДанные.Добавить("output",ФайлКартинки,"Uri");
		Если НовВз.Запустить(Истина) <> 0 тогда 
			СмещениеВремени = ПолучитьСмещениеВремени();//ошибка в платформе в метод мФайл.ПолучитьВремяИзменения() неверно возвращает дату смещает, поэтому вычисляем смещение 
			ТекВремяКон = ТекущаяДата();
			МассивФайлов = НайтиФайлы("file:///sdcard/DCIM/Camera/", "*.jpg");
			Для каждого мФайл из МассивФайлов Цикл
				//файлы камеры, которая она сделала самостоятельно удаляем
				ВремяИзменения = мФайл.ПолучитьВремяИзменения() + СмещениеВремени;
				Если  ВремяИзменения  >= ТекВремяНачи  ВремяИзменения <= ТекВремяКон Тогда
					УдалитьФайлы(мФайл.ПолноеИмя);
				КонецЕсли;
			КонецЦикла;	
		Иначе
			Сообщить("Фото не сделано!");
		КонецЕсли;
	#КонецЕсли
Показать
26. DitriX 2091 10.10.15 10:53 Сейчас в теме
(25) maxx, а чем вы делаете фото? Как называется программа? Так как воспроизвести не смог .
27. maxx 991 12.10.15 13:31 Сейчас в теме
(26) приложение , стандартное Камера (других нет). Планшет Dexp


Поэкпериментировали, на телефонах к примеру не создаётся дубликаты. Но все равно если из 1С удалить файл, то ссылку на фотографию в виду пуcтой пиктограммы в Галерее остаётся. Если перезагрузить устройство, то ссылки пустые убираются.
28. DitriX 2091 12.10.15 17:26 Сейчас в теме
(27) это да, там кэшируются пиктограммы, т.е. привьюшки. Их надо удалять отдельно, а вы попробуйте делать фото не в папку с фотографиями, а в другую какую то папку.
29. ITStorm 9 03.12.15 15:29 Сейчас в теме
Когда делаем фотографию мы знаем путь к файлу. Как получить превью файл небольшого размера одновременно с нормальным файлом?
В НовВз.Данные пустая строка. Можете помочь?

"Кроме этого, приложение вам возвращает сразу же маленькую превью этой фотографии (320х320) и путь к полноценной фотографии (той, которую вы сделали, с теми настройками, которые вам нужны). И это сделать реально." - как?
30. DitriX 2091 03.12.15 20:04 Сейчас в теме
(29) как оказалось - не на всех устройствах. На большенстве устройств - вы делаете либо это либо другое. Т.е. или получаете полноценную картинку или ее привью. Увы.
31. AganinEvgeniy 2 15.06.17 14:12 Сейчас в теме
Доброго времени суток.
Возникла такая проблема.
Пытаюсь запустить данный код на устройствах:
"ФайлКартинки = "file:///storage/emulated/0/Download/MobileMKFoto.jpg";
		НовВз = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");
		НовВз.ДополнительныеДанные.Добавить("output",ФайлКартинки,"Uri");
		Рез = НовВз.Запустить(Истина);
		Если Рез = 0 Тогда
			Сообщить("Фото не сделано!");
		Иначе
			ЗапуститьПриложение(ФайлКартинки);
		КонецЕсли;"
Показать

На Huawey MediaPad всё отрабатывает хорошо с 5.1.1 андроидом, а на Samsung Galaxy S7 с андроидом 7.0 вылетает с ошибкой на моменте НовВз.Запустить(Истина).
С чем может быть связана данная проблема?
На обоих устройствах стоит мобильная платформа 8.3.10.51.
Если я вместо "file:///storage/emulated/0/Download/MobileMKFoto.jpg" указываю:
"ФайлКартинки = КаталогДокументов()+"MobileMKFoto.jpg";
		ФайлКартинки = СтрЗаменить(ФайлКартинки,"\","/");
                ФайлКартинки = "file://" + ФайлКартинки;"

всё-равно вылетает с ошибкой.
32. DitriX 2091 15.06.17 18:47 Сейчас в теме
(31)
КаталогДокументов() - это песочница только для 1с, другие туда доступ по полному пути не имеют.
А вот сюда имеют:
ФайлКартинки = "file:///storage/emulated/0/Download/MobileMKFoto.jpg";
Но тут в зависимости от прошивки - путь может отличаться, например, быть:
ФайлКартинки = "file:///sdcard1/Download/MobileMKFoto.jpg";

Откройте ES Explorer и посмотрите полный путь к папке Download.
33. AganinEvgeniy 2 16.06.17 10:21 Сейчас в теме
(32)Спасибо, Дмитрий!!! Разобрался. У меня на телефоне путь к папке с закачками это "file:///sdcard/Download/MobileMKFoto.jpg" (я искал изначально путь к корневой папке по принципу Сообщить(КаталогДокументов()) и оттуда потом выдернул путь к корню ... но проверял я это дело только на Huawey, априори считая что и на Самсунге будет аналогично ... нахождение ещё одних граблей засчитан ))) ); Спасибо за подсказку о программе! Хотя она конечно же изобилует рекламой, но работает хорошо :-)
34. ejikbeznojek 23.06.17 11:03 Сейчас в теме
Дмитрий, огромное спасибо за ваши статьи, они мне принесли премию на работе за разработку тиражного решения, для мерчендайзеров :-)

Хотел уточнить кое-что.
Т.к. нет возможности заставить всех пользователей не пользоваться устройствами под IOS.

Приходиться делать фото(и не только) именно средствами 1С т.е.

не
НовФото= Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");

а
ДанныеФото=СредстваМультимедиа.СделатьФотоснимок(ТипКамерыУстройства.Авто,Разрешение,70);


Нет ли у вас какой-нибудь секретной статьи как учитывать особенности IOS при разработке мобильных приложений?
35. DitriX 2091 23.06.17 14:51 Сейчас в теме
(34)
они мне принесли премию

А где мое пиво? :)

так на курсах же говорю про это, и не только.
А вообще - просто получайте системную информацию, и там написано - это андроид или ios.
36. ejikbeznojek 23.06.17 15:49 Сейчас в теме
(35)
Я на самом деле подумываю над записью на курсы.
Но я нашёл только видео курс на этом сайте + возможность задавать вопросы на сайте.
А видео курс обновляется с такой же скоростью как платформа?


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

Для андроида я могу apk файл скачать вместе со сборщиком с официального сайта 1С.
А для IOS только искать что есть в апп сторе, там либо старая версия, либо версии с уже загруженной чужой конфой, в которую теоретически я могу перезалить свою. Но это же изврат!

Теоретически правильно было бы собрать своё пустое приложение под IOS (я правда собирал пока только под андроид и не пустое, но наверное можно как-то разобраться), но что потом?
Публиковать его в апп сторе самому и при желании обновлять версию платформы? Но разве это не нарушает что-нибудь про лицензирование?
37. DitriX 2091 23.06.17 17:03 Сейчас в теме
(36) на iOS - вы просто регистрируете бесплатный аккаунт и вперед :)
Публиковать ничего не надо. Публиковать можно только на платном аккаунте.
Но нужен Мак, тем более вроде как 1с уже запилили образ для эмулятора.
Ну или можно хакинтош, но там возня и эмулятор будет глючить дико, т.е. нужно устройство реальное.
Смотрите курсы тут http:// /courses/, там раздел по мобильной платформе.
38. ejikbeznojek 23.06.17 17:45 Сейчас в теме
А как тогда приложение попадёт на кучу других айфонов, если ничего не публиковать?
39. DitriX 2091 24.06.17 01:27 Сейчас в теме
(38) вы можете делать так называемые инхаус приложения, для конкретной компании. Но это еще тот геммор :)
Оставьте свое сообщение