176

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Спасибо за ответ проработаем этот вариант.

nevl пишет:
RinatSadykov пишет:

Есть подозрение что неправильно делаем запрос на выборку интервала.

Попробуйте поэкспериментировать с временной зоной в запросе на получение отчёта (поставить в 0, прибавить/убавить час перехода на летнее время). Данные для онлайн отчёта и для ActiveX берутся из одного места, так что там всё должно совпадать.

ООО "Навитрейд-42"
www.navitrade.pro
г.Кемерово
Ринат Садыков
177

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Эксперименты с временной зоной дают следующий результат (отчет по трассировке сообщений):
если в запросе указывать сдвиг GMT+3, то выдается правильная выборка данных, но временная метка -4 часа от правильного местного времени (GMT+7)

178

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Уточнение предыдущего сообщения: в том эксперименте в запросе для временных меток не делал вычитание из unix time сдвига местной временной зоны. Сейчас, когда в формировании unixtime сдвиг учтен, выборка данных происходит корректно. Но время во временных метках идет со сдвигом 5 часов. Должно быть 7. Где копать?

179

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Добрый день.
Проверил на примере в екселе
TzOffset = 25200
FormatReport = 25200
    ' the first way to get a report
    'ReportData = Report.Generate(DateTime.DateDiff("s", #1/1/1970#, BeginTime) - TzOffset, DateTime.DateDiff("s", #1/1/1970#, EndTime) - TzOffset, Unit.ID, FormatReport, "ru")
    ' the second way to get a report
    ReportData = Wialon.GetReportById(DateTime.DateDiff("s", #1/1/1970#, BeginTime) - TzOffset, DateTime.DateDiff("s", #1/1/1970#, EndTime) - TzOffset, Unit.ID, FormatReport, "ru", Report.ResourceID, Report.ReportID)

1) При таких настройках отклонения от UTC мне удалось получить такие же данные, как и на вебе. (для gmt +7)
Если не те временные рамки - изменяйте TzOffset, если неверное время для каждой строки отчета - изменяйте FormatReport
2) В вашем коде указаны отклонения от UTC на 6 часов. Кстати в интернете противоречивые данные по часовому поясу в кемерово, какой он на самом деле +6 или +7?

“It’s Not A Bug, It’s A Feature!”
Anton Stepanovitch, Gurtam QA
180

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

вот я уже несколько раз видел что задают вопрос про ошибку 429 и что не можно создать компонент виалонактивикс

но ответа так и не увидел. можно всётаки для новичков пояснить?
и что такое remoteAPI ? и с чем его есть ?

181

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

maxidrom

откройте xls файл в режиме редактора VBA и на первом листе закомментируйте проверку на VBA 7 . Если кому-то неочевидно - комментировать надо строку If VBA 7 + еще 2 строки после нее.

Set Wialon = CreateObject("WialonActiveX.WialonConnection") - оставляем эту строку и комментируем следующую строку, содержащую #End If . Если логин, пароль, url и порт правильные , и если услуга ActiveX включена в учётной записи, ошибки появляться не должны.

maxidrom пишет:

и что такое remoteAPI ? и с чем его есть ?

Прочитайте документацию, посмотрите примеры, пользуйтесь встроенным поиском:

https://sdk.wialon.com/wiki/ru/sidebar/ … ref/apiref
https://sdk.wialon.com/wiki/ru/sidebar/ … odesamples

С чем есть - всё зависит от ваших вкусовых пристрастий, кто-то использует JS-API, кому-то PHP или Java ближе, кто-то пишет собственную обёртку.

Technical Support Specialist
Gurtam
182

Wialon Active X: загрузка групп объектов с сервера

(09/12/2016 14:43:20 отредактировано mirash34)

Re: Wialon Active X: загрузка групп объектов с сервера

Здравствуйте. Пишу на C# подключение к виалону через ActiveX Подключиться удалось, теперь очень хотелось бы понять как генерировать КОНКРЕТНЫЙ отчет по КОНКРЕТНОМУ Unit-у.  К примеру, функция
Report.Generate(1467234000, 1481198882, Unit.ID, 10800, "ru"); - работает с каким-то Unit-ом по id, но какой отчет при этом дожен составляться - непонятно. У отчета по идее тоже должен быть id. И если я его знаю, то смогу составить нужны отчет. Но какую функцию для этого использовать? Wialon.GetReportByID(1467234000, 1481198882, Unit.ID, 10800, "ru", Report.ResourceID, Report.ReportID)?
Тогда что такое ресурс? Как получить id отчета и ресурса? Как получить коллекцию ресурсов и отчетов?
GetReportsList() вернет com-объект, а не коллекцию. И что с этим объектом дальше делать? В документации ничего нет толком.

183

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

mirash34
1. Смотрите пример реализации на VBA в excel файле, который идём вместе с компонентой, там должны быть все необходимые примеры
2.  Ресурс  - это контейнер для учётной записи, в котором хранится пользовательский контент (отчеты, геозоны, задания, уведомления, и т.д. ).
3. Поддержка и разработка ActiveX прекращена более 2 лет назад, рекомендую использовать Remote API, он более актуален и набор в функций в нем полноценный в отличие от ActiveX.
4.

GetReportsList() вернет com-объект, а не коллекцию. И что с этим объектом дальше делать?

Вы уверены что вашему пользователю доступен хотя бы 1 шаблон отчета? Зайдите через GUI под вашими учётными данными и посмотрите, к чему у вас есть доступ. Вам нужны права доступа к объекту, по которому будет выполняться отчет, а также к ресурсу, чтобы вы могли пользоваться шаблонами отчетов.

Technical Support Specialist
Gurtam
184

Wialon Active X: загрузка групп объектов с сервера

(12/12/2016 13:09:16 отредактировано mirash34)

Re: Wialon Active X: загрузка групп объектов с сервера

bako пишет:

mirash34
1. Смотрите пример реализации на VBA в excel файле, который идём вместе с компонентой, там должны быть все необходимые примеры
2.  Ресурс  - это контейнер для учётной записи, в котором хранится пользовательский контент (отчеты, геозоны, задания, уведомления, и т.д. ).
3. Поддержка и разработка ActiveX прекращена более 2 лет назад, рекомендую использовать Remote API, он более актуален и набор в функций в нем полноценный в отличие от ActiveX.
4.

GetReportsList() вернет com-объект, а не коллекцию. И что с этим объектом дальше делать?

Вы уверены что вашему пользователю доступен хотя бы 1 шаблон отчета? Зайдите через GUI под вашими учётными данными и посмотрите, к чему у вас есть доступ. Вам нужны права доступа к объекту, по которому будет выполняться отчет, а также к ресурсу, чтобы вы могли пользоваться шаблонами отчетов.


ActiveX уже давно куплен для этой учетки и его ресурсов должно быть более чем достаточно для решения стоящей задачи.
Пример реализации я смотрел. id ресурса и отчета там отсутствуют, функции которые мне нужны не используются. Более того, при подключении библиотеки к c# попросту нет возможности обращения к WialonCollection.Item, его нет в теле класса, не объявлен в интерфейсе. В GUI доступна масса отчетов и масса техники, все есть, доступ к созданию шаблонов, вообще ко всему чему только можно. 
Я пишу так:
WialonConnection Wialon = new WialonConnection();
WialonCollection Units = new WialonCollection();
WialonCollection Reports;
WialonUnit Unit = new WialonUnit();

Wialon.SetProxyMode(...);         
Units = Wialon.Login(...);
С юнитами проблем не возникает, все видит. И в экселе они есть, и в c#.
А вот  Reports = Wialon.GetReportsList(); - возврщает com объект.
Соответственно, я не могу вытянуть id отчета и ресурса из этой "коллекции". 
Смысл задачи очень прост. У меня есть какое-то количество Unit-ов, для всех них мне нужно получить один и тот же отчет и отправить его в эксель. Список Unit-ов я получил, осталось получить список отчетов и создать их по каждому юниту, потом распарсить все xml файлы, если все-таки удастся их получить.
Если есть возможность - сообщите свои контакты, пожалуйста. Либо телефон, либо почту. Хотел бы связаться с Вами. Моя вот - mirash34@yandex.ru

185

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

mirash34, на C# не пишу, но рискну предположить, что с коллекциями нужно работать одинаково, будь то юниты или отчёты. С ходу вижу, что в одном месте под коллекцию выделяется память с помощью new, в другом месте (для отчётов) нет. Надо как-то определиться.
Если к нашей дискуссии присоединятся специалисты по C#, то от них ожидается бОльшая помощь. Если никто не подскажет, пишите в личку, будем разбираться.

186

Wialon Active X: загрузка групп объектов с сервера

(13/02/2017 13:53:58 отредактировано hmirzaev)

Re: Wialon Active X: загрузка групп объектов с сервера

Добрый день.
Используем wialon_pro_1401r14_l64 + Omnicomm Pro + Камера RS232, разрабатываем систему идентификацию водителей по iButton/RFID для заправки с топливо возов.
Столкнулись со следующими проблемами:
1) Например: Используем смарт карту ID:2199612 = Hex:00850021903C, а в Wialon Pro приходит в сообщениях ID=00850021903, почему Wialon Pro сбрасывает последнее значение C 4бит ?
2) В Wialon Pro приходит в сообщениях фото с установленных камер. Подскажите пожалуйста как можно загрузить и сохранить приходящее фото с камер в сообщениях по Remote API. Пробую messages/get_msg_photo возвращает {"error":4}

187

Wialon Active X: загрузка групп объектов с сервера

(14/02/2017 11:12:56 отредактировано hmirzaev)

Re: Wialon Active X: загрузка групп объектов с сервера

hmirzaev пишет:

Добрый день.
Используем wialon_pro_1401r14_l64 + Omnicomm Pro + Камера RS232, разрабатываем систему идентификацию водителей по iButton/RFID для заправки с топливо возов.
Столкнулись со следующими проблемами:
1) Например: Используем смарт карту ID:2199612 = Hex:00850021903C, а в Wialon Pro приходит в сообщениях ID=00850021903, почему Wialon Pro сбрасывает последнее значение C 4бит ?
2) В Wialon Pro приходит в сообщениях фото с установленных камер. Подскажите пожалуйста как можно загрузить и сохранить приходящее фото с камер в сообщениях по Remote API.


1) Добавили скрипт omnicom.tcl в каталог .../custom/hw/ , в свойствах объекта появилась дополнительная опция "использовать 12-ти значный номер
RFID" - все нормально Wialon Pro не сбрасывает последнее значение смарт карты.
2) Не могу даже создать отчет по изображениям. Нету данной опции в шаблоне отчетов. Подскажите как вытащить фотографии из сообщений.

188

Wialon Active X: загрузка групп объектов с сервера

(14/02/2017 11:12:32 отредактировано hmirzaev)

Re: Wialon Active X: загрузка групп объектов с сервера

hmirzaev пишет:

Добрый день.
Используем wialon_pro_1401r14_l64 + Omnicomm Pro + Камера RS232, разрабатываем систему идентификацию водителей по iButton/RFID для заправки с топливо возов.
Столкнулись со следующими проблемами:
1) Например: Используем смарт карту ID:2199612 = Hex:00850021903C, а в Wialon Pro приходит в сообщениях ID=00850021903, почему Wialon Pro сбрасывает последнее значение C 4бит ?
2) В Wialon Pro приходит в сообщениях фото с установленных камер. Подскажите пожалуйста как можно загрузить и сохранить приходящее фото с камер в сообщениях по Remote API.

1) Добавили скрипт omnicom.tcl в каталог .../custom/hw/ , в свойствах объекта появилась дополнительная опция "использовать 12-ти значный номер
RFID" - все нормально Wialon Pro не сбрасывает последнее значение смарт карты.
2) Не могу даже создать отчет по изображениям. Нету данной опции в шаблоне отчетов. Подскажите как вытащить фотографии из сообщений.

189

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

hmirzaev пишет:
hmirzaev пишет:

Добрый день.
Используем wialon_pro_1401r14_l64 + Omnicomm Pro + Камера RS232, разрабатываем систему идентификацию водителей по iButton/RFID для заправки с топливо возов.
Столкнулись со следующими проблемами:
1) Например: Используем смарт карту ID:2199612 = Hex:00850021903C, а в Wialon Pro приходит в сообщениях ID=00850021903, почему Wialon Pro сбрасывает последнее значение C 4бит ?
2) В Wialon Pro приходит в сообщениях фото с установленных камер. Подскажите пожалуйста как можно загрузить и сохранить приходящее фото с камер в сообщениях по Remote API.

1) Добавили скрипт omnicom.tcl в каталог .../custom/hw/ , в свойствах объекта появилась дополнительная опция "использовать 12-ти значный номер
RFID" - все нормально Wialon Pro не сбрасывает последнее значение смарт карты.
2) Решено с помощью get_msg_photo.

190

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

VBA excel:
Set Wialon = CreateObject("WialonActiveX64.WialonConnection")
Set Units = Wialon.Login("https://activex.gurtam.com", 443, "", "")
Set Report = Wialon.GetReportsList(1)
dtdiff = DateTime.DateDiff("s", #1/1/1970#, "00:00:00")
dt1 = DateTime.DateDiff("s", #3/13/2017#, "00:00:00")
dt2 = DateTime.DateDiff("s", #3/13/2017#, "23:59:59")
Set Unit = Units.Item(1)
Set ReportData = Report.Generate(dt1, dt2, 10800, Unit.ID) вроде правильно?
Подскажите. Что делать с датами чтобы заработал?

Вообще странно, заговор, прям, какой-то :-) ни одного рабочего примера по выводу отчета. хотя что еще можно делать в виалоне автоматически

191

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Set Wialon = CreateObject("WialonActiveX64.WialonConnection")
Set Units = Wialon.Login("https://activex.gurtam.com", 443, "", "")
Set Unit = Units.Item(1)
Set Report = Wialon.GetReportsList(1)
dtdiff = DateTime.DateDiff("s", #1/1/1970#, "00:00:00")
dt1 = DateTime.DateDiff("s", #3/13/2017#, "00:00:00")
dt2 = DateTime.DateDiff("s", #3/13/2017#, "23:59:59")
dt3 = dtdiff - dt1
dt4 = dtdiff - dt2
ReportData = Report.Generate(dt3, dt4, 10800, Unit.ID, "ru")
Ошибка пропала, только reportdata = "", что как то не правильно sad

192

Wialon Active X: загрузка групп объектов с сервера

(16/03/2017 09:46:11 отредактировано cherik1)

Re: Wialon Active X: загрузка групп объектов с сервера

ни кто не желает помочь... ну я пытался ...
Пошел создавать отдельную тему...

193

Wialon Active X: загрузка групп объектов с сервера

Re: Wialon Active X: загрузка групп объектов с сервера

Не подключается ActiveX не в демо из Инсталяционого пакета (ошибка - 429) не из 1 с (ошибка: Ошибка при вызове конструктора (COMОбъект)  Wialon = Новый COMОбъект("WialonActiveX64.WialonConnection");
по причине:
-2147221164(0x80040154): Class not registered.
Может кто подскажет где искать и что это может быть?