Пример работы с сервисом 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 не будет опубликован. Обязательные поля помечены *