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



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

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

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

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

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

 

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

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

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

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

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

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

 

8 Comments

  1. smit1c

    в конфигурации код открыт ?

    Reply ↓
  2. eskor

    К чему такой вопрос? В описании все ясно сказано.

    Reply ↓
  3. RazorSky

    Для подключения используется Remote API виалона?

    Reply ↓
  4. eskor

    Да, причем без внешних компонент. Весь обмен по http.

    Reply ↓
  5. user833423

    не качает .. просит бабки ..

    Reply ↓
  6. eskor

    (5) ну так договор должен быть с провайдером услуг, Wialon это архитектура и логика. 🙂

    Reply ↓
  7. aka Любитель XML

    Тоже занимался обменом с Виалон — единственное что не смог сделать — выгрузить нормально заявку в СМТ с несколькими маршрутами. Документация у них не описывает половину возможностей, да и тех. поддержка просто говорит — читайте доки. Работал с другими СМТ, у них попроще

    Reply ↓
  8. eskor

    (7) Я работал с провайдером Trivi.ru, насколько понял — все настройки транспорта, зон, маршрутов и отчетов делаются в самом web-интерфейсе. 1С уже получает готовые данные. Соответственно, получаем нужные ID, для получения отчетов о оправляем нужные данные с этими ID. Главная заморочка, с тем, что может быть несколько таблиц и уровней в выходных данных и соответственно разбор и запись в 1С фактически индивидуальна для каждого варианта.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *