Документ Маршрутизация для УНФ 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 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

По данным из заказ "Адрес доставки" по кнопке "Геокодировать" получает данные адреса (широта, долгота) через 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    5834    4    0    

12

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

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

60000 руб.

07.05.2019    36844    72    45    

31

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

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

57600 руб.

26.11.2024    4137    3    3    

6

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

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

36000 руб.

03.08.2020    20231    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    1942    11    2    

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