Как сделать простое мобильное веб-приложение в 1С

04.06.14

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

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

Скачать файлы

Наименование Файл Версия Размер
КонтактыМВП.dt
.dt 29,67Kb
219
.dt 29,67Kb 219 Скачать

Введение

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

Мобильное веб-приложение "Контакты"

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


Поищем кого-нибудь (для того чтобы поиск начался нужно ввести не меньше 3 символов). Кто-то нашелся.
Мобильное веб-приложение Мобильное веб-приложение


Позвоним Алексею.
Мобильное веб-приложение Мобильное веб-приложение


Напишем письмо Тимофею.
Мобильное веб-приложение Мобильное веб-приложение

Вот и всё мобильное веб-приложение.

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

Немного о реализации

Используемые средства:
- Механизм HTTP-сервисов платформы 1С (начиная с версии 8.3.5)
- JavaScript библиотека jQuery (http://jquery.com)
- JavaScript библиотека jQuery mobile (http://jquerymobile.com)
- 1С:JSON (//infostart.ru/public/119601)

HTTP-сервис "Конткаты" принимает все запросы и передает их в обработку "КонтактыМВП". В обработке "КонтактыМВП" сосредоточена вся логика мобильного веб-приложения.

Мобильное веб-приложение

Так выглядит обработка запроса.

Функция ОбработатьЗапрос(Запрос) Экспорт
	
	Если СоответствуетРесурсу(Запрос, "/index.html") Тогда
		Возврат ПолучитьРесурсIndexHTML();
	ИначеЕсли СоответствуетРесурсу(Запрос,"/application.js") Тогда
		Возврат ПолучитьРесурсApplicationJS();
	ИначеЕсли СоответствуетРесурсу(Запрос,"/contacts.json") Тогда
		Возврат ПолучитьРесурсContactsJSON(Запрос);
	КонецЕсли;	
		
КонецФункции

А так, например, выглядит возврат страницы index.html.

Функция ПолучитьРесурсIndexHTML()
	
	Ответ = Новый HTTPСервисОтвет(200);	
	Текст = ПолучитьМакет("IndexHTML").ПолучитьТекст();
	Ответ.УстановитьТелоИзСтроки(Текст);
	Ответ.Заголовки.Вставить("Content-Type", "text/html");	
	Возврат Ответ;		
	
КонецФункции

Ничего сложного. Более детально вы можете изучить механизм загрузив КонтактыМВП.dt


Особенности публикации

При публикации HTTP-сервиса возникли небольшие сложности, чтобы вам было проще изложу некоторые замечания:
- В официальной документации есть достаточно подробные описания о публикации - читайте внимательнее.
- Не забывайте перед публикацией запустить конфигуратор от имени администратора.
- Запустить HTTP-сервис удалось только с файловой версией, с клиент-серверной возникала какая-то ошибка.
- Для того чтобы мобильное веб-приложение работало без запроса авторизации, если в базе есть заведенные пользователи, то после публикации, в файле default.vrd в строку подключения (point.ib) необходимо добавить параметры Usr и Pwd.

Если все опубликовано правильно, то перейти к мобильному веб-приложению вы сможете по ссылке http://localhost/demobase/hs/contacts/index.html (если при публикации вы в качестве имени указали demobase)

Заключение

Надеюсь материал статьи будет вам полезен.

Спасибо за внимание.

См. также

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

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

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

2880 руб.

03.12.2018    54613    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    6856    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. anig99 2843 04.06.14 12:49 Сейчас в теме
Я правильно понял, что достаточно набрать адрес в браузере?
2. rtnm 614 04.06.14 13:13 Сейчас в теме
(1) anig99, да, вы поняли все правильно, после публикации HTTP-сервиса "Контакты" базы КонтактыМВП.dt, достаточно просто перейти по ссылке http://localhost/demobase/hs/contacts/index.html. Для тестирования на мобильном устройстве я переходил по ссылке http://192.168.0.104/demobase/hs/contacts/index.html - это видно на скриншотах.
3. BigB 191 06.06.14 13:37 Сейчас в теме
Подскажите, как получать параметры (HTTPЗапрос.ПараметрыЗапроса["name"] перестает получать параметры) если переделать с HTTPМетод="GET" на HTTPМетод="POST"?
5. rtnm 614 06.06.14 17:30 Сейчас в теме
(3) BigB, а как именно вы поменяли HTTP метод? Конкретно в демонстрационном примере выбран наиболее подходящий метод - GET. Ну а так, могу предположить, что в вашем случае параметры ушли в тело запроса, и тогда их можно получить с помощью HTTPСервисЗапрос.ПолучитьТелоКакСтроку()
4. John_d 5277 06.06.14 17:21 Сейчас в теме
6. rtnm 614 06.06.14 17:36 Сейчас в теме
(4) John_d, спасибо за позитивный отзыв
7. nucha 97 07.06.14 21:28 Сейчас в теме
база должна быть опубликована на сервере?
С андроидным браузером работает?
8. rtnm 614 07.06.14 23:29 Сейчас в теме
(7) nucha, HTTP-сервис публикуется стандартными средствами предоставляемыми платформой 1С с использованием веб-сервера IIS или apache. Фреймоврки jQuery и jQuery mobile являются кроссбраузерными, поэтому мобильное веб-приложение должно работать без проблем в большинстве современных мобильных браузеров.
10. AlexSunS 09.06.14 03:12 Сейчас в теме
(7) nucha, Андроидный браузер это простите кто ?*
androgin; +1 Ответить
9. пользователь 08.06.14 14:57
Сообщение было скрыто модератором.
...
11. Программулькин 301 10.06.14 10:39 Сейчас в теме
чета я нифига не понял.
Скачал КонтактыМВП.dt, на компе создал чистую файловую конфу, залил КонтактыМВП.dt, установил апач 2.2 , на диске C создал каталог WWW, в нем папку MVP. Далее открыл базу в режиме конфигуратор, тыкаю администрирование-публиковать на веб-сервере, далее
Имя : MVP
Веб-сервер: Апач 2.2.
Каталог:C:\www\MVP
"Истина" Публиковать тонкий клиент и веб-клиент
"Истина" Публиковать стандартный интерфейс O Data
"Истина" Публиковать Web сервисы по умолчанию
"Истина" Публиковать HTTP сервисы по умолчанию
Имя Контакты
Корневой url contacts

Куда мне нажать и что, где запустить, что бы позвонить, и что я не так сделал? (мобилка галактика 4 s с браузером от яндекса).
12. rtnm 614 10.06.14 21:50 Сейчас в теме
(11) Программулькин, если публикация прошла успешно и вы указывали имя MVP, то для запуска мобильного веб-приложения "Контакты" необходимо в браузере телефона перейти по ссылке http://ИмяИлиIPСервера/MVP/hs/contacts/index.html
13. Программулькин 301 11.06.14 08:55 Сейчас в теме
спасибо, заработало, кстати если на компе стоит звонилка IP телефонии , то тоже работает.
14. rus128 2 11.06.14 11:17 Сейчас в теме
Респект автору за разведку новых технологий и за лаконичную статью!
15. gudun_ku 62 27.06.14 14:59 Сейчас в теме
Если мобильная платформа не будет работать на Windows Embedded, она останется игрушкой для торговых представителей.
С помощью ТСД на Андроид сканировать нормально большие партии товаров невозможно, поэтому ни Моторола, ни Даталоджик,
например, не делают ТСД на Андроид.
17. Redokov 81 01.07.14 11:40 Сейчас в теме
(15) gudun_ku, сфера мобильных приложений не замкнута на ТСД. Гораздо интереснее делать приложения для бизнеса, интегрирующие функционал ERP-систем. Очень мало директоров и топов предприятия используют платформы, отличные от iOS и Android.
А сканирование штрихкодов - дело времени. Доработают и настроят. А вот завести инфраструктуру приложений, которая сложилась на Андроид и iOS - дело значительно более сложное.
18. DitriX 2091 02.07.14 11:45 Сейчас в теме
(15) winCE - устарела давно. И моторола уже давно выпускает тсд на андроид.
http://www.motorolasolutions.com/US-EN/Business+Product+and+Services/Mobile+Computers/Handheld+C­omputers

(17) уже все давно работает и все с этим работают.:)
16. chmv 01.07.14 10:26 Сейчас в теме
19. John_d 5277 15.07.14 20:06 Сейчас в теме
можете подсказать javascript-код, как при открытии веб-приложения в строку поиска подставлялось значение по умолчанию? (например Иванов)
20. Программулькин 301 22.09.15 14:12 Сейчас в теме
на платформе 8,3,6 выдаёд ошибку
{Обработка.КонтактыМВП.МодульМенеджера(16,16)}: Тип не определен (HTTPСервисОтвет)
Ответ = Новый <<?>>HTTPСервисОтвет(200); (Проверка: Толстый клиент (обычное приложение))
{Обработка.КонтактыМВП.МодульМенеджера(26,16)}: Тип не определен (HTTPСервисОтвет)
Ответ = Новый <<?>>HTTPСервисОтвет(200); (Проверка: Толстый клиент (обычное приложение))
{Обработка.КонтактыМВП.МодульМенеджера(36,16)}: Тип не определен (HTTPСервисОтвет)
Ответ = Новый <<?>>HTTPСервисОтвет(200); (Проверка: Толстый клиент (обычное приложение))

Как победить?
21. rtnm 614 22.09.15 15:46 Сейчас в теме
(20) Программулькин, проверить, что действительно используется платформа 8.3.6 и не используется режим совместимости, других идей нет
22. Steelvan 302 06.03.16 13:19 Сейчас в теме
(20) Программулькин,

Читать внимательно "Проверка: Толстый клиент (обычное приложение"
Настраивать в Сервис / Параметры / Модули / Проверка.

Вроде пишешь на русском, а вопрос как от тупого америкакашки.
23. Artem1405 25 17.09.16 22:34 Сейчас в теме
Спасбо за статью! Давно ждал подобного от 1с.
Сразу пришла идея сделать что-то похожее на сайт, но с этой идеей меня не поняли бы даже на инфостарте

С удовольствием бы почитал такую статью, надеюсь вы все таки решитесь на нее.
24. Mortal 80 02.02.17 15:05 Сейчас в теме
Приветствую!
Решил таки поковырять http-сервисы. Попалась Ваша разработка. Базу установил, опубликовал, подключаюсь с мобильника (Сяоми mi4s), но поиск не работает. Такая же картина при подключение с компьютера.
Не подскажете, в чем может быть проблема?
https://cloud.mail.ru/public/ETS1/DkUSBfp25

25. rtnm 614 03.02.17 13:12 Сейчас в теме
(24) Привет, сложно сказать, надо отлаживать.
Оставьте свое сообщение