Определение геокоординат в мобильной платформе с помощью внешней компоненты

21.11.22

Разработка - Разработка внешних компонент

Асинхронно, без использования сервисов Google.

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

Наименование Файл Версия Размер
Определение геокоординат в мобильной платформе с помощью внешней компоненты
.zip 1,05Mb
22
.zip 1,05Mb 22 Скачать

В мобильной платформе 1С определение местоположения работает через Google сервисы. Если Google сервисы на телефоне (планшете) недоступны, то определить геокоординаты средствами платформы не получится. В частности, такая проблема возникает на планшетах Huawei.

Предлагаем альтернативный способ определения геокоординат - с помощью внешней компоненты "GetLocation". Определение геокоординат происходит в фоновом режиме (чтобы не блокировать интерфейс), результат передаётся в 1С с помощью внешнего события:

ПодключитьВнешнююКомпоненту("ОбщийМакет.GetLocation","Z9846",ТипВнешнейКомпоненты.Native);
КомпонентаGetLocation = Новый("AddIn.Z9846.GetLocation");
КомпонентаGetLocation.GetLocation();

Процедура ВнешнееСобытие(Источник, Событие, Данные)
	Если Источник="GetLocation" Тогда
		Если Событие="LocationChanged" Тогда
			х = СтрНайти(Данные,"_");
			Если х=0 Тогда
				Возврат;
			КонецЕсли;
			
			А = Лев(Данные,х-1);
			Б = Сред(Данные,х+1);
			
			Широта = Число(А);
			Долгота = Число(Б);
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

 

Общие требования

Компонента предназначена для мобильной 1С на Android (arm, arm64, x86, x86_64).

 

Содержание файла

1. Внешняя компонента

2. Исходный код (проект Android Studio)

См. также

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

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

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

2880 руб.

03.12.2018    54597    137    102    

161

SALE! 25%

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

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

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

13200 9900 руб.

27.12.2021    33272    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    91924    511    186    

293

Медиадисплей. Рекламный информационный монитор для покупателя.

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

Монитор покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Можно использовать в качестве графического меню-борда в кафе и видеовывески. Управление выводом на телевизор через hdmi-приставку на базе Windows или Android. В качестве устройства отображения можно использовать Android-планшеты, фоторамки с Android, монитор любого Windows-компьютера, доступного по сети. Настраивается ЛЮБОЙ ДИЗАЙН экрана!

16800 руб.

30.05.2017    52096    34    69    

43

Магазин 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    3387    2    0    

4

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

2400 руб.

12.05.2020    26241    131    99    

83

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    44969    117    64    

60
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Profi85 26.08.21 00:17 Сейчас в теме
Алексей, извиняйте за такой вопрос, но не хочу дублировать свою задачу здесь, очень попрошу прочитать ее по предоставленной ссылке по причине подробного описания там, как раз по этой теме:
https://forum.infostart.ru/forum92/topic268157/#message2707679
и ответьте, пожалуйста, ваша компонента справится с описанной задачей?
2. sivin-alexey 506 26.08.21 03:56 Сейчас в теме
(1) не проверял, нужно пробовать. Для вашей задачи можете перекомпилировать библиотеку, вызывая вместо locationManager.requestSingleUpdate метод requestLocationUpdates. Этот метод позволяет получать координаты с нужной периодичностью.
10. seregasame 11.07.22 16:28 Сейчас в теме
подскажите, при перекомпиляции я получаю apk в котором внутри в папке lib все so файлы, в Вашем apk их нет. Вы руками их оттуда убирали?
11. sivin-alexey 506 12.07.22 03:07 Сейчас в теме
12. seregasame 12.07.22 08:02 Сейчас в теме
(11) подскажите ещё по 1 вопросу, в мобильном клиенте компонента подключается, но внешнее событие не возникает, не сталкивались? Куда смотреть?
13. sivin-alexey 506 12.07.22 08:56 Сейчас в теме
(12)

1. Проверьте, назначен ли у формы обработчник внешнего события (недостаточно просто добавить процедуру, нужно указать её в качестве обработчика).

2. Попробуйте назначить обработчник внешнего события в модуле клиентского приложения.
14. seregasame 12.07.22 08:58 Сейчас в теме
(13) спасибо, у меня обработчик как раз в модуле приложения, попробую с формой
15. sivin-alexey 506 12.07.22 09:00 Сейчас в теме
(14) Если обработчик раз в модуле приложения, то и объект компоненты должен храниться в переменной модуля приложения.
16. seregasame 12.07.22 12:45 Сейчас в теме
(15) спасибо, получилось
Только почему то после изменения метода на requestLocationUpdates внешнее событие срабатывает только 1 раз, хотя значек gps при этом горит постоянно
3. Profi85 26.08.21 11:39 Сейчас в теме
(2) А есть возможность перед покупкой сначала проверить, подойдет ли ваша компонента для указанной моей задачи? Типа демо-версии этой компоненты, или что-то вроде этого? Не хотел тему засорять эти вопросом, но в ЛС не могу написать...
4. sivin-alexey 506 26.08.21 11:55 Сейчас в теме
(3) Такой возможности нет
5. Profi85 26.08.21 11:56 Сейчас в теме
(4) Понял, спасибо за информацию.
6. sikuda 673 17.11.21 09:24 Сейчас в теме
А координаты определяются по GPS или сети? Сам сервис Huawei - huawei.agconnect есть возможность задействовать?
Пока ищу решение проблемы - https://forum.mista.ru/topic.php?id=867950
7. sivin-alexey 506 17.11.21 10:45 Сейчас в теме
8. Mozar 10 24.05.22 09:56 Сейчас в теме
Здравствуйте. Встроенное определение координат (в платформе) работает очень медленно. Вы не сравнивали скорость работы с штатной процедурой?
9. sivin-alexey 506 24.05.22 10:06 Сейчас в теме
(8) Добрый день. Сравнивали, компонента работает быстрее.
17. nkroshko 20.09.22 13:57 Сейчас в теме
Алексей, загрузил Вашу компоненту, установил ее в модуле формы, столкнулся со следующей проблемой: если форма открывается на открытом пространстве, то все нормально, когда форма открывается в помещении, то координаты не определяются, что естественно. Я установил на форму кнопку "Обновить координаты", по нажатию которой вызываю метод GetLocation, что бы пользователь мог выйти на улицу и без переоткрытия формы получить координаты, но внешнее событие не происходит. Если форму переоткрыть, то координаты выдаются. В чем может быть ошибка?
18. AnDrU89 19.11.22 10:41 Сейчас в теме
Добрый день. А есть в этой компоненте проверка на точность позиции? Допустим надо чтобы точно определялось местоположение не меньше чем 5 метров? И ее надо каждый раз подключать при получении координат или при запуске приложения один раз подключаем и все?
19. sivin-alexey 506 19.11.22 11:47 Сейчас в теме
(18)
1. Проверки на точность позиции нет
2. Можно подключить один раз и сохранить объект компоненты в глобальной переменной модуля приложения
20. lewko_85 25.01.23 14:45 Сейчас в теме
Добрый день, столкнулся с проблемой, что при вызове внешнего события мобильная платформа вылетает. С чем может быть связанна данная проблема?
21. lewko_85 02.02.23 17:29 Сейчас в теме
Алексей, добрый день. Столкнулись с проблемой при попытке использовать вашу обработку.
Мобильное приложение 1С, при попытке использовать компоненту просто закрывается (вылетает). Такое впечатление что это происходит в момент инициализации внешнего события 1С из компоненты. То есть видим что компонента подключилась, успешно вызван метод "GetLocation()", видим на мобильном, в трее появился значок геолокации и через секунду приложение закрывается.
Видео с мобильного устройства прикладываю.

Обработка загружена в общий макет, код вызова в модуле формы ниже:
&НаКлиенте
Процедура ПолучитьКоординатыКомпанентой(Команда)
#Если МобильноеПриложениеКлиент Тогда
Успешно = ПодключитьВнешнююКомпоненту("ОбщийМакет.GetLocation", "Z9846", ТипВнешнейКомпоненты.Native);
КомпонентаGetLocation = Новый("AddIn.Z9846.GetLocation");
Успех = КомпонентаGetLocation.GetLocation();
Сообщить(Успех);
#КонецЕсли
КонецПроцедуры

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)

КонецПроцедуры
Показать


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

Заранее благодарю!
Прикрепленные файлы:
XRecorder_02022023_172159.mp4
22. lewko_85 07.02.23 10:16 Сейчас в теме
(21) Коллеги, осторожней с покупкой!
КОМПОНЕНТА НЕ РАБОТАЕТ!!!
Нашли специалиста, который прочитал исходники и нашел в них критические ошибки!
Скачивать данную обработку бессмысленно!

Прошу администрацию сайта обратить внимание и принять меры по блокировке данной публикации, что бы остальные пользователи не тратили зря время и деньги.
user2028705; +1 Ответить
25. пользователь 27.02.24 14:22
Сообщение было скрыто модератором.
...
23. Dream_kz 129 22.09.23 19:25 Сейчас в теме
Не работает, андроид 13, ARM64
После получения события приложение падает
24. matashin 27.10.23 10:44 Сейчас в теме
У меня компонента работает, 10 андроид T8 планшет, но с точностью есть вопросы, координаты все время "пляшут" вокруг реальной точки.
Оставьте свое сообщение