Очень много перепробовал способов синхронизации 1С с Автограф, об этом планирую написать отдельные статьи. Для себя совсем недавно открыл способ синхронизации через AutoGRAPH.NET_Service. Это новое дополнение к основному продукту.
AutoGRAPH.NET Service - сервис, который предоставляет WCF/JSON API для доступа ядру расчетов AutoGRAPH.NET. Конфигурация схем выполняется с помощью диспетчерского ПО AutoGRAPH.NET. Работает в двух режимах – консольном и как сервис.
Итак, первым делом нужно установить сервис на машину, где установлен AutoGRAPH Server, последняя версия всегда доступна на главной странице wiki Скачиваем архив и после распаковки редактируем файл AutoGRAPHNETService.exe.config.
key-file |
файл ключа .agkey (от AutoGRAPH.Server), который разрешает использования для прописанного списка приборов. Обязательный параметр! Без него сервис работать не будет. |
address |
локальный адрес/точка биндинга в формате url:port, в настоящий момент протестирован только механизм httpBinding. Ещё один пример точки биндинга - http://*:80/ - слушать 80й порт на всех интерфейсах |
address-json |
локальный адрес/точка биндинга в формате url:port для JSON |
common-directory |
каталог с общими данными (структура каталога аналогична каталогу AutoGRAPH.NET – с подкаталогами Schemes, GeoFences, Devices в которых находятся соответствующие файлы схем, геозон, приборов) |
data-directory |
каталог данных (=data-каталог) AutoGRAPH DataLoader или AutoGRAPH Server 3.x или 4.x или 5.x |
После настройки запускаем файл AutoGRAPHNETService.exe. Если все настройки указаны верно, то по по адресу http://localhost:8300 будет страница приветствия.
В том случае,если сервер 1С и сервер автограф физически находятся на разных машинах, то поднимаем VPN или же открываем доступ к порту 8300, для машины на которой установлена серверная часть автографа.
Сервис подняли, его работу можем проверить по адресу http://localhost:8300/EnumSchemas (работать будем с данными в формате JSON), система покажет все доступные схемы.
Переходим к инструментам в 1С.
С помощью сервиса мы можем получать любые данные: текущее местоположение устройства, расход топлива, заправки, сливы, стоянки и т.д. В статье приведу пример 1С функции.
Например, функция ЗапросНаСервисАвтограф("localhost:8300","GetOnlineInfoAll/","DEMO"); вернет информацию о последнем местоположении всех устройств. С полученной информацией можно работать дальше, к примеру на одном из проектов, данные о местоположении записываются в регистр сведений и потом выводятся на Yandex карте в 1С.
На этом все,этот способ на мой взгляд самый быстрый в реализации и надежный.