Красивый и адаптивный дизайн мобильного приложения

13.09.23

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

Чтобы разработать стильное мобильное приложение на 1С, достаточно научиться верстать адаптивные интерфейсы на HTML и задействовать возможности JavaScript (JQuery). О том, как сделать на 1С красивое и современное мобильное приложение для отслеживания клиентами начисленных бонусов и отправки сообщений сотрудникам компании, на конференции Infostart Event 2021 Moscow Premiere рассказал разработчик компании ООО СТХ-Менеджмент Максим Литвинов.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?]
Исходники приложения к статье
.zip 1,31Mb
25
25
0 SM
Скачать

Меня зовут Максим Литвинов, я из «солнечного» Сургута, где 9 месяцев в году стоят морозы, а по улицам бегают бурые медведи.

 

 

Я работаю разработчиком 1C в строительной компании. Стаж разработчика 1С – 8 лет, с мобильной разработкой в 1С знаком около 2-х лет.

 

 

На сайте Инфостарта у меня выложена система расчета и начисления бонусов для покупателей, которую я разработал еще в 2013 году для Управления торговлей 10.3.

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

 

Небольшое отступление

 

 

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

Всю информацию по мобильным приложениям 1С можно найти на сайте mobile.1c.ru. Я туда зашел, посмотрел, какие есть приложения, поскачивал их и сделал для себя несколько выводов.

 

 

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

 

 

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

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

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

 

 

Вторым выводом по итогам изучения существующих мобильных приложений 1С было то, что 2% из них использовали в качестве интерфейса не управляемые формы, а HTML 5.

Все приложения из этих 2% были написаны компанией «1С-Рарус». У них главный разработчик – это Никита Бакшеев, который все это придумал и руководил проектом.

Я посмотрел, пощелкал, понял, что в них все сделано очень хорошо. Но для меня это было незнакомо – я не понимал, как это реализовать.

Но я захотел сделать что-то подобное, чтобы попасть в эти 2%.

 

 

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

 

 

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

На слайде показано, как выглядит его интерфейс на экране iPhone13: на левой стороне главная страница, а на правой – транзакции.

 

 

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

Хорошо, с маленькими устройствами все понятно, но как же большие?

 

 

На iPad все тоже красиво отображается – видно, что поля раздвинулись на всю ширину экрана.

 

Как это сделать?

 

 

Расскажу, как мне удалось это сделать.

 

 

Изначально я искал вдохновение.

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

 

 

Далее я начал думать: как все это реализовать?

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

Я разместил объявление на сайте fl.ru, где рассказал о том, что есть такая задача, и мне нужно нарисовать первую страницу.

Мне нарисовали, и дальше я уже решил поковыряться сам – погуглил, и что-то стало получаться. Так я сверстал и другие страницы своего приложения.

 

Изначально я все писал на Codepen – купил подписку за 10$, чтобы в течение месяца публиковать туда HTML, CSS-файлы, изображения.

А в дальнейшем начал использовать Dreamweaver, потому что подписка закончилась.

 

 

Что касается отладки приложения – у 1С есть своя отладка, чтобы запустить готовое приложение и посмотреть, как оно отобразится.

Я использовал BlueStack и Nox с выбором разных видов телефонов: от планшетов до миниатюрных iPhone.

 

 

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

Но так как логотип компании состоит из красного и синего цвета, для основного дизайна я задействовал только эти два цвета.

 

 

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

Как видите, всё красиво отображается – это обычная веб-страница.

 

Как создать страницу

 

 

Давайте разберем по порядку, как создать стартовую веб-страницу.

 

 

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

  • На панели у меня отображается команда «Авторизация» – на слайде показан ее HTML-код, видно, что структура панели состоит из div-ов.

  • В шапку страницы у меня помещены стили – их можно увидеть в нижней части слайда.

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

 

 

Далее нужно было нарисовать кнопку и поле ввода.

С помощью стилей я так же отрисовал вид кнопок при нажатии и при активации.

И еще отрисовал оформление поля ввода.

 

Более интересной была задача отрисовки маски телефона.

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

Чтобы все это отрисовать, я использовал возможности JavaScript и библиотеки JQuery – здесь показан используемый код.

 

 

А вот так выглядел результат стартовой страницы приложения.

 

Готовим 1С для HTML

 

 

После того как мы подготовили первую страницу, нужно было все это перенести в 1С.

 

 

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

 

 

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

У меня в мобильном приложении используется только одна общая форма, в которую помещено строчное представление html – эту форму я отображаю на весь экран.

Как видите, кроме Поля HTML документа в форме больше ничего нет.

 

 

Эту общую форму мы закрепляем в качестве рабочей области начальной страницы.

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

Если он переходит на следующую страницу, он всегда может вернуться, нажав backspace на Android или верхнюю левую кнопку на iPhone – эти команды не нужно описывать, они возвращают на рабочую область по умолчанию.

 

 

После этого я начал переносить все разработанные в Codepen макеты в общие макеты 1С.

Как видите, я их разделил между собой, обозначив:

  • стили;

  • JavaScript-обработчики;

  • HTML-страницы.

 

Далее я начал описывать сам код.

У меня на основной странице есть некий макет шапки, который заполняется при старте страницы.

Как видите, все это заполняется обычным кодом из макетов – я просто дополняю шапку нужными стилями, библиотеками и JavaScript.

 

 

Следующей задачей было отобразить картинки.

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

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

Для этого я использовал Base64, который преобразует картинку в такую длинную портянку кода.

Важно, что это не тормозит приложение даже при том, что в нем были и большие картинки по 2-5 Мб. Они идеально загружались даже на слабых телефонах.

 

 

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

 

 

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

 

Изменение форм Показать()

 

 

После этого моей разработке потребовалось изменить некоторые формы.

 

 

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

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

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

 

 

Далее работа с показом даты. В 1С есть метод глобального контекста ВвестиДату(), но он не дает возможность выбрать конкретный период.

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

Я нажимаю на даты, и из нижней части экрана выскакивает форма выбора даты.

То есть я выбрал даты, нажал «Выбрать» – форма отработала.

 

 

Далее – вопрос.

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

В этом случае из верхней части выплывает окно с вопросом – оно не надоедливое, и, если вы ответили «Нет, спасибо», сразу потом пропадает.

 

API Запрос-ответ

 

 

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

 

 

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

Прошу сильно не пинать, это мой первый опыт разработки.

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

 

 

Чтобы отправить информацию о телефоне на сервер, где обрабатываются значения, мы помещаем все данные в JSON и передаем их в HTTP-сервис основного приложения с использованием сертификата безопасности.

 

 

После того как в основном приложении мы по Apache получили данные, мы их проверяем – тот ли ключ использовался, который использовался в приложении, с какого телефона человек регистрировался, с каким IP.

Так же зарегистрируем количество попыток: может, он постоянно щелкает в приложении на кнопку «Авторизоваться» или, допустим, у него кнопка залипла.

 

 

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

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

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

 

 

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

 

 

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

Клиент нажимает на кнопку и начинает писать мне письмо о том, что не может попасть в приложение – спрашивает, что ему нужно для этого сделать.

 

 

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

 

Чат технической поддержки

 

 

 

Наверное, все пользовались техподдержкой в Сбербанке, ВТБ. Обращались, если возникали какие-то проблемы в приложении, и требовалась быстрая реакция, ответ или оперативная помощь, чтобы не звонить в магазин.

 

 

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

Как видите его интерфейс очень похож на Telegram – здесь тоже есть галочки, текст, время, картинки. Все аналогично интерфейсу Telegram.

Но возникает вопрос, зачем все это, если у всех есть Telegram, WhatsApp и т.д.?

Ответ банален: все сообщения, которые вы напишете, могут удалиться. Вы можете написать сообщение в чат, а потом удалить его. А мы хотим хранить всю переписку в 1С.

Клиент может общаться с менеджером или с техподдержкой – все это будет регистрироваться. Всем получат push-уведомления – и они тоже будут регистрироваться.

 

 

По ссылке вы можете скачать исходники этого мобильного приложения.

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

 

 

Расскажу, какие API были реализованы у мобильного приложения:

  • Приложение отправляло сообщения в фоновом режиме.

  • Для пользователя приложения отображался статус активности – менеджер всегда видел, находится ли клиент в сети.

  • Проставлялась отметка, что адресат получил адресованное ему сообщение.

Все это помогало оперативно отвечать на сообщения.

 

В качестве основного места хранения для сообщений использовалась база сервера – в ней были специальные регистры сведений, которые все хранят,

И такие же регистры были и у мобильного приложения:

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

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

  • Так же хранились Events – информация о том, как часто клиент появляется в сети.

 

Как это все работает?

 

 

Обычный менеджер приходит на работу – попил кофе и открывает смену. Для этого он открывает свое приложение и передвигает ползунок на «Готов к работе»:

  • При этом внизу появляются новые диалоги – он видит, что ему Пупкин Иван Иванович написал сообщение.

  • Одновременно мы отправляем на сервер информацию, что смена зарегистрирована, и с этим менеджером можно начать общаться.

 

 

Клиенту об этом тоже приходит уведомление – он видит, что менеджер, которому он написал сообщение, готов с ним пообщаться.

Это тоже регистрируется в регистр сведений о сменах мобильного клиента.

 

 

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

 

 

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

 

Защита данных

 

 

Конечно, красота спасет мир, но как же без защиты данных?

 

 

Даже Марти Макфлай не ожидал, что когда-нибудь при передаче данных в 1С нужно будет использовать сертификат безопасности.

 

 

Изначально, когда я разработал приложение, все передаваемые по JSON данные были открыты – это видно слева на слайде. Я скачал снифер и посмотрел, как выглядят данные, которые я передаю в приложении – все данные по IP-шникам и именам владельцев карт были открыты, а это плохо.

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

 

 

Чтобы задействовать сертификат безопасности, в командной строке на сервере нужно запустить приведенный на слайде код – в статье приведено детальное описание, как все это сделать и создать сам ключ.

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

 

 

Для этого мы поднимаем Apache.

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

Я проверял по Apache – были попытки стучаться на сервер по белому IP. Но благодаря сертификату более чем за год работы никаких проблем не возникало.

 

 

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

 

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

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

 

Выводы

 

 

Какие из этого следуют выводы?

 

 

Лично для себя я сделал вывод, что не буду использовать управляемые формы – все формы для мобильных приложений я пишу на HTML. Это не занимает у меня много времени, у меня уже есть определенный опыт.

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

 

 

Для себя я вывел обычную математику:

Используйте HTML, используйте мобильную платформу и получите безупречное приложение, которое вы видите на слайде.

 

 

И как разработчик я люблю пощупать все исходники, поэтому рекомендую все скачать и посмотреть, как это работает (Скачать можно тут)

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

 

Вопросы

 

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

Я знаю, что можно получить сертификат Let’s Encrypt. Но для моего приложения оказалось достаточно самоподписанного сертификата. Возможно, для более крупных проектов потребуется что-то более серьезное.

То есть у вас мобильное приложение для внутреннего использования внутри компании?

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

У вас на Android не возникло проблем с тем, что что-то не отображается? Потому что Google не рекомендует у себя использовать самоподписанные сертификаты.

Проблем не возникло. Так же проблем не возникло ни на iOS, ни на Mac. Закинул все без проблем. Уже больше года работы приложения, и никаких проблем не возникало.

Вопрос про PUSH-уведомления. Если приложение в данный момент не активно, как PUSH-уведомление всплывает и показывается на экране? Какие есть для этого инструменты?

Информация о новом сообщении или об акции всегда появляется либо наверху на главной странице приложения, либо в верхней части командной панели. Телефон принимает PUSH-уведомления с сервера, даже когда телефон заблокирован. Даже если мобильное приложение находится вне сети, когда установится соединение, PUSH-уведомление клиенту все равно придет – то есть сообщение стоит в очереди на отправку. Та же ситуация и у iOS.

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

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

Как реализована безопасность в приложении для менеджеров? Оно устанавливается на личный телефон сотрудника?

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

А когда человек увольняется?

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

Лицензировал ли клиент у себя использование мобильной платформы?

Мы использовали бесплатно. Насколько я знаю, для бесплатных приложений – а у нас приложение было бесплатным, можно использовать без лицензии. Если на приложении зарабатывают, то начиная с 60 001 рубля нужно платить фирме «1С» отступные в размере 10% от оборота.

Рассматривали ли вы на старте, еще до того, как у вас обозначилась потребность в наличии мобильного приложения, вариант его создания в виде обычного сайта? Чтобы тоже все отображалось в адаптиве. Или сразу пошли по пути мобильного приложения, и вариант сайта не прорабатывался?

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

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

Но они для себя адаптивный сайт так и не сделали пока что.

Когда вы научились работать с HTML, JSON и т.д. вы же можете делать PWA-приложения на React Native, зачем тогда нужен 1С?

Так как я сам разработчик 1С, мне интеграция с 1С ближе к сердцу.

 

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

Статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Moscow Premiere.

 

10 - 12 октября 2024 года состоится конференция INFOSTART TECH EVENT, на которой прозвучит 130+ докладов.

Темы конференции:

  • Приемы, методы разработки и тестирования
  • DevOps-практики, управление инфраструктурой разработки
  • Интеграция и обмен данными
  • Идеи и тренды в разработке 
  • Администрирование серверов 1С и СУБД. HighLoad оптимизация  
  • Развитие технической команды. Личная эффективность разработчика 

INFOSTART TECH EVENT - крупнейшая профессиональная конференция для программистов 1С.


Подробнее о конференции.

 


См. также

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

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

2880 руб.

03.12.2018    57074    180    103    

169

SALE! 25%

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

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

13200 9900 руб.

27.12.2021    35764    94    161    

190

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

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

12900 руб.

08.06.2023    7942    8    0    

51

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

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

2000 руб.

22.04.2019    94334    547    187    

311

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    17663    24    6    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. quazare 3734 19.05.23 11:23 Сейчас в теме
а где образец приложения, чтобы скачать?
2. maksa2005 542 19.05.23 11:32 Сейчас в теме
(1)https://play.google.com/store/apps/details?id=ru.e1c.tpmir086
Только полноценно не посмотришь его из-за коммерческого состава.
3. quazare 3734 19.05.23 11:35 Сейчас в теме
эммм... у вас так qr-коды даны, чтобы "пощупать".... есть вариант "без коммерческих данных" ?
4. maksa2005 542 19.05.23 11:58 Сейчас в теме
41. ek2999 22.06.23 09:55 Сейчас в теме
(4) Ссылка не работает. "Файлы, которыми поделился владелец, недоступны для просмотра. Это произошло из-за того, что его Диск переполнен."
42. maksa2005 542 22.06.23 11:28 Сейчас в теме
46. Xershi 1507 19.01.24 21:46 Сейчас в теме
(42) выложите сюда, если диск сломается, то тут только если сервер ИС накроют.
47. vikad 130 19.01.24 21:49 Сейчас в теме
(46) добавили архив в приложение к статье
5. baracuda 2 20.05.23 18:46 Сейчас в теме
У меня просто шок.. вместо того чтоб развернуть Rest Odata и написать приложение на каком нибудь популярном UI фреймворке (quasar, vuetify) автор пошел на такой гемор...
user786530; TSSV; +2 5 Ответить
6. maksa2005 542 21.05.23 09:41 Сейчас в теме
(5)Вы о чем вообще?
Во-первых для меня это опыт.
Во-вторых. Мне ближе был этот язык, чем ваш Ui и т.п.
В-третьих. Я изучаю 1с язык, а не фреймворки Ваши геморные.
В-четвертых. Если у Вас есть успешный опыт лучше и быстрее по разработке, поделитесь..
kot_stouk; SirStefan; user1387276; Andreyyy; FilippovRI; +5 1 Ответить
7. baracuda 2 21.05.23 13:08 Сейчас в теме
(6) https://infostart.ru/public/1131454/
вот почитайте, как правильно надо варить такой борщ.
По поводу вашего подхода, делайте как вам удобнее.
Я остальных предостерегаю, лучше не идти заведомо тупиковым путем как ваш, а сделать правильно.
user786530; TSSV; +2 7 Ответить
8. maksa2005 542 21.05.23 17:11 Сейчас в теме
(7)Каждый варит по своему. Чтобы предостеригатт сначала сами что-то сделайте руками, а потом говорите....
А читать и сам умею. Тот автор молодец, а у вас только слова...
kot_stouk; Andreyyy; +2 Ответить
9. baracuda 2 21.05.23 19:02 Сейчас в теме
(8) Если честно вы как маленький ребенок у которого конфетку забрали.
Нет бы нормально среагировать на конструктивную критику.
Что касается непосрелсственно реализации, если вы оплатите мое время я напишу статью и приведу пример такой реализации. В любом другом случае зачем мне тратить свое драгоценное время, чтоб доказать что то ноунейму с инефостарта.
В свое время когда была такая задача, я за короткий срок выучил js и vue и сделал все как сам описал вместо того, чтоб седлать дохлую лошадь. Все это easy и very-fast. Не надо нанимать никаких фрилансеров, не надо писать backend - логику на 1с, потому что это дольше чем взять готовый механизм oData либо http-сервисов там где недостаточно oData.
И сделать обертку на Vue/React.
starik-2005; +1 6 Ответить
10. maksa2005 542 22.05.23 06:37 Сейчас в теме
(9)на тот момент об o-data я не знал. Рад за вас)
11. baracuda 2 22.05.23 10:29 Сейчас в теме
12. lunjio 67 22.05.23 15:00 Сейчас в теме
(9)
Все это easy и very-fast. Не надо нанимать никаких фрилансеров, не надо писать backend - логику на 1с, потому что это дольше чем взять готовый механизм oData либо http-сервисов там где недостаточно oData.

А я на Xamarin написал приложение, сейчас MAUI и Flutter использую, второе предпочтительнее. На 1С в далекос 2018 коммерческое приложение для ювелирного написал и забыл, было еще два для внутреннего, после компиляции там при старте фоновое запускалось, чтобы данное подтянуть, так вот в дебаге все работало, а скомпилированное тупо падало, после этого я на 1С ничего не писал, как там на плакате где мужику водку предлагают - нет, спасибо.
13. maksa2005 542 22.05.23 15:05 Сейчас в теме
(12)
Flutter

второе предпочтительнее? весьма (взял пример из простора интернета)
import 'package:flutter/material.dart';

// main() является главной функцией с которой начинается 
// выполнение приложения
// возвращает виджет приложения
void main() => runApp(MyApp());

// В Flutter все является виджетом (кнопки,списки, текст и т.д.)
// виджет - это отдельный компонент, который может быть отрисован
// на экране (не путать с Android виджетами)
// Наиболее простые виджеты наследуются от StatelessWidget класса
// и не имеют состояния
class MyApp extends StatelessWidget {

	// функция build отвечает за построение иерархии виджетов
  @override
  Widget build(BuildContext context) {
		// виджет MaterialApp - главный виджет приложения, который
  	// позволяет настроить тему и использовать
    // Material Design для разработки.
    return MaterialApp(
    	// заголовок приложения
      // обычно виден, когда мы сворачиваем приложение
      title: 'Json Placeholder App',
      // настройка темы, мы ещё вернёмся к этому
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      // указываем исходную страницу, которую мы создадим позже
      home: HomePage(),
    );
  }
}
Показать


скомпилированное тупо падало

Никаких проблем не видел при работе 1С, притом это мое не первое приложение...
Вывод: Кто как может, тот так и)))
14. lunjio 67 22.05.23 16:06 Сейчас в теме
(13)
У вас слишком завысилось ЧСВ, будьте осторожнее, облако пафоса от вашего величия может слиться с облаком пафоса речи Джорджа Клуни на премии Оскар и облаком пафоса жителей Лос-Анджелеса (с) Саус Парк.

P.S Что вам тут не ясно, в этом примере , что вы так выражаетесь - весьма. Я просто не пойму, берете самый лучший фреймворк на данный момент для кросплатформенной мобильной разработки и сравниваете с синтаксисом языка 1С или платформой 1С для мобильной разработки ?
Нормальные приложения не могут быть написаны на 1С и опубликованы, только для внутреннего использования внутри компании, это должно быть ясно как 2 + 2 = 4. Вы хоть замеры производительности делали на своем монстре сверстанном из html ? Будете удивлены, как все лагает, в каком-нибудь списке данных, когда строк будет больше 30.
А для внутреннего использования да, на 1С быстрее и оптимально в качестве инструментария для разработки.
k.dm.v@mail.ru; +1 2 Ответить
15. maksa2005 542 22.05.23 18:48 Сейчас в теме
(14) ничего не легает.более 100 пользователей и полет нормальный. Замеры делал. Все гуд. В отличии от вашего работает и в offline.
16. пользователь 23.05.23 03:48
Сообщение было скрыто модератором.
...
18. пользователь 23.05.23 07:01
Сообщение было скрыто модератором.
...
17. acces969 351 23.05.23 06:43 Сейчас в теме
Большой доклад, спасибо. Для тех, кто ничего не понял, но хочет сделать первые шаги - я выкладывал обработку для создания таких страничек. Простой, но очень мощный инструмент, потому что в нем можно редактировать и отлаживать сразу все, причем "на коленке".

Конструктор HTML, CSS и javascript

Скриншоты разработанного приложения, интерфейс которого полностью на веб-страницах, а бэк - на платформе 1С, с языком 1С.
Прикрепленные файлы:
lunjio; FilippovRI; +2 Ответить
19. maksa2005 542 23.05.23 07:01 Сейчас в теме
(17) Я за язык 1С. Остальные пусть пишут на том , куда у них душа лежит.
20. FilippovRI 74 23.05.23 08:44 Сейчас в теме
красавчик) спасибо за статью.
21. maksa2005 542 23.05.23 08:45 Сейчас в теме
22. coollerinc 192 23.05.23 15:09 Сейчас в теме
В 1с нет возможности отключить ненужное главное меню. По факту у вас занята пустотой одна строка экрана, можно криво вывести, что то но с большими костылями. Нет возможности убрать пункт меню глобальный поиск, сервис и настройки, где можно выйти в список баз итд. Обновление приложения происходит в два этапа: в начале с плеймаркета, потом еще при запуске приложения. Пуш-уведомления нельзя хорошо настроить. Эти нюансы 1с сильно бесят. Особенно когда в них упираешься, а потом ты думаешь: надо было писать нативно.

У вас крутое приложение получилось, красивое на скринах.
23. maksa2005 542 23.05.23 15:14 Сейчас в теме
(22)
В 1с нет возможности отключить ненужное главное меню.

что есть, того не миновать. знаю об этом. увы(

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

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

Обновление приложения происходит в два этапа: в начале с плеймаркета, потом еще при запуске приложения. 

в принципе как и у всех приложений. не вижу проблем)

Пуш-уведомления нельзя хорошо настроить. 

а вот тут поспорю. все работает стабильно уже более 3 лет. приходят шустро и без танцов с бубнами. Какие проблемы у вас?

Эти нюансы 1с сильно бесят

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

Особенно когда в них упираешься, а потом ты думаешь: надо было писать нативно.

Уже 5 приложений, никуда не уперся. Дело вкуса.
24. coollerinc 192 23.05.23 15:23 Сейчас в теме
(23) Да пуши с сервера приходят без проблем. Забыл уточнить, пуш-который "Локальное уведомление". Хотел сделать напоминание регулярных платежей. Но в 1с, есть только метод удалить все локальные уведомления. Нельзя удалить какое то конкретное. Нужно все очищать и заново создавать. Нет категорий уведомлений. Т.е. пользователь может отключить только все сразу уведомления. Нет детальной настройки. Настройки прав тоже, как то криво были реализованы. Гугл отозвал права на файловую систему и приложение крашилось, что не может создать архивную копию. Просто это костыль на костыле.

Нет полноценного слежения в фоне по перемещению GPS. Когда приложение закрывается.

Это все конечно можно обходить, но для себя решил, что нафиг надо.
25. maksa2005 542 23.05.23 15:30 Сейчас в теме
(24) Нет ничего идеального. Да есть свои нюансы. Про пушы я говорил не локальные, а общие через google push (Google Cloud Messaging).. Локальные соглашюсь - не работают корректно. я отправлю пуши то какие мне надо и кому надо и когда) целый набор настроек) все удобно и работает корректно.

Гугл отозвал права на файловую систему и приложение крашилось, что не может создать архивную копию

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

Нет полноценного слежения в фоне по перемещению GPS. Когда приложение закрывается.

не сталкивался. не знаю. все может быть...

Это все конечно можно обходить, но для себя решил, что нафиг надо.

Выбирайте то, чем удобно пользоваться...
26. CheBurator 3126 24.05.23 11:38 Сейчас в теме
Первый скрин в разделе "Почему бы не попробовать" - скри н аутентификации с логотипом компании. Оценка - кол.
50% рабочего экрана не используется.
При этом - мелкий шрифт о СМС. меклике надписи/кнопочки "Назад-Продолжить".
Вместо того чтобы сделать это большими буквами и отдельными кнопками - чтобы "я " глаза не ломал и не выцеливал - пусть пользователь страдает. Незачет, короче.
29. maksa2005 542 24.05.23 12:03 Сейчас в теме
(26)Я тогда только начинал и для меня это был рывок. Не все и всегда получается идеально. Я привел в качестве примера с чего начиналось. Оценка - ну да. Все хотят видеться идеальное.
Это была коммерческая разработка и принимал решение заказчик. Я лишь творец. Пользователи не страдают, на сомом деле. Просто это Ваш взгляд. На черный квадрат смотрят 2 человека, но видят все по разному...
27. user662573_rx-tx 24.05.23 11:41 Сейчас в теме
Спасибо автору за статью.
Труд данной статьи, не меньше ее сути!
Критика - критикой, но каждый для себя в этом мире находит "верное" решение. Не "правильное", а "Верное".
Приятно было почитать. Посмотреть на предложенные решения.
Терпения Вам и успехов, пишите еще)
Спасибо за данные к публикации, SM не имею, но посмотреть хоть часть удалось))
28. maksa2005 542 24.05.23 12:00 Сейчас в теме
(27) Согласен 100% за
но каждый для себя в этом мире находит "верное" решение.
. Спасибо
30. starik-2005 3061 25.05.23 09:54 Сейчас в теме
Руководитель компании-заказчика показал это приложение своим клиентам, но оно им не понравилось.
Я думаю, что они от смеха паузу взяли часа на полтора )))
31. maksa2005 542 25.05.23 09:55 Сейчас в теме
(30)Я уже думал не дождусь главного сатирика всех статьей инфостарта
32. SGordon1 25.05.23 14:19 Сейчас в теме
Если приложение общедоступно, то кто мешает взять сертификат из него и расшифровать все кракозяблы?
33. maksa2005 542 25.05.23 14:21 Сейчас в теме
(32) А как вы его возьмете? Если вы про то чтобы раскодировать базу через apk, не получиться после 8.3.16. Скажите Ваши методы, если владеете
34. SGordon1 25.05.23 14:28 Сейчас в теме
(33) методой не владею, а что произошло с 8.3.16?
35. maksa2005 542 25.05.23 14:30 Сейчас в теме
(34) То, что раскрыть базу не получиться. ошибку выдает критическую.
Что я делал? я взял 1cd созданные в мобильном приложении и попытался его посмотреть. Код и т.п. Увы и это к лучшему...
36. SGordon1 25.05.23 14:31 Сейчас в теме
(35)Зашифровано или что увы?
37. maksa2005 542 25.05.23 14:32 Сейчас в теме
(36) увы - это значит, что открыть её через конфигуратор штатными средствами windows не представляется возможным
38. SGordon1 25.05.23 14:33 Сейчас в теме
А как в принципе программа работает когда нет интернета, что показывает?
39. maksa2005 542 25.05.23 14:35 Сейчас в теме
(38)Те же данные, с момент последней связи. Они сохраняются и обновляются при наличии интернета. У клиентов, бывает что плохое покрытие сети и не получается обновить данные, а тут раз - все увидел.
40. MrWashington 25.05.23 17:51 Сейчас в теме
Спасибо за статью. Было приятно почитать. Посмотреть и потрогать ваше решение.
43. G_117371983790257647148 07.12.23 22:56 Сейчас в теме
Максим, добрый день. Хочу тоже красивое приложение на 1С. Сделаете?
44. maksa2005 542 08.12.23 04:18 Сейчас в теме
(43) напишите мне в личное
G_117371983790257647148; +1 Ответить
45. G_117371983790257647148 09.12.23 23:24 Сейчас в теме
48. aster-x 02.05.24 06:24 Сейчас в теме
(1) Физкульт-привет !
Я в свое время тоже немало шишек набил в итоге о веб-разработку, в последнее время уже обленился и использовал GPT для генерации кода страницы :) иногда даже сносно получалось :)
Вот только от 1С уже практически ничего не остается. Можно в ряде случаев и мобильное приложение не использовать, сделав всё на http-сервисах :)
49. maksa2005 542 02.05.24 06:30 Сейчас в теме
(48) будет все как в мультфилье wally. Мне не лень писать.
Оставьте свое сообщение