Судьба злодейка подкинула очередную задачу из серии "поднапрягись". Объектом стала система GPS мониторинга на базе Wialon. К сожалению, описание SDK оставляет желать лучшего, поэтому времени потрачено было очень много и по большей части впустую. На одном из профильных форумов попался пример обращения к сервису, хоть и изрядно устаревший и куцый, но вполне пригодный для понимания.
Вашему вниманию предлагается файл конфигурации, на текущий момент вполне рабочий, выполняющий основные функции: получение списка объектов, видов отчетов и пр. с внутренними ID, и соответственно, выполнение этих отчетов.
В константах устанавливаете URL дилера, предоставляющего услуги, в учетной записи указываете логин и токен и вуаля.
Развивать проект, как модуль для интеграции, вряд ли буду, на Инфостарте уже есть коммерческие решения. Пользуйтесь как есть, надеюсь, поможет преодолеть проблемы, возникающие в начале разработки.
UPD: дополнение к настройке:
1. Адрес сервера Wialon имеет вид в большинстве случаев: http(s)://<адрес_провайдера>.ru/wialon/ajax.html
2. При запросе справочников, число с разрядностью больше 3х пребразуется в строку с пробелами. Их нужно убирать, вот, например, код внешенй обработки:
&НаСервереБезКонтекста
Процедура ПрошерститьНаСервере()
Выборка = Справочники.ОтчетыGSM.Выбрать();
Пока Выборка.Следующий() Цикл
ТекОбъект = Выборка.ПолучитьОбъект();
ТекОбъект.ИДГруппы = ВернутьСтрокуТолькоЦифры(Выборка.ИДГруппы);
Для Каждого Стр из ТекОбъект.ОтчетыГрупы Цикл
Стр.ИД = ВернутьСтрокуТолькоЦифры(Стр.ИД);
Стр.ВиалонИД = ВернутьСтрокуТолькоЦифры(Стр.ВиалонИД);
КонецЦикла;
ТекОбъект.Записать();
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ВернутьСтрокуТолькоЦифры(ВхЗначение)
СтрокаНужных = "0123456789";
РезСтрока = "";
ИсхСтрока = СокрЛП(ВхЗначение);
Для Сч=1 По СтрДлина(ИсхСтрока) Цикл
ТекСимвол = Сред(ИсхСтрока,Сч,1);
Если СтрЧислоВхождений(СтрокаНужных,ТекСимвол)>0 Тогда
РезСтрока = РезСтрока+ТекСимвол;
КонецЕсли;
КонецЦикла;
Возврат РезСтрока;
КонецФункции
&НаКлиенте
Процедура Прошерстить(Команда)
ПрошерститьНаСервере();
КонецПроцедуры