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

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (http://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (http://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   Проблема: Кто тестировал AutoGRAPH.NET Service (http://forum.tk-chel.ru/showthread.php?t=4653)

Дмитрий Пиминов 02.06.2015 08:02

Спасибо за развернутый ответ

Zircool 14.07.2015 22:10

Хочу поделиться своим опытом интеграции сервиса с 1С. Начиная с версии платформы 1С 8.3.6.1977 разработчики включили средства работы с JSON. Ниже представлю пример функции которая получает данные из сервиса.

PHP код:

Функция ЗапросНаСервисАвтограф(Сервер,РесурсНаСервере,_Параметры)
       
        
Соответствие Новый  Соответствие;        
       
        
Попытка
        Соединение 
Новый HTTPСоединение(Сервер, , , , , Ложь);
        
Исключение
                ЗаписьЖурналаРегистрации
("Автограф",,,, "Не удалось соединиться с сервером автограф" ИнформацияОбОшибке().Описание);
        
Возврат "";
    
КонецПопытки;
 
    
ИмяФайлаРезультата ПолучитьИмяВременногоФайла();
   
    
РесурсПараметры РесурсНаСервере+""+_Параметры;
       
    
Попытка
        Соединение
.Получить(РесурсПараметрыИмяФайлаРезультата);
        
Соединение Неопределено;
    
Исключение
        Сообщить
("Не удалось получить данные с сервера"СтатусСообщения.Важное);
        
Возврат "";
    
КонецПопытки;
       
        
ЧтениеJSON Новый ЧтениеJSON;
        
ЧтениеJSON.ОткрытьФайл(ИмяФайлаРезультата); 
        
Данные ПрочитатьJSON(ЧтениеJSON);
        
ЧтениеJSON.Закрыть();
       
       
        
Возврат Данные;
       
 
КонецФункции 


Выполнив функцию:

PHP код:

ДанныеТС ЗапросНаСервисАвтографДанныеТС("localhost:8300","GetOnlineInfoAll/","Demo"); 

Мы получим все данные об устройствах в виде массива, которые можно обрабатывать как душе угодно: вывести в отчет, записать в регистр и т.д.


Спасибо разработчикам,что в последнем обновлении добавили в методы GetOnlineInfoAll и GetOnlineInfo вывод финальных параметров, это делает продукт еще более гибким. Теперь через дизайнер устройств я могу создать нужные показатели и получить их через сервис.

Например, я хочу видеть время стоянки устройства, создаю параметр с именем Parking и типом TimeSpan.



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

PHP код:

Функция ПарсингTimeSpan(Дата)
        
Дата СокрЛП(СтрЗаменить(Дата,"PT",""));
        
Час 0;
        
Минута 0;
        
Секунда 0;
       
        
// Проверяем есть ли время
        
Часы Найти(Дата,"H");
        
Если Часы 0 Тогда
                Час 
Лев(Дата,Часы-1);
                
Дата СокрЛП(СтрЗаменить(Дата,""+Час+"H",""));
        
КонецЕсли;
       
        
Минуты Найти(Дата,"M");
       
        
Если Минуты 0 Тогда
                Минута 
Лев(Дата,Минуты-1);
                
Дата СокрЛП(СтрЗаменить(Дата,""+Минута+"M",""));
        
КонецЕсли;
       
        
Секунды Найти(Дата,"S");
        
Если Секунды 0 Тогда
                Секунда 
Лев(Дата,Секунды-1);    
        
КонецЕсли;
       
        
Возврат Дата(1,1,1,Час,Минута,Секунда);
       
 
КонецФункции 

Данные о времени стоянке конвертируются и пишутся в регистр, позже вся эта информация в виде оперативного отчета выводится логисту.

Ниже представлен скриншот автоматизированного рабочего места логиста в 1С, в который собирательно выводится информация о рейсах ТС, некоторых показателях и времени стоянки (синхронизация с автограф).


P.S. Отдельное спасибо Денису за поддержку и развитие продукта.

Добавлено через 10 минут
В процессу работы с сервисом, собрался маленький список пожеланий ;)
1. Было бы здорово, если бы в метод GetRoute добавили вывод планового времени маршрута.

2. Не хватает методов геокодинга, по адресной базе не всегда проходят координаты и приходится использовать внешние сервисы для определения адреса местоположения.

denisio 15.07.2015 08:39

Цитата:

Сообщение от Zircool (Сообщение 110271)
В процессу работы с сервисом, собрался маленький список пожеланий ;)
1. Было бы здорово, если бы в метод GetRoute добавили вывод планового времени маршрута.

2. Не хватает методов геокодинга, по адресной базе не всегда проходят координаты и приходится использовать внешние сервисы для определения адреса местоположения.

1. Предложите вариант, как должно быть, обсудим. Откуда будет браться плановое время маршрута? Можно, конечно, рассчитать примерное время прохождения отрезков исходя из заданной средней скорости движения. Но это будет вообще неточно и считать неправильные значения как в часы пик так и наоборот - ночью. Надо иметь информацию о пробках и ещё много какой статистики, чтобы правильно посчитать это время.

2. ок, добавим.

Zircool 15.07.2015 15:31

Цитата:

1. Предложите вариант, как должно быть, обсудим. Откуда будет браться плановое время маршрута? Можно, конечно, рассчитать примерное время прохождения отрезков исходя из заданной средней скорости движения. Но это будет вообще неточно и считать неправильные значения как в часы пик так и наоборот - ночью. Надо иметь информацию о пробках и ещё много какой статистики, чтобы правильно посчитать это время.
Сейчас расчет маршрута выполняется средствами автографа или API Google?

denisio 23.07.2015 04:41

Цитата:

Сообщение от Zircool (Сообщение 110336)
Цитата:

1. Предложите вариант, как должно быть, обсудим. Откуда будет браться плановое время маршрута? Можно, конечно, рассчитать примерное время прохождения отрезков исходя из заданной средней скорости движения. Но это будет вообще неточно и считать неправильные значения как в часы пик так и наоборот - ночью. Надо иметь информацию о пробках и ещё много какой статистики, чтобы правильно посчитать это время.
Сейчас расчет маршрута выполняется средствами автографа или API Google?

Метож GetRoute? Там же передается параметром, что использовать - Google или Progorod. На данный момент только они доступны для роутинга.

NickolaDed 27.09.2015 11:34

Zircool, А ты пробовал с аутентификацией работать?

bavkyz 10.05.2017 04:08

Проблема AutoGRAPH Service
 
Запустил AutoGRAPH Service

ЛОГ файл пишет
Код:

10:59:54 INFO AutoGRAPH Service starting [2017.5.4.0], PID=6304
10:59:54 INFO App:Start, addressBase=C:\Users\it\Downloads\AvtoGraf\AddressBase: directory not found
10:59:54 INFO WCF        AutoGRAPHService added at http://m.tk-chel.ru:8100/
10:59:54 INFO JSON        AutoGRAPHService added at http://m.tk-chel.ru:8300/
10:59:54 INFO XML        AutoGRAPHService added at http://m.tk-chel.ru:8200/

настройки user.config
Код:

<appSettings>
 <add key="address" value="http://m.tk-chel.ru:8100/" />
 <add key="address-json" value="http://m.tk-chel.ru:8300/" />
 <add key="address-xml" value="http://m.tk-chel.ru:8200/" />
 <add key="address-soap" value=" http://m.tk-chel.ru/Service1C.asmx/" />
 <add key="common-directory" value="C:\Users\it\Downloads\AvtoGraf" />
 <add key="agserver-host" value="m.tk-chel.ru" />
 <add key="agserver-port" value="2230" />
 <add key="road-maps" value="C:\Users\it\Downloads\AvtoGraf\BD" />
 <add key="data-directory" value="C:\Users\it\Downloads\AvtoGraf\data" />
</appSettings>

Вопрос по настройкам
1. address-soap
2. road-maps

plex 10.05.2017 04:16

bavkyz,чета сомневаюсь что у вам имя сервера m.tk-chel.ru

Добавлено через 2 минуты
AutoGRAPHServiceConsole.exe поможет вам настроить, там все параметры пояснены

bavkyz 10.05.2017 04:32

Цитата:

Сообщение от plex (Сообщение 159746)
bavkyz,чета сомневаюсь что у вам имя сервера m.tk-chel.ru
Добавлено через 2 минуты
AutoGRAPHServiceConsole.exe поможет вам настроить, там все параметры пояснены

Заполнил m.tk-chel.ru для проведения теста (как на сайте http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service)..... . А эта строка правильная, её нет настройках, надо ли дополнительно инициализировать <add key="address-soap" value=" http://localhost/Service1C.asmx/" />.

А эта строка где взять карты,<add key="road-maps" value="C:\Users\it\Downloads\AvtoGraf\BD" />.

И все такие я не понимаю как работать все должно ..... откуда AutoGRAPH Service знает на какой сервер надо подключиться за данными (зашиты внутри кода???).

Я понял так: клиент подключается к моему AutoGRAPH Service, далее AutoGRAPH Service переадресует мой запрос на некий удаленный сервер. Для получения ответа все в обратном порядке. Так?????

plex 10.05.2017 04:53

Цитата:

Сообщение от bavkyz (Сообщение 159749)
Заполнил m.tk-chel.ru для проведения теста (как на сайте http://wiki.tk-chel.ru/index.php/AutoGRAPH.NET_Service).....

вы правда не понимаете как адреса в интернете работают? Вообще адреса демо сервера для тестирования не являются примером для настройки

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

Сообщение от bavkyz (Сообщение 159749)
А эта строка где взять карты,<add key="road-maps" value="C:\Users\it\Downloads\AvtoGraf\BD" />.

обратитесь к дилеру, у вас в Кемерово он хорошо разбирается в 5ке

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

Сообщение от bavkyz (Сообщение 159749)
откуда AutoGRAPH Service знает на какой сервер надо подключиться за данными

а он вообще не подключается за данными, она читает данные из папки
На схеме нет обращений к серверу


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

Сообщение от bavkyz (Сообщение 159749)
Я понял так: клиент подключается к моему AutoGRAPH Service, далее AutoGRAPH Service переадресует мой запрос на некий удаленный сервер. Для получения ответа все в обратном порядке. Так?????

не правильно понял, если у вас есть сложности с интерпретацией схемы, все-таки обратитесь к дилеру


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

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