gifts2017

Получение координат GPS в 1С

Опубликовал Serj (Serj1C) в раздел Программирование - Внешние компоненты

Внешняя компонента слушает указанный COM-порт,
ищет предложения GPGGA — данные о последнем определении местоположения,
разбирает координаты и отправляет оповещение в 1С.

Стандартными средствами 1С читает несколько строк из COM-порта, потом переестает не него реагировать до следующего перезапуска не обработки, а самой платформы.

Пример предложения:
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

Описание формата
http://ru.wikipedia.org/wiki/NMEA

Свойства:
НомерПорта – целое, чтение/запись
ПортОткрыт - логическое, только чтение

Свойства:
ОткрытьПорт() – открывает порт, начинает его слушать
ЗакрытьПорт() – закрывает порт, останавливает прослушивание.

При получении координат с порта вызывается событие
ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
- ИмяСобытия = "SerjGPS"
- Параметр = Строка, координаты через запятую
- Источник = "Координаты";

При инициализации НомеПорта устанавливается в 1 (COM1).
Повторное открытие вначале закроет порт, потом откроет.

При первом запуске компонента раззипуется из макета во временный каталог и зарегистрируется.

Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0

http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

---------
PS: Это моя первая ВК; косвенно спасибо Душелову, был вдохновлен его ВК

[Обновлено 6/05/09]
- Англоязычные синонимы свойств и методов (PortNumber, IsOpen, Open(), Close())
- Методы теперь выполнены в виде функций, возвращающие Истину, если метод выполнен успешно, и Ложь, если была какая-либо ошибка

У кого установлена предыдущая версия, ее прийдется удалить. (файл unreg.bat в %temp%\SerjGPS

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

Наименование Файл Версия Размер
Пример 8.1 236
.1241456471 24,84Kb
25.09.09
236
.1241456471 24,84Kb Скачать
Компонента + листинг (для совместимости с 7.7) 177
.1241456666 14,60Kb
25.09.09
177
.1241456666 14,60Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Марита (Марита) 04.05.09 21:15
2. Игорь Белышев (biv75) 04.05.09 21:39
Удобно, можно по GPS время на компе например синхронизировать, такая задача часто необходима для систем диспетчерезации.
3. Василий Демидов (Душелов) 04.05.09 21:44
Поздравляю с первенцем! Нашему полку прибыло! ;)
4. Игорь Белышев (biv75) 04.05.09 21:44
Многие GPS приемники по умолчанию передают несколько типов строк данных, кстати по COM порту можно и программировать для получения различных данных, можно в разработку добавить возможность программирования и выбора вида получаемых данных, для различных целей.
5. Serj (Serj1C) 04.05.09 21:45
(3) Если быть точнее, то самая первая моя DLL считала а+б ))
6. Serj (Serj1C) 04.05.09 21:53
(4) Я об этом и не догадываюсь.. Даже думал что GPS приемник не поддается программированию, т.к. порт открывается только на чтение, отправить я туда ничего не смогу?
7. Василий Демидов (Душелов) 04.05.09 21:56
(6) Нет, отправить ты ничего не можешь. Типа команду - сбить спутники? :))
8. Игорь Белышев (biv75) 04.05.09 22:00
Поддается, правда может не все, даже есть способ ускоренного запуска GPS когда закачиваются по порту данные по позициям спутников с другого GPS такой принцип используется на военной технике для уточнения положения с помощью корелляции.
9. Василий Демидов (Душелов) 04.05.09 22:04
(8) Это и на китайских гпс-ах работает? Я просто не сталкивался с документацией по этому поводу.
10. Игорь Белышев (biv75) 04.05.09 22:13
На китайских не знаю, на ГлобалСатовских вроде работает, на модулях Сименс 55 (GSM+GPS) тоже работает.
11. ad bo (adakabo) 06.05.09 09:34
Serj1C, есть вопросик: использование английского синтаксиса при вызове методов этой компоненты возможен?
12. Serj (Serj1C) 06.05.09 09:39
(11) На данный момент нет, но при необходимости могу добавить
13. Юрий Лазаренко (TitanLuchs) 06.05.09 18:28
Спасибо, сам писать такое собирался, а оно вот уже, готовое ))
14. Serj (Serj1C) 06.05.09 21:42
(11) [Обновлено 6/05/09]
- Англоязычные синонимы свойств и методов (PortNumber, IsOpen, Open(), Close())
15. Василий Демидов (Душелов) 06.05.09 22:51
(14) Я тоже когда-то это писал... Да не надо оно!
16. ad bo (adakabo) 08.05.09 07:40
(15) кому-то надо раз спросили ;)
18. arisha rein (arisha_rein) 18.06.14 11:50
Подскажите, пожалуйста, если эту обработку использовать в мобильном приложении 1с на планшете с GPS, будет ли она определять порт и координаты местоположения? Если нет, то можно ли сделать аналог?
19. arisha rein (arisha_rein) 18.06.14 14:06
вопрос снят, изучила возможности мобильного приложения на 1с 8.3
20. Андрей Колчин (kolchinab) 09.09.15 22:39
Насчет совместимости с 1 с 7.7 - я не смог и близко. Ни установить компоненту вручную, ни прописать тот листинг в семерку. Автор, поясните, пожалуйста, как это приживить к 7.7.
21. Андрей Колчин (kolchinab) 18.09.15 11:05
Сергей, здравствуйте!
Не смог зарегистрировать вашу SerjGPS.dll ни с помощью reg.bat, ни с помощью regsvr32.
Специально взял машину с XP и Microsoft .NET Framework 2.0.
Можно попросить Вас объяснить, как мне приживить это к 1С 7.7.
Готов оплатить.
С уважением.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа