1

Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

Тема: Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

Добрый день!
Зачем то сегодня изменили в отчетах, получаемых через апи размерность чисел, получаемых в литрах - раньше было "lt", теперь стало "l"
Как итог отвалилась интеграция с 1С. В чем был смысл этого изменения????

Обошлись малой кровью, без переписывания интеграций в 40 базах, поменяли отчеты в Виалоне. Но полдня интеграция лежала, пока нашли ошибку.

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

Американский форум - Задаёшь вопрос, потом тебе отвечают.
Израильский форум - Задаёшь вопрос, потом тебе задают вопрос.
Русский форум - Задаёшь вопрос, потом тебе долго рассказывают какой ты муд@к.
2

Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

Re: Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

Добрый день!

Изменения коснулись только перевода для форматированных значениях, размерность чисел никаким образом не менялась.
Ранее "л" на английском языке был не верный формат (перевод)  'lt'. Также в какой-то части функционала, например для  "Датчика уровня топлива", использовался 'l'. Приняли решение везде привести к одному верному формату.
.
Что касается выполнения отчета и получения данных через API - в отчете любую колонку пользователь может сам переименовать в любой момент, также на разных языков переводы свои, поэтому не совсем верно привязывать парсинг к текстовым данным в отчетах, тоже самое касается и форматированного значения. Например, если отчет создан в интерфейсе на русском языке, то в форматированном значении будет перевод на русский, т.е "л'". Так всегда работало.

Через API вы можете получить числовое значение ячейки, форматированное (как текст) и даже тип этой ячейки.  Данные по топливу - это числовые данные, поэтому их корректно получать от параметра, который отображает числовое значение самой ячейки.

 

 "t":<text>,    /* formatted cell value */
                "v":<double>,    /* original cell value */
                "vt":<double>,    /* value type */

В любом случае приносим извинения за вызванные неудобства в работе.
Если у вас будут вопросы касательно интеграции, API, пожалуйста, пишите тут, с удовольствием поможем.

Diana Cheley
Wialon Hosting Expert
Gurtam
3

Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

(26/02/2020 17:59:26 отредактировано Лео)

Re: Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

Мы формируем отчёт по шаблону, мне возвращается только колонка со значением "53 lt". Для того, чтобы мне получить числовое значение, приходится создавать пользовательскую колонку, указывать формулу - "оригинальная колонка" и пустую единицу измерения и вот тогда (!) я могу получить значение "53", правда, всё равно строкой. Конкретные методы не назову по памяти, но ваш пример не стыкуется с результатом выполнения отчёта, который мы получаем.

И да, интересно узнать, какие виды компенсации Гуртам хотел бы предложить клиентам, бизнес которых пострадал из-за внесения изменений без уведомления клиентов.
Вообще, существует какая-то рассылка, где вы сообщаете "тогда-то планируется такое-то изменение, раскатанное в данный момент на тестовой среде по такому-то адресу, где вы можете протестировать адаптацию ваших КИС под эту новую функциональность"? Или плевать на рабочие среды клиентов и "меняем что и когда хотим"?

Или хотя бы выкладывали разными версиями, как Омникомм делает, например. Чтобы рабочие среды клиентов не грохать.

4

Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

(26/02/2020 17:36:26 отредактировано Лео)

Re: Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

Конкретные методы не назову по памяти

А, впрочем, назову. Выполняю метод "report/exec_report".
Получаю массив таблиц, среди которых есть таблица "unit_engine_hours". Вот строка этой таблицы:
Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.Все данные лежат в реквизите с говорящим названием "c":
Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.И скажите мне, где тут ваша структура? Обращаю внимание, что хотя бы строковое значение без идиотских букв в элементе массива с индексом 0 я получаю неимоверной хитростью:
Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.Пустая единица измерения и мы хотя бы строку получаем. Подскажете, как мне выйти на ваш формат результата запроса?

5

Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

Re: Обновление Виалон Хостинг 26.02.2020 - изменили размерность литров.

Добрый день, Лео

Приведу порядок выполнения запросов и JSON ответы на примере таблицы Моточасы в отчете.

Отправляем запрос svc=report/exec_report для выполнения отчета

https://hst-api.wialon.com/wialon/ajax.html?svc=report/exec_report&sid=029da7c1618ed79e5de02236eaf762ae&params={"reportResourceId":49,"reportTemplateId":3,"reportTemplate":null,"reportObjectId":826,"reportObjectSecId":0,"interval":{"flags":16777216,"from":1582578000,"to":1582837199}}

В ответ приходят весь контент отчета : название, сколько таблиц, какие таблицы и т.д
К примеру, нам нужно таблица Моточасы, т.е name: "unit_engine_hours", ниже JSON по этой таблицы

{"name":"unit_engine_hours","label":"Моточасы","grouping":{},"flags":16781712,"rows":27,"level":1,"columns":5,"header":["№","Начало","Конец","Потрачено по ДУТ (DUT)","Потрачено по ДУТ (ДУТ3)"],"header_type":["","time_begin","time_end","fuel_consumption_fls","fuel_consumption_fls"],"total":["","2020-02-17 09:36:35","2020-02-26 15:15:10","2434 л","0 л"],"totalRaw":[{"v":0,"vt":0},{"v":1581921395,"vt":30},{"v":1582719310,"vt":30},{"v":2433.87839448,"vt":50},{"v":0,"vt":50}]}],"attachments":[]}

В таблица 5 столбцов в header указаны их названия, 26 строк (индекс первой строки с нуля начинается), один уровень вложенности (детализации), есть строка Итого total с форматированными значениями, все параметры текстовые,  и та же строка totalRaw содержит числовые значение  - параметры "v" - числовое значение, и "vt"  - тип ячейки.

Для получения данных по вложенным строкам, т.е детализацию можно выполнить запрос svc=report/select_result_rows, указать в параметре "type":"range", и обязательно rawValues в "data":{"from":0,"to":26,"level":0,"rawValues":1}

https://hst-api.wialon.com/wialon/ajax.html?svc=report/select_result_rows&sid=029da7c1618ed79e5de02236eaf762ae&params={"tableIndex":5,"config":{"type":"range","data":{"from":0,"to":27,"level":0,"rawValues":1}}}
[{"n":0,"i1":1,"i2":2,"t1":1581921395,"t2":1581921404,"d":0,"c":[{"t":"1","v":0,"vt":0},{"t":"2020-02-17 09:36:35","v":1581921395,"vt":30,"y":53.9057459,"x":27.4569203},{"t":"2020-02-17 09:36:44","v":1581921404,"vt":30,"y":53.9057459,"x":27.4569203},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":1,"i1":129,"i2":130,"t1":1581931218,"t2":1581931228,"d":0,"c":[{"t":"2","v":0,"vt":0},{"t":"2020-02-17 12:20:18","v":1581931218,"vt":30,"y":53.9057362,"x":27.4569799},{"t":"2020-02-17 12:20:28","v":1581931228,"vt":30,"y":53.9057362,"x":27.4569799},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":2,"i1":131,"i2":132,"t1":1581932646,"t2":1581932657,"d":0,"c":[{"t":"3","v":0,"vt":0},{"t":"2020-02-17 12:44:06","v":1581932646,"vt":30,"y":53.9057455,"x":27.4569222},{"t":"2020-02-17 12:44:17","v":1581932657,"vt":30,"y":53.9057506,"x":27.4569239},{"t":"0.10 л","v":0.100006103516,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":3,"i1":453,"i2":457,"t1":1581938040,"t2":1581938067,"d":0,"c":[{"t":"4","v":0,"vt":0},{"t":"2020-02-17 14:14:00","v":1581938040,"vt":30,"y":53.9057506,"x":27.4569239},{"t":"2020-02-17 14:14:27","v":1581938067,"vt":30,"y":53.9057506,"x":27.4569239},{"t":"3.40 л","v":3.40002441406,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":4,"i1":458,"i2":460,"t1":1581938095,"t2":1581938110,"d":0,"c":[{"t":"5","v":0,"vt":0},{"t":"2020-02-17 14:14:55","v":1581938095,"vt":30,"y":53.9057506,"x":27.4569239},{"t":"2020-02-17 14:15:10","v":1581938110,"vt":30},{"t":"165 л","v":165.399993896,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":5,"i1":462,"i2":470,"t1":1581938325,"t2":1581938485,"d":0,"c":[{"t":"6","v":0,"vt":0},{"t":"2020-02-17 14:18:45","v":1581938325,"vt":30,"y":53.9057267,"x":27.4568778},{"t":"2020-02-17 14:21:25","v":1581938485,"vt":30,"y":53.9057695,"x":27.4570017},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":6,"i1":471,"i2":474,"t1":1581938576,"t2":1581938638,"d":0,"c":[{"t":"7","v":0,"vt":0},{"t":"2020-02-17 14:22:56","v":1581938576,"vt":30,"y":53.9057453,"x":27.456921},{"t":"2020-02-17 14:23:58","v":1581938638,"vt":30,"y":53.9057444,"x":27.4569237},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":7,"i1":475,"i2":476,"t1":1581939267,"t2":1581939278,"d":0,"c":[{"t":"8","v":0,"vt":0},{"t":"2020-02-17 14:34:27","v":1581939267,"vt":30,"y":53.9057573,"x":27.4569598},{"t":"2020-02-17 14:34:38","v":1581939278,"vt":30,"y":53.9057573,"x":27.4569598},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":8,"i1":477,"i2":479,"t1":1581939287,"t2":1581939302,"d":0,"c":[{"t":"9","v":0,"vt":0},{"t":"2020-02-17 14:34:47","v":1581939287,"vt":30,"y":53.9057503,"x":27.456982},{"t":"2020-02-17 14:35:02","v":1581939302,"vt":30,"y":53.9057471,"x":27.4569036},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":9,"i1":480,"i2":558,"t1":1581948547,"t2":1581948664,"d":0,"c":[{"t":"10","v":0,"vt":0},{"t":"2020-02-17 17:09:07","v":1581948547,"vt":30,"y":53.9060197,"x":27.4571222},{"t":"2020-02-17 17:11:04","v":1581948664,"vt":30,"y":53.9063654,"x":27.4548329},{"t":"0.15 л","v":0.146426452324,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":10,"i1":559,"i2":889,"t1":1581949275,"t2":1581949702,"d":0,"c":[{"t":"11","v":0,"vt":0},{"t":"2020-02-17 17:21:15","v":1581949275,"vt":30,"y":53.9066262,"x":27.5210719},{"t":"2020-02-17 17:28:22","v":1581949702,"vt":30,"y":53.9102513,"x":27.5177965},{"t":"86 л","v":86.1700362721,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":11,"i1":895,"i2":897,"t1":1582020015,"t2":1582020075,"d":0,"c":[{"t":"12","v":0,"vt":0},{"t":"2020-02-18 13:00:15","v":1582020015,"vt":30,"y":53.9058471,"x":27.4567926},{"t":"2020-02-18 13:01:15","v":1582020075,"vt":30,"y":53.9058377,"x":27.4567809},{"t":"0.30 л","v":0.300018310547,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":12,"i1":898,"i2":900,"t1":1582020833,"t2":1582020892,"d":0,"c":[{"t":"13","v":0,"vt":0},{"t":"2020-02-18 13:13:53","v":1582020833,"vt":30,"y":53.9057562,"x":27.4570471},{"t":"2020-02-18 13:14:52","v":1582020892,"vt":30,"y":53.9057079,"x":27.4573414},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":13,"i1":902,"i2":1631,"t1":1582021272,"t2":1582024972,"d":0,"c":[{"t":"14","v":0,"vt":0},{"t":"2020-02-18 13:21:12","v":1582021272,"vt":30,"y":53.9056872,"x":27.4568567},{"t":"2020-02-18 14:22:52","v":1582024972,"vt":30,"y":53.9055876,"x":27.4583759},{"t":"27.20 л","v":27.2000427246,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":14,"i1":1632,"i2":1645,"t1":1582026864,"t2":1582026978,"d":0,"c":[{"t":"15","v":0,"vt":0},{"t":"2020-02-18 14:54:24","v":1582026864,"vt":30,"y":53.905887,"x":27.4567925},{"t":"2020-02-18 14:56:18","v":1582026978,"vt":30,"y":53.9058843,"x":27.4567597},{"t":"8.40 л","v":8.40002441406,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":15,"i1":1646,"i2":2613,"t1":1582027039,"t2":1582029534,"d":0,"c":[{"t":"16","v":0,"vt":0},{"t":"2020-02-18 14:57:19","v":1582027039,"vt":30,"y":53.90591,"x":27.4567715},{"t":"2020-02-18 15:38:54","v":1582029534,"vt":30,"y":53.9058311,"x":27.4566834},{"t":"187 л","v":187.228991522,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":16,"i1":2618,"i2":3415,"t1":1582097042,"t2":1582098761,"d":0,"c":[{"t":"17","v":0,"vt":0},{"t":"2020-02-19 10:24:02","v":1582097042,"vt":30,"y":53.9057412,"x":27.4569407},{"t":"2020-02-19 10:52:41","v":1582098761,"vt":30,"y":53.9057355,"x":27.456988},{"t":"115 л","v":114.561889648,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":17,"i1":3416,"i2":3431,"t1":1582098844,"t2":1582098997,"d":0,"c":[{"t":"18","v":0,"vt":0},{"t":"2020-02-19 10:54:04","v":1582098844,"vt":30,"y":53.9057477,"x":27.4569457},{"t":"2020-02-19 10:56:37","v":1582098997,"vt":30,"y":53.9057304,"x":27.4570153},{"t":"12.60 л","v":12.5999755859,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":18,"i1":3432,"i2":3859,"t1":1582099085,"t2":1582100918,"d":0,"c":[{"t":"19","v":0,"vt":0},{"t":"2020-02-19 10:58:05","v":1582099085,"vt":30,"y":53.9057588,"x":27.4574432},{"t":"2020-02-19 11:28:38","v":1582100918,"vt":30,"y":53.9057177,"x":27.4569964},{"t":"71 л","v":70.6998901367,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":19,"i1":3883,"i2":4916,"t1":1582100980,"t2":1582111557,"d":0,"c":[{"t":"20","v":0,"vt":0},{"t":"2020-02-19 11:29:40","v":1582100980,"vt":30,"y":53.9055702,"x":27.4576858},{"t":"2020-02-19 14:25:57","v":1582111557,"vt":30,"y":53.9051233,"x":27.4591628},{"t":"606 л","v":606.376226257,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":20,"i1":4917,"i2":4924,"t1":1582111621,"t2":1582111678,"d":0,"c":[{"t":"21","v":0,"vt":0},{"t":"2020-02-19 14:27:01","v":1582111621,"vt":30,"y":53.9055051,"x":27.4578893},{"t":"2020-02-19 14:27:58","v":1582111678,"vt":30,"y":53.9057091,"x":27.4570048},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":21,"i1":4925,"i2":5486,"t1":1582111787,"t2":1582113161,"d":0,"c":[{"t":"22","v":0,"vt":0},{"t":"2020-02-19 14:29:47","v":1582111787,"vt":30,"y":53.9057073,"x":27.4570233},{"t":"2020-02-19 14:52:41","v":1582113161,"vt":30,"y":53.9059864,"x":27.4559782},{"t":"438 л","v":438.442248647,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":22,"i1":5487,"i2":5535,"t1":1582113255,"t2":1582113689,"d":0,"c":[{"t":"23","v":0,"vt":0},{"t":"2020-02-19 14:54:15","v":1582113255,"vt":30,"y":53.9056747,"x":27.4570078},{"t":"2020-02-19 15:01:29","v":1582113689,"vt":30,"y":53.9057592,"x":27.4567633},{"t":"6.70 л","v":6.69998168945,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":23,"i1":5536,"i2":6574,"t1":1582113760,"t2":1582120613,"d":0,"c":[{"t":"24","v":0,"vt":0},{"t":"2020-02-19 15:02:40","v":1582113760,"vt":30,"y":53.9057563,"x":27.4567363},{"t":"2020-02-19 16:56:53","v":1582120613,"vt":30,"y":53.9061066,"x":27.4548162},{"t":"557 л","v":557.35256958,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":24,"i1":6575,"i2":7061,"t1":1582121229,"t2":1582122489,"d":0,"c":[{"t":"25","v":0,"vt":0},{"t":"2020-02-19 17:07:09","v":1582121229,"vt":30,"y":53.9065282,"x":27.5214212},{"t":"2020-02-19 17:28:09","v":1582122489,"vt":30,"y":53.9098416,"x":27.5173162},{"t":"149 л","v":149.100036621,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":25,"i1":7063,"i2":7065,"t1":1582188062,"t2":1582188074,"d":0,"c":[{"t":"26","v":0,"vt":0},{"t":"2020-02-20 11:41:02","v":1582188062,"vt":30,"y":53.9057448,"x":27.4569422},{"t":"2020-02-20 11:41:14","v":1582188074,"vt":30,"y":53.9057719,"x":27.4570231},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]},{"n":26,"i1":7796,"i2":7799,"t1":1582719288,"t2":1582719310,"d":0,"c":[{"t":"27","v":0,"vt":0},{"t":"2020-02-26 15:14:48","v":1582719288,"vt":30,"y":53.9057566,"x":27.4569273},{"t":"2020-02-26 15:15:10","v":1582719310,"vt":30,"y":53.905743,"x":27.4569312},{"t":"0 л","v":0,"vt":50},{"t":"0 л","v":0,"vt":50}]}]

Параметры "v" - числовое значение, и "vt" - тип ячейки  есть в JSON ответе.  И их нужно использовать, если предполагается получения только числа.

Запросы и ответы по отчетам так всегда работали постоянно. Пример работы с ними, получения данных очень детально описан в документации, также в описаниях самих запросов указано какие параметры и как нужно использовать. Если у вас возникают вопросы/уточнения, пишите, пожалуйста, в этой ветки форума, мы как разработчики с удовольствием поможем понять API.

Еще раз повторю изменения коснулись только перевода названия, которые никаким образом не затронули сам код. Мы со своей стороны не вносили никаких изменений в функционал (в код)  получения отчетов, и пользователи как работали на сайте с отчетами, так и продолжили работать. К сожалению, у каждого разработчика может быть своя, и далеко не всегда корректная реализация, и уже предугадать, что именно делают, как парсят, как используют данные и т.д, нет возможности. С нашей стороны мы максимально предоставляем все средства. К примеру, как в этом случае вы получает и текстовые данные отформатированные, и исходные числовые, и даже типы этих данных.
Уже ваше решение как сделать грамотную разработку.

Diana Cheley
Wialon Hosting Expert
Gurtam