Автограф.WEB и интеграция с 1С, как?
Изначально стоял .NET service и работала интеграция через XML. После добавления в схему новой машины все сломалось. Нам посоветовали поставить WEB версию. поставили, теперь маюсь с запросами.
Из дебага 1С берем старый (когда-то работавший запрос), который выглядит так: Код:
http://autograph:8200/GetTrips/Gazobeton/53ab7ce7-bcd0-4901-aa12-2ac4d9789279/20191104-0600/20191104-1600/0/*/* Перелопачиваем под 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 Что ещё требуется для решения? |
Цитата:
Запрос некорректный, в описании приведены примеры таких запросов. - 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 |
Цитата:
Цитата:
Зачем мне WCF? Вроде речь шла о JSON. Цитата:
Добавлено через 2 минуты И ещё один вопрос. Насколько я понялл license.xml ограничивает только доступ к самому .WEB ? Для интеграции лицензия роли не играет? Добавлено через 4 минуты Цитата:
Идем в http://wiki.tk-chel.ru/index.php/Aut...rvice_GetTrips смотрим раздел про JSON как выглядит запрос. В скриншоте он же |
Цитата:
Цитата:
Цитата:
Цитата:
Сейчас не успевают отследить и внести правки, но это временно. |
Цитата:
Добавлено через 2 минуты Цитата:
|
schemaID это идентификатор схемы (поле ID), который отдается в EnumSchemas. Используйте его для параметра schemaID.
В AutoGRAPH Service список схем также отдавался в виде массива ID,Name - и в этом частном случае ID может совпадать с названием схемы. schemaID - это просто строка-идентификатор схемы на сервере, не надо закладываться на его тип. Это просто строка-уникальныйID схемы на данном сервере. |
Приветствую всех.
Подскажите что за id видит 1С, но нигде не видно в Автографе? Добавлено через 3 минуты Цитата:
пример id b5136661-4f22-4036-9396-532fe8e99d1c |
Сергей К, уникальный идентификатор ТС, номер тс может меняться, номер прибора модет меняться, GUID меняется при создании ТС
|
Цитата:
Это внутренний уникальный идентификатор объекта типа GUID. Присваивается каждому объекту только 1 раз при его создании и служит практически для всех внутренних операций с объектом. Применяется за неимением какого-либо иного гарантированно уникального идентификатора. В т.ч. при экспорте/импорте объектов между схемами гарантирует минимальную вероятность совпадения. |
Цитата:
Добавлено через 30 секунд Цитата:
|
Можете параметр сделать, который будет GUID объекта Вам показывать в интерфейсе или в отчете.
С точки зрения работы обычного юзера он абсолютно не нужен и не отображается в интерфейсе. |
каким методом можно получить Дату принятия данных сервером и Период, за который эти данные были приняты.
Подскажите мне где это хранится в автографе и есть ли возможность такие данные получать в 1С? |
Цитата:
Оно по сути работает с дата-папкой (с БД). И ему неважно, как туда данные попадают - через сервер, прямым чтением с прибора или копированием файлов в папку, через дата-лоадер или через программы-синхронизаторы. Также оно может работать через удаленное хранилище, получая данные трекеров из него по HTTP. ПО АвтоГРАФ.Server - это отдельное приложение и у него есть свой API. Вы смотрели документацию по API на ПО АвтоГРАФ.Server ? |
Rаким методом можно получить Дату принятия данных сервером и Период, за который эти данные были приняты.
Подскажите мне информацию где это хранится в автографе и есть ли возможность такие данные получать в 1С? Добавлено через 1 минуту Цитата:
Запрос к данным Автографа идет через специальный веб-сервис (ServiceJSON) с использованием документированных методов. |
Сергей К, еще раз: ПО АвтоГРАФ.WEB работает с дата-папкой либо сетевым хранилищем. В ПО АвтоГРАФ.WEB нет информации - когда и какой кусок данных был получен Сервером от прибора и сервером ли он вообще был получен (или его доставили в хранилище иным способом). Это избыточная для ПО АвтоГРАФ.WEB информация.
Сервер вообще может быть полностью изолирован от АвтоГРАФ.WEB по причинам внутренней безопасности предприятия и находиться вообще в другом регионе или даже стране. Для работы с Сервером приема данных - используйте API ПО АвтоГРАФ.Server. |
к чему тогда можно привязаться что бы исключить появление пробелов в данных в программе 1С.
ведь на момент загрузки может быть так что данных за период либо нет по причине отсутствия связи или же они не полные.. загрузка производится автоматически в 7:00 загружается период времени с вчера 19:00 до сегодня 06:59 загрузка производится автоматически в 19:00 загружается период времени с сегодня 7:00 до сегодня 18:59 |
Цитата:
Данные, разумеется, могут быть неполные. По разным причинам. Было выключено зажигание и кусок не передался, связи не было, антенна повреждена/отрезана/откручена, баланс симки обнулился или еще что. Это ладно еще у терминалов АвтоГРАФ™ строго последовательный протокол. А когда непоследовательные протоколы ? Тогда никогда нет понимания - нет ли где отсутствующих кусков в данных, даже если с сервера они только что пришли. Если нужно непосредственно понимать, когда крайний раз поступали данные от прибора именно на сервер - можно обратиться к API сервера, если он Вам доступен: https://i.tk-chel.ru/docs/ServerAPI/Public/api.html |
Цитата:
То есть необходим механизм перепроверки загруженных данных в 1С УАТ и данных, принятых сервером АвтоГРАФ от ТС, но не загруженных в 1С. МЫ предполагали, что регистрируется время принятия данных от ТС, и можно опираясь на него, сравнением, организовать загрузку периодами по 12 часов. И в них бы попадало всё загруженное в АвтоГРАФ за 12 часов, независимо от даты совершения самого действия ТС. Поскольку нет информации о времени регистрации принятия данных от ТС в АвтоГРАФ, прошу поделиться возможными вариантами решения данной задачи. |
Тогда Вам вообще это все не поможет. Если прибор был на связи с сервером минуту назад - это не значит, что он успел все данные на эту минуту выгрузить. Это безотносительно к нашей системе, в любой другой будет то же самое.
Вам поможет железобетонно только один (вроде как) алгоритм: проверять, что время последних данных от прибора старше, чем время правой границы запроса. Если нет - помечать такой прибор (в справочнике или в регистре 1С) на повторную загрузку периода в следующий раз и так далее (может машинка и неделю и месяц стоять с выключенной массой и куском непереданных данных). |
Текущее время: 13:03. Часовой пояс GMT. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot