gifts2017

Пример работы с сервисом Wialon

Опубликовал Сергей К. (eskor) в раздел Обмен - Интеграция с WEB

Пример работы с сервисом GPS-мониторинга Wialon.

Судьба злодейка подкинула очередную задачу из серии "поднапрягись". Объектом стала система GPS мониторинга на базе Wialon. К сожалению, описание SDK оставляет желать лучшего, поэтому времени потрачено было очень много и по большей части впустую. На одном из профильных форумов попался пример обращения к сервису, хоть и изрядно устаревший и куцый, но вполне пригодный для понимания. 

Вашему вниманию предлагается файл конфигурации, на текущий момент вполне рабочий, выполняющий основные функции: получение списка объектов, видов отчетов и пр. с внутренними ID, и соответственно, выполнение этих отчетов.

В константах устанавливаете URL дилера, предоставляющего услуги, в учетной записи указываете логин и токен и вуаля. 

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

 

UPD: дополнение к настройке:

1. Адрес сервера Wialon  имеет вид в большинстве случаев:  http(s)://<адрес_провайдера>.ru/wialon/ajax.html

2. При запросе справочников, число с разрядностью больше 3х пребразуется в строку с пробелами. Их нужно убирать, вот, например, код внешенй обработки:

 
&НаСервереБезКонтекста
Процедура ПрошерститьНаСервере()
	Выборка = Справочники.ОтчетыGSM.Выбрать();
	Пока Выборка.Следующий() Цикл 
		ТекОбъект = Выборка.ПолучитьОбъект();
		ТекОбъект.ИДГруппы = ВернутьСтрокуТолькоЦифры(Выборка.ИДГруппы);
		Для Каждого Стр из ТекОбъект.ОтчетыГрупы Цикл 
			Стр.ИД = ВернутьСтрокуТолькоЦифры(Стр.ИД);
			Стр.ВиалонИД = ВернутьСтрокуТолькоЦифры(Стр.ВиалонИД);
		КонецЦикла;
		ТекОбъект.Записать();
	КонецЦикла;	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ВернутьСтрокуТолькоЦифры(ВхЗначение)
	СтрокаНужных = "0123456789";
	РезСтрока = "";
	ИсхСтрока = СокрЛП(ВхЗначение);
	Для Сч=1 По СтрДлина(ИсхСтрока) Цикл 
		ТекСимвол = Сред(ИсхСтрока,Сч,1);
		Если СтрЧислоВхождений(СтрокаНужных,ТекСимвол)>0 Тогда 
			РезСтрока = РезСтрока+ТекСимвол;
		КонецЕсли;	
	КонецЦикла;
	Возврат РезСтрока;
КонецФункции	

&НаКлиенте
Процедура Прошерстить(Команда)
	ПрошерститьНаСервере();
КонецПроцедуры	
 

 

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

Наименование Файл Версия Размер
Конфигурация 14
.cf 495,83Kb
07.06.16
14
.cf 1.0.0.1 495,83Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Александр (smit1c) 03.11.16 16:29
в конфигурации код открыт ?
2. Сергей К. (eskor) 04.11.16 08:21
К чему такой вопрос? В описании все ясно сказано.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа