ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (http://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: 1С + АвтоГРАФ (http://forum.tk-chel.ru/forumdisplay.php?f=112)
-   -   Автограф.WEB и интеграция с 1С, как? (http://forum.tk-chel.ru/showthread.php?t=8044)

Waso 27.11.2019 07:58

Автограф.WEB и интеграция с 1С, как?
 
Изначально стоял .NET service и работала интеграция через XML. После добавления в схему новой машины все сломалось. Нам посоветовали поставить WEB версию. поставили, теперь маюсь с запросами.
Из дебага 1С берем старый (когда-то работавший запрос), который выглядит так:
Код:

http://autograph:8200/GetTrips/Gazobeton/53ab7ce7-bcd0-4901-aa12-2ac4d9789279/20191104-0600/20191104-1600/0/*/*
Согласно документации JSON запросы должны выглядеть так:

Перелопачиваем под WEB то, что было в дебаге. По идее это должно выглядеть так:
Код:

http://autograph/ServiceJSON/GetTrips?schemaID=Gazobeton&IDs=53ab7ce7-bcd0-4901-aa12-2ac4d9789279&SD=20191104-0600&ED=20191104-1600&tripSplitterIndex=0
получаем:

Что я делаю не так? schemaID никак не желает передаваться.
И да, можно заметить, что здесь нет sessionID. его наличие или отсутствие не влияет ошибку.




И да, в документации написано, что в WEB можно сгенерировать токен, чтобы обходится без логинов/паролей, в нынешнем интерфейсе этого нет. Где взять? И не является ли ID генерируемый методом Login тем самым токеном?




версия WEB webmap_net_20191118.zip
Что ещё требуется для решения?

Ivan 27.11.2019 08:36

Цитата:

Сообщение от Waso (Сообщение 196122)
Что я делаю не так?

Вы к дилеру обращались с данным вопросом?

Запрос некорректный, в описании приведены примеры таких запросов. - https://i.tk-chel.ru/ivan/sharex/chr...7_13-34-50.png

Ошибки следующие: https://i.tk-chel.ru/ivan/sharex/chr...7_13-32-51.png, т.е. адрес WEBa некорректный и запрос схемы, нужно указывать не имя, а GUID схемы, который возвращается при запросе метода EnumSchemas

Waso 27.11.2019 09:03

Цитата:

Сообщение от Ivan (Сообщение 196128)
Цитата:

Сообщение от Waso (Сообщение 196122)
Что я делаю не так?

Вы к дилеру обращались с данным вопросом?

Общение с дилером странно как никогда. Дозвониться до конкретного человека я могу с трудом.



Цитата:

Сообщение от Ivan (Сообщение 196128)
Запрос некорректный, в описании приведены примеры таких запросов. - https://i.tk-chel.ru/ivan/sharex/chr...7_13-34-50.png


Зачем мне WCF? Вроде речь шла о JSON.



Цитата:

Сообщение от Ivan (Сообщение 196128)


Ошибки следующие: https://i.tk-chel.ru/ivan/sharex/chr...7_13-32-51.png, т.е. адрес WEBa некорректный и запрос схемы, нужно указывать не имя, а GUID схемы, который возвращается при запросе метода EnumSchemas

Почему адрес WEBа неправильный? Нужен IP? поставил ID схемы, запрос заработал, что-то возвращается.

Добавлено через 2 минуты
И ещё один вопрос. Насколько я понялл license.xml ограничивает только доступ к самому .WEB ? Для интеграции лицензия роли не играет?

Добавлено через 4 минуты
Цитата:

Сообщение от Ivan (Сообщение 196128)
и запрос схемы, нужно указывать не имя, а GUID схемы, который возвращается при запросе метода EnumSchemas

И опять у вас полное несоответствие документации и реальности....


Идем в http://wiki.tk-chel.ru/index.php/Aut...rvice_GetTrips смотрим раздел про JSON как выглядит запрос. В скриншоте он же

Ivan 27.11.2019 09:33

Цитата:

Сообщение от Waso (Сообщение 196129)
Зачем мне WCF? Вроде речь шла о JSON.

Там и JSON ниже, курсор случайно попал на WCF, если Вы на это заострили внимание.

Цитата:

Сообщение от Waso (Сообщение 196129)
Почему адрес WEBа неправильный? Нужен IP?

Нужен IP или DNS.

Цитата:

Сообщение от Waso (Сообщение 196129)
ещё один вопрос. Насколько я понял license.xml ограничивает только доступ к самому .WEB ?

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

Цитата:

Сообщение от Waso (Сообщение 196129)
И опять у вас полное несоответствие документации и реальности

По поводу правок данного руководства можно отписаться по адресу denisio@tk-chel.ru
Сейчас не успевают отследить и внести правки, но это временно.

Waso 27.11.2019 09:55

Цитата:

Сообщение от Ivan (Сообщение 196133)
Цитата:

Сообщение от Waso (Сообщение 196129)
Зачем мне WCF? Вроде речь шла о JSON.

Там и JSON ниже, курсор случайно попал на WCF, если Вы на это заострили внимание.

конечно заострил. так как если кликнуть на JSON, то можно пару раз пробежать по кругу и ничего нового не узнать, попробуйте :)

Добавлено через 2 минуты
Цитата:

Сообщение от Ivan (Сообщение 196133)
Цитата:

Сообщение от Waso (Сообщение 196129)
Почему адрес WEBа неправильный? Нужен IP?

Нужен IP или DNS.

Сервер находится внутри локалки, там что FQDN, что имя хоста, все едино.

denisio 17.12.2019 06:57

schemaID это идентификатор схемы (поле ID), который отдается в EnumSchemas. Используйте его для параметра schemaID.
В AutoGRAPH Service список схем также отдавался в виде массива ID,Name - и в этом частном случае ID может совпадать с названием схемы.
schemaID - это просто строка-идентификатор схемы на сервере, не надо закладываться на его тип. Это просто строка-уникальныйID схемы на данном сервере.

Сергей К 01.06.2020 12:20

Приветствую всех.
Подскажите что за id видит 1С, но нигде не видно в Автографе?

Добавлено через 3 минуты
Цитата:

Сообщение от Сергей К (Сообщение 198764)
Приветствую всех.
Подскажите что за id видит 1С, но нигде не видно в Автографе?

id транспортного средства если быть точным

пример id
b5136661-4f22-4036-9396-532fe8e99d1c

plex 01.06.2020 13:01

Сергей К, уникальный идентификатор ТС, номер тс может меняться, номер прибора модет меняться, GUID меняется при создании ТС

SK 02.06.2020 05:34

Цитата:

Сообщение от Сергей К (Сообщение 198764)
b5136661-4f22-4036-9396-532fe8e99d1c

Это внутренний уникальный идентификатор объекта типа GUID. Присваивается каждому объекту только 1 раз при его создании и служит практически для всех внутренних операций с объектом.
Применяется за неимением какого-либо иного гарантированно уникального идентификатора. В т.ч. при экспорте/импорте объектов между схемами гарантирует минимальную вероятность совпадения.

Сергей К 02.06.2020 08:35

Цитата:

Сообщение от SK (Сообщение 198780)
Цитата:

Сообщение от Сергей К (Сообщение 198764)
b5136661-4f22-4036-9396-532fe8e99d1c

Это внутренний уникальный идентификатор объекта типа GUID. Присваивается каждому объекту только 1 раз при его создании и служит практически для всех внутренних операций с объектом.
Применяется за неимением какого-либо иного гарантированно уникального идентификатора. В т.ч. при экспорте/импорте объектов между схемами гарантирует минимальную вероятность совпадения.

Где в программе автограф мы можем его увидеть ?

Добавлено через 30 секунд
Цитата:

Сообщение от SK (Сообщение 198780)
Цитата:

Сообщение от Сергей К (Сообщение 198764)
b5136661-4f22-4036-9396-532fe8e99d1c

Это внутренний уникальный идентификатор объекта типа GUID. Присваивается каждому объекту только 1 раз при его создании и служит практически для всех внутренних операций с объектом.
Применяется за неимением какого-либо иного гарантированно уникального идентификатора. В т.ч. при экспорте/импорте объектов между схемами гарантирует минимальную вероятность совпадения.

Где в программе автограф мы можем его увидеть ?

SK 02.06.2020 08:36

Можете параметр сделать, который будет GUID объекта Вам показывать в интерфейсе или в отчете.

С точки зрения работы обычного юзера он абсолютно не нужен и не отображается в интерфейсе.

Сергей К 02.06.2020 09:10

каким методом можно получить Дату принятия данных сервером и Период, за который эти данные были приняты.
Подскажите мне где это хранится в автографе и есть ли возможность такие данные получать в 1С?

SK 02.06.2020 09:16

Цитата:

Сообщение от Сергей К (Сообщение 198784)
каким методом можно получить Дату принятия данных сервером и Период, за который эти данные были приняты.
Подскажите мне где это хранится в автографе и есть ли возможность такие данные получать в 1С?

Ваш вопрос непонятен. ПО АвтоГРАФ.PRO/WEB не содержит встроенного сервера. ПО АвтоГРАФ.Server - не единственный способ получения данных от прибора в ПО АвтоГРАФ.PRO/WEB.
Оно по сути работает с дата-папкой (с БД). И ему неважно, как туда данные попадают - через сервер, прямым чтением с прибора или копированием файлов в папку, через дата-лоадер или через программы-синхронизаторы.
Также оно может работать через удаленное хранилище, получая данные трекеров из него по HTTP.
ПО АвтоГРАФ.Server - это отдельное приложение и у него есть свой API. Вы смотрели документацию по API на ПО АвтоГРАФ.Server ?

Сергей К 02.06.2020 09:21

Rаким методом можно получить Дату принятия данных сервером и Период, за который эти данные были приняты.
Подскажите мне информацию где это хранится в автографе и есть ли возможность такие данные получать в 1С?

Добавлено через 1 минуту
Цитата:

Сообщение от SK (Сообщение 198785)
Цитата:

Сообщение от Сергей К (Сообщение 198784)
каким методом можно получить Дату принятия данных сервером и Период, за который эти данные были приняты.
Подскажите мне где это хранится в автографе и есть ли возможность такие данные получать в 1С?

Ваш вопрос непонятен. ПО АвтоГРАФ не содержит встроенного сервера. ПО АвтоГРАФ.Server - не единственный способ получения данных от прибора в ПО АвтоГРАФ.PRO/WEB.
Оно по сути работает с дата-папкой (с БД). И ему неважно, как туда данные попадают - через сервер, прямым чтением с прибора или копированием файлов в папку, через дата-лоадер или через программы-синхронизаторы.
ПО АвтоГРАФ.Server - это отдельное приложение и у него есть свой API. Вы смотрели документацию по API на ПО АвтоГРАФ.Server ?


Запрос к данным Автографа идет через специальный веб-сервис (ServiceJSON) с использованием документированных методов.

SK 02.06.2020 09:27

Сергей К, еще раз: ПО АвтоГРАФ.WEB работает с дата-папкой либо сетевым хранилищем. В ПО АвтоГРАФ.WEB нет информации - когда и какой кусок данных был получен Сервером от прибора и сервером ли он вообще был получен (или его доставили в хранилище иным способом). Это избыточная для ПО АвтоГРАФ.WEB информация.
Сервер вообще может быть полностью изолирован от АвтоГРАФ.WEB по причинам внутренней безопасности предприятия и находиться вообще в другом регионе или даже стране.
Для работы с Сервером приема данных - используйте API ПО АвтоГРАФ.Server.

Сергей К 05.06.2020 04:34

к чему тогда можно привязаться что бы исключить появление пробелов в данных в программе 1С.
ведь на момент загрузки может быть так что данных за период либо нет по причине отсутствия связи или же они не полные..

загрузка производится автоматически в 7:00 загружается период времени с вчера 19:00 до сегодня 06:59
загрузка производится автоматически в 19:00 загружается период времени с сегодня 7:00 до сегодня 18:59

SK 05.06.2020 06:55

Цитата:

Сообщение от Сергей К (Сообщение 198851)
к чему тогда можно привязаться что бы исключить появление пробелов в данных в программе 1С.
ведь на момент загрузки может быть так что данных за период либо нет по причине отсутствия связи или же они не полные..

Так Вы же можете сначала запросить дату/время последних данных по ТС.
Данные, разумеется, могут быть неполные. По разным причинам. Было выключено зажигание и кусок не передался, связи не было, антенна повреждена/отрезана/откручена, баланс симки обнулился или еще что.
Это ладно еще у терминалов АвтоГРАФ™ строго последовательный протокол. А когда непоследовательные протоколы ? Тогда никогда нет понимания - нет ли где отсутствующих кусков в данных, даже если с сервера они только что пришли.

Если нужно непосредственно понимать, когда крайний раз поступали данные от прибора именно на сервер - можно обратиться к API сервера, если он Вам доступен: https://i.tk-chel.ru/docs/ServerAPI/Public/api.html

Сергей К 05.06.2020 08:27

Цитата:

Сообщение от SK (Сообщение 198856)
Цитата:

Сообщение от Сергей К (Сообщение 198851)
к чему тогда можно привязаться что бы исключить появление пробелов в данных в программе 1С.
ведь на момент загрузки может быть так что данных за период либо нет по причине отсутствия связи или же они не полные..

Так Вы же можете сначала запросить дату/время последних данных по ТС.
Данные, разумеется, могут быть неполные. По разным причинам. Было выключено зажигание и кусок не передался, связи не было, антенна повреждена/отрезана/откручена, баланс симки обнулился или еще что.
Это ладно еще у терминалов АвтоГРАФ™ строго последовательный протокол. А когда непоследовательные протоколы ? Тогда никогда нет понимания - нет ли где отсутствующих кусков в данных, даже если с сервера они только что пришли.
Если нужно непосредственно понимать, когда крайний раз поступали данные от прибора именно на сервер - можно обратиться к API сервера, если он Вам доступен: https://i.tk-chel.ru/docs/ServerAPI/Public/api.html

У нас стоит задача организовать загрузку информации из АвтоГРАФ в 1С: Управление автотранспортом так, чтобы исключить потерю данных, если ТС не было в зоне покрытия мобильной связи длительное время.

То есть необходим механизм перепроверки загруженных данных в 1С УАТ и данных, принятых сервером АвтоГРАФ от ТС, но не загруженных в 1С.

МЫ предполагали, что регистрируется время принятия данных от ТС, и можно опираясь на него, сравнением, организовать загрузку периодами по 12 часов. И в них бы попадало всё загруженное в АвтоГРАФ за 12 часов, независимо от даты совершения самого действия ТС.

Поскольку нет информации о времени регистрации принятия данных от ТС в АвтоГРАФ, прошу поделиться возможными вариантами решения данной задачи.

SK 05.06.2020 09:58

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

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


Текущее время: 13:03. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot