Проблема в следующем:
Имеем отчет в Wialon Local таблица "Сводка" запрашиваем его за определенный период по ТС, через сайт мониторинга имеем одни результаты, запрашиваем тот же отчет через ActiveX результаты другие, причем разница не сильно большая если брать за один день, но в разрезе месяца разница получается уже довольно существенная.
Скриншот результата отчета на сайте мониторинга прилагается. Ниже запрос на ActiveX и возвращаемый результат:
Запрос:
Если (ЗначениеЗаполнено(ДатаН)=Ложь) и
(ЗначениеЗаполнено(ДатаК)=Ложь) Тогда
Возврат;
КонецЕсли;
ДатаНач=НачалоДня(ДатаН);
ДатаКон=КонецДня(ДатаК);
ПодключитьВнешнююКомпоненту("C:\Program Files\1cv82\8.2.19.76\bin\WialonActiveX.dll","WialonActiveX",ТипВнешнейКомпоненты.COM);
Files\1cv82\8.2.19.76\bin\WialonActiveX.dll,WialonActiveX,ТипВнешнейКомпоненты.COM);
Wialon = Новый COMОбъект("WialonActiveX.WialonConnection");
Wialon2 = Новый COMОбъект("WialonActiveX.WialonReport");
login= "";
password="";
Units = Wialon.Login("http://activex.local.navitrade.ru",80,login,password);
//проверка подключения
Если Units = Неопределено Тогда
Сообщить(Wialon.GetLastError());
Сообщить("Ошибка подключения (Units=0)");
Возврат;
КонецЕсли;
//ОтклонениеОтGMT = 66060;
ДатаОтчета=Дата("19700101");
Маш = ТС.ГаражныйНомер;
Кол= СтрДлина(СокрЛП(Маш));
Для НомерТС = 1 по Units.Count Цикл
Если Лев(Units.Item(НомерТС).Name,Кол) = Маш Тогда
НомерIDU = Units.Item(НомерТС).IDU;
Прервать;
КонецЕсли;
КонецЦикла;
ПеремДата = ДатаНач;
Пока ПеремДата < ДатаКон Цикл
Дат=ПеремДата-ДатаОтчета;
UnixTimeНачало = Дат-21600;
UnixTimeОкончание = (Дат+64799);
СтрокаXML = Wialon.GetReportByIDU(UnixTimeНачало,UnixTimeОкончание,Units.Item(НомерТС).IDU,21600,"ru",463,1);
Т = СтрЧислоСтрок(СтрокаXML);
А = СокрЛП(СтрПолучитьСтроку(СтрокаXML,8));
В=0;
Стр=-800;
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(СтрокаXML);
Пока Чтение.Прочитать() Цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Стр=Стр+1;
Если Чтение.Имя ="total" Тогда
В=В+1;
Если В=1 Тогда
Стр=0;
КонецЕсли;
КонецЕсли;
Если Стр >=0 Тогда
ПрочитатьАтрибуты(Чтение,Стр);
КонецЕсли;
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
Иначе
КонецЕсли;
КонецЦикла;
Сообщить("Потрачено по ДУТ="+Потрачено+" Ср.расход по ДУТ="+СредРасх+" Пробег="+Пробег/1000);
ПеремДата = НачалоДня(ПеремДата +64799);
Результат:
<report lang="ru" name="12.Сводка по ТС" tz="21600">
<stats>
<row name="Отчет" txt="12.Сводка по ТС" val="0" vt="0"/>
<row name="Объект" txt="101_А 165 НК_Камаз" val="0" vt="0"/>
<row name="Время выполнения отчета" txt="2015-10-26 08:09:42" val="1445825382" vt="30"/>
<row name="Начало интервала" txt="2015-10-13 00:00:00" val="1444672800" vt="30"/>
<row name="Окончание интервала" txt="2015-10-13 23:59:59" val="1444759199" vt="30"/>
<row name="Потрачено по ДУТ" txt="165.91 л" val="165.906334" vt="50"/>
<row name="Ср. расход по ДУТ" txt="76.59 л/100 км" val="76.587465" vt="51"/>
</stats>
<tables>
<table cols="15" flags="4113" id="unit_generic" name="Сводка" rows="1">
<header>
<col name="№"/>
<col name="Дата"/>
<col name="Пробег (скорректированный)"/>
<col name="Ср. скорость"/>
<col name="Макс. скорость"/>
<col name="Моточасы"/>
<col name="Стоянки"/>
<col name="Потрачено по ДУТ"/>
<col name="Ср. расход по ДУТ"/>
<col name="Нач. уровень"/>
<col name="Конеч. уровень"/>
<col name="Всего заправок"/>
<col name="Всего сливов"/>
<col name="Заправлено"/>
<col name="Слито"/>
</header>
<total>
<col txt="" val="0" vt="0"/>
<col txt="" val="0" vt="0"/>
<col txt="213.94 км" val="213937.701955" vt="10"/>
<col txt="9 км/ч" val="9.030049" vt="20"/>
<col txt="82 км/ч" val="82" vt="20"/>
<col txt="7:44:27" val="27867" vt="41"/>
<col txt="19:06:24" val="68784" vt="40"/>
<col txt="165.91 л" val="165.906334" vt="50"/>
<col txt="76.59 л/100 км" val="76.587465" vt="51"/>
<col txt="192.86 л" val="192.857147" vt="50"/>
<col txt="169.89 л" val="169.891312" vt="50"/>
<col txt="1" val="1" vt="2"/>
<col txt="0" val="0" vt="2"/>
<col txt="142.94 л" val="142.940498" vt="50"/>
<col txt="0.00 л" val="0" vt="50"/>
</total>
<row>
<col txt="1" val="0" vt="0"/>
<col txt="2015-10-13" val="1444672831" vt="32"/>
<col txt="213.94 км" val="213937.701955" vt="10"/>
<col txt="9 км/ч" val="9.030049" vt="20"/>
<col txt="82 км/ч" val="82" vt="20"/>
<col txt="7:44:27" val="27867" vt="41"/>
<col txt="19:06:24" val="68784" vt="40"/>
<col txt="165.91 л" val="165.906334" vt="50"/>
<col txt="76.59 л/100 км" val="76.587465" vt="51"/>
<col txt="192.86 л" val="192.857147" vt="50"/>
<col txt="169.89 л" val="169.891312" vt="50"/>
<col txt="1" val="1" vt="2"/>
<col txt="0" val="0" vt="2"/>
<col txt="142.94 л" val="142.940498" vt="50"/>
<col txt="0.00 л" val="0" vt="50"/>
</row>
</table>
<table cols="12" flags="4241" id="unit_engine_hours" name="Моточасы" rows="1">
<header>
<col name="№"/>
<col name="Дата"/>
<col name="Начало"/>
<col name="Нач. положение"/>
<col name="Конец"/>
<col name="Конеч. положение"/>
<col name="Общее время"/>
<col name="Моточасы"/>
<col name="Холостой ход"/>
<col name="В движении"/>
<col name="Пробег (скорректированный)"/>
<col name="Потрачено по ДУТ на холостом ходу"/>
</header>
<total>
<col txt="" val="0" vt="0"/>
<col txt="" val="0" vt="0"/>
<col txt="2015-10-13 00:00:59" val="1444672859" vt="30"/>
<col txt="" val="0" vt="1"/>
<col txt="2015-10-13 23:59:52" val="1444759192" vt="30"/>
<col txt="" val="0" vt="1"/>
<col txt="23:58:53" val="86333" vt="40"/>
<col txt="7:44:27" val="27867" vt="41"/>
<col txt="3:32:14" val="12734" vt="41"/>
<col txt="4:11:48" val="15108" vt="41"/>
<col txt="217.41 км" val="217414.128071" vt="10"/>
<col txt="14.58 л" val="14.576126" vt="50"/>
</total>
<row>
<col txt="1" val="0" vt="0"/>
<col txt="2015-10-13" val="1444672859" vt="32"/>
<col txt="00:00:59" val="1444672859" vt="31"/>
<col txt="Сибирь" val="0" vt="1"/>
<col txt="23:59:52" val="1444759192" vt="31"/>
<col txt="Сибирь" val="0" vt="1"/>
<col txt="23:58:53" val="86333" vt="40"/>
<col txt="7:44:27" val="27867" vt="41"/>
<col txt="3:32:14" val="12734" vt="41"/>
<col txt="4:11:48" val="15108" vt="41"/>
<col txt="217.41 км" val="217414.128071" vt="10"/>
<col txt="14.58 л" val="14.576126" vt="50"/>
</row>
</table>
</tables>
</report>
Как видно результат разный!
Есть подозрение что неправильно делаем запрос на выборку интервала.
Просьба откликнуться проблема висит уже достаточно долго.
Заранее спасибо!
ООО "Навитрейд-42"
www.navitrade.proг.Кемерово
Ринат Садыков