Документ Маршрутизация для УНФ 1.6 (геокодирует через API Google map, отображает на Яндекс картах)

02.10.19

Интеграция - WEB-интеграция

Расширение конфигурации. По данным из заказ "Адрес доставки" по кнопке "Геокодировать" получает данные адреса (широта, долгота) через Api Google Maps, и отображает на Яндекс карте точки. Выбранные точки меняют цвет на красный. Для геокодирования требуется Api ключ Google Maps.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Документ Маршрутизация для УНФ 1.6 (геокодирует через API Google map, отображает на Яндекс картах):
.cfe 77,93Kb
8
8 Скачать (1 SM) Купить за 1 850 руб.

По данным из заказ "Адрес доставки" по кнопке "Геокодировать" получает данные адреса (широта, долгота) через Api Google Maps, и отображает на Яндекс карте точки. Выбранные точки меняют (при клике на карте или выборе в табличной части) цвет на красный и отмечаются как выбранные. Для геокодирования требуется Api ключ Google Maps.

Api ключ Google Maps заполняется в карточке организации.

Проверено на УНФ 1.6.18.105.

Геокодирование Google

&НаСервере
Процедура ГеокодироватьНаСервере()
    // Вставить содержимое обработчика.
    Ключ = Объект.Key_API;
    Кол = 0;
    Ном = 1;
    Для Каждого Строка Из Объект.Заказы Цикл
        Строка.НомерПП = Ном;
        Ном = Ном + 1;
        Строка.Выб = Ложь;
        Если ЗначениеЗаполнено(Строка.Широта) и ЗначениеЗаполнено(Строка.Долгота) Тогда Продолжить; КонецЕсли;
        ПараметрПоиска = Строка.Адрес;
        Кол = Кол + 1;
        АдресOutput = ПолучитьИмяВременногоФайла(); 
        Ключ = Ключ;
        
        Координаты = Новый Структура;
        Координаты.Вставить("Адрес",""); 
        Координаты.Вставить("Широта",""); 
        Координаты.Вставить("Долгота","");
        
        СервисРесурс    = "maps/api";
        СервисПараметры = "/geocode/json?language=ru&address="+ПараметрПоиска+"&key="+Ключ;
        
        Сервер = "maps.googleapis.com";
        
        ssl = Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено);
        
        Соединение = Новый HTTPСоединение(Сервер, , , , , 60,ssl);
        
        ТелоОтвета = "";
        
        Попытка
            HTTPЗапрос = Новый HTTPЗапрос(СервисРесурс+СервисПараметры);
            HTTPОтвет = Соединение.Получить(HTTPЗапрос);
            ТелоОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
        Исключение
            Сообщить("Ошибка! Не удалось установить HTTP-соединение с сервером: "+Сервер+". "+ОписаниеОшибки());
        КонецПопытки; 
        
        //Сообщить(ТелоОтвета);
        
        Если ТелоОтвета="" Тогда
            Сообщить("По заказу " + Строка.Заказ.Номер+ "адрес не найден: "+ТелоОтвета+".");
            Продолжить;
        КонецЕсли;    
        
        //Разбираем JSON
        
        ЧтениеJSON = Новый ЧтениеJSON;
        ЧтениеJSON.УстановитьСтроку(ТелоОтвета);
        СтруктураОтвета = ПрочитатьJSON(ЧтениеJSON);
        ЧтениеJSON.Закрыть();
        
        Результат = СтруктураОтвета.status;
        
        Если Результат = "OK" Тогда
            //ошибок нет, адрес обработан и получен хотя бы один геокод.
        ИначеЕсли Результат = "ZERO_RESULTS" Тогда
            Сообщить("По заказу " + Строка.Заказ.Номер+ "адрес не найден: "+Результат+".");
            Продолжить;
        Иначе
            Сообщить("По заказу " + Строка.Заказ.Номер+ " Ошибка: "+Результат+". Возможно не указан или не верный API Key в настройках Геокодера.");
            Продолжить;
        КонецЕсли;
        
        Адрес1    = СокрЛП(СтруктураОтвета.results[0].formatted_address);
        Строка.Широта   = КоординатаВСтроку(Лев(СтруктураОтвета.results[0].geometry.location.lat,9));   
        Строка.Долгота  = КоординатаВСтроку(Лев(СтруктураОтвета.results[0].geometry.location.lng,9));
    КонецЦикла;
КонецПроцедуры

Функция КоординатаВСтроку(Знач Стр)
    
    Стр = СтрЗаменить(Стр,",",".");
    Стр = СтрЗаменить(Стр,Символы.НПП,"");
    
    Возврат Стр;
КонецФункции

 

Гекодирование логистика яндекс карты

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    4623    5    0    

12

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

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

60000 руб.

07.05.2019    35947    71    45    

30

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    3380    3    3    

5

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19760    26    24    

22

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

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

14400 руб.

20.12.2024    1430    9    2    

11

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    5669    5    2    

6

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 1C:Бухгалтерия Управленческий учет Платные (руб)

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21357    14    19    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tjurikov_ivan 216 24.09.19 19:52 Сейчас в теме
А почему геокодирование в гугле, а карта на яндексе? яндекс тоже может геокодировать, или наоборот можно точки в гугле вывести. Просто интересно почему именно такой выбор?
2. asamorod 55 24.09.19 20:06 Сейчас в теме
За последние 6 месяцев, яндекс геокодер отказывался работать 2 раза. Блокировался ip.
Метки в яндексе более удобные к использованию (по мнению пользователей). На самом деле реализованы оба варианта с более широким функционалом.
Рабочие примеры документов из разработки.
Прикрепленные файлы:
3. mysm 86 25.09.19 18:57 Сейчас в теме
На какоих релизах платформы проверялось?
4. asamorod 55 25.09.19 20:42 Сейчас в теме
1С:Предприятие 8.3 (8.3.14.1630)
5. ui69 41 27.09.19 05:10 Сейчас в теме
Выложите код как через Google широту долготу получить, буду признателен.
6. asamorod 55 27.09.19 09:50 Сейчас в теме
(5)Добавил в описание продукта.
7. ui69 41 27.09.19 13:25 Сейчас в теме
8. unduty 02.10.19 18:26 Сейчас в теме
На платформа 8.3.15 карта не двигается.
9. asamorod 55 02.10.19 23:14 Сейчас в теме
(8) Похоже проблема в новом движке Webkit.
10. pafftis 14 12.05.25 17:45 Сейчас в теме
Добрый день, ищем некую интеграцию. Которая бы могла следующее: есть у нас за день порядка 150 отгрузок все они в черте города, город имеет некие районы, скажем район №1 и район №2. За день у нас формируется все реализации, у каждой реализации есть свой адрес. Очень хочется выгрузить список этих точек с адресами, назначить точку отправления и точку завершения работы (это как правило одна и та же точка) и что бы маршрут с адресами выставился в том порядке (ну скажем как это делает сам яндекс при прокладке маршрутов). Может так эта обработка? И вообще все мои хотелки имеют ли какое-то ограничение по количеству запросов и так далее в виде расхода денежных средств =)?
Оставьте свое сообщение