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

21.11.22

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

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

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
Определение геокоординат в мобильной платформе с помощью внешней компоненты
.zip 1,05Mb
23
23
6 SM
Скачать Купить за 3 350 руб.

В мобильной платформе 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.х Управленческий учет Платные (руб)

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

2880 руб.

03.12.2018    57101    182    103    

169

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

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

12900 руб.

08.06.2023    8021    12    0    

53

SALE! 25%

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

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

13200 9900 руб.

27.12.2021    35790    94    161    

190

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь Платформа 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    94381    547    187    

311

Разработка внешних компонент 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 и маркетинг Управленческий учет Платные (руб)

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

15000 руб.

30.05.2017    52987    8    69    

44

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

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    17419    16    33    

21

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

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

3000 руб.

12.05.2020    27161    136    98    

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

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

2. Попробуйте назначить обработчник внешнего события в модуле клиентского приложения.
14. seregasame 12.07.22 08:58 Сейчас в теме
(13) спасибо, у меня обработчик как раз в модуле приложения, попробую с формой
15. sivin-alexey 511 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 511 26.08.21 11:55 Сейчас в теме
(3) Такой возможности нет
5. Profi85 26.08.21 11:56 Сейчас в теме
(4) Понял, спасибо за информацию.
6. sikuda 676 17.11.21 09:24 Сейчас в теме
А координаты определяются по GPS или сети? Сам сервис Huawei - huawei.agconnect есть возможность задействовать?
Пока ищу решение проблемы - https://forum.mista.ru/topic.php?id=867950
7. sivin-alexey 511 17.11.21 10:45 Сейчас в теме
8. Mozar 10 24.05.22 09:56 Сейчас в теме
Здравствуйте. Встроенное определение координат (в платформе) работает очень медленно. Вы не сравнивали скорость работы с штатной процедурой?
9. sivin-alexey 511 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 511 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 планшет, но с точностью есть вопросы, координаты все время "пляшут" вокруг реальной точки.
Оставьте свое сообщение