gifts2017

Прокладка маршрута в 1С 8.2 средствами GoogleMaps API V3

Опубликовал Павел Опарин (opx) в раздел Обмен - Интеграция с WEB

Вот собственно что из себя представляет прокладка маршрута в 1С или расчет оптимального пути в 1С. Кому как больше нравится.

 Делал я это для нужд логистики одной из организаций. Там было все немного по-другому. Там был календарь логиста в HTML форме с датами и контрагентами, к которым предстоит ехать – эдакий обзор поездок на месяц. Ну и кликнув на каком-то определенном дне можно проложить маршрут. Который тоже делал я. Если кому интересна тема HTML форм в 1С – пишите. Мне вообще почему-то стало очень интересно делать реализацию задач именно в таком ракурсе.

Сразу хочу предупредить, что прокладывать маршрут будет только там, где это может сделать google
Ну и немного порадовать – отображаются пробки

Вот так это выглядит:

Прокладка маршрута в 1С

Это немного отличается от оригинала, но все же функционирует.
Настоятельно рекомендую адреса брать из классификатора – google с ними очень даже не плохо работает.

Конечно для того, чтобы прокладывать маршрут нужно иметь как минимум 2 точки и еще один нюанс googlemaps – первая и последняя точка остаются неизменными (т.е. оптимальность маршрута будет только если у Вас более 3 точек). Хотя по моему мнению неизменная должна быть только начальная точка. А сам я ставлю офис первой и последней точкой и считаю это логичным, ведь водитель должен вернуться в офис. В общем, лучше один раз увидеть.

Качайте обработку и смотрите. Обработка для 1С 8.2.
Если будет много желающих получить обработку для 8.1 – переделаю или опишу сами внутренности обработки и поэтапное ее создание.

Небольшая справка:
Входные данные вводятся в верхней таблице (Контрагент и адрес), затем нажимаем кнопку "Проложить маршрут". После этого в нижней таблице мы получаем выходные данные, т.е. Контрагента, адрес (как его видит google) и наименование точки на карте, которой соответствует этот адрес.

Скачать файлы

Наименование Файл Версия Размер
ПрокладкаМаршрута 1056
.epf 12,55Kb
17.03.11
1056
.epf 12,55Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Доржи Балбаров (Angeros) 18.03.11 04:52
Гугл мапс коллеги хорошо развит только в метрополии. В регионах рулит яндекс и рамблер.
2. Павел Опарин (opx) 18.03.11 10:19
Angeros пишет:

Гугл мапс коллеги хорошо развит только в метрополии. В регионах рулит яндекс и рамблер.

Хорошая идея. Следущая моя обработка будет с яндексМапс
3. Андрей Данилюк (DanilaDru) 18.03.11 11:16
Так же работаю над этой идеей. Во время реализации под управляемый интерфейс не все гладко было с открытием под веб-клиентом.
Сгружали координаты точек (Lat и Lng). Гугл во время оптимизации у маркеров меняет координаты (видать чтобы ближе к дороге было чтобы проложить маршрут).

Сейчас хочу вывести над маркерами не те адреса, который предлагает гугл-карта, а названия своих объектов. У вас была такая реализация ?

Думал подбросить новые маркеры рядом, но по сути из-за подмены координат эти маркеры будут расходиться с маркерами на пути.
4. Павел Опарин (opx) 18.03.11 11:33
DanilaDru пишет:

Так же работаю над этой идеей. Во время реализации под управляемый интерфейс не все гладко было с открытием под веб-клиентом.

Сгружали координаты точек (Lat и Lng). Гугл во время оптимизации у маркеров меняет координаты (видать чтобы ближе к дороге было чтобы проложить маршрут).



Сейчас хочу вывести над маркерами не те адреса, который предлагает гугл-карта, а названия своих объектов. У вас была такая реализация ?



Думал подбросить новые маркеры рядом, но по сути из-за подмены координат эти маркеры будут расходиться с маркерами на пути.

Реализации не было. Я бы сначала получил список всех маркеров на карте (насколько я помню, это реализуемо). А потом менять маркеры (вроде тоже возможно).
Удачи Вам. Если получится - напишите мне пож-та как делали.
5. Андрей Д. (detec) 18.03.11 12:08
Спасибо за разработку. Только очень желательно составить к ней хотя бы небольшую справку, потому как далеко не всё в интерфейсе и на скриншотах очевидно. Тестировал на адресе, набранном произвольно, от руки, с указанием страны, области, города и улицы, для пригородного адреса и г. Днепропетровск - маршрут отработал правильно, именно так я и езжу общественным транспортом.
6. Павел Опарин (opx) 18.03.11 12:19
detec пишет:

Спасибо за разработку. Только очень желательно составить к ней хотя бы небольшую справку, потому как далеко не всё в интерфейсе и на скриншотах очевидно. Тестировал на адресе, набранном произвольно, от руки, с указанием страны, области, города и улицы, для пригородного адреса и г. Днепропетровск - маршрут отработал правильно, именно так я и езжу общественным транспортом.

Спасибо за наводку на то, как можно улучшить. Справка добавлена
7. First_01 19.03.11 00:19
Работает только с Москвой. Города других регионов не отображает. Было бы замечательно ели работало с другими городами, под 8.1 и в окне где вбиваем адрес автоматом высвечивался почтовый адрес контрагента с возможностью редактирования. А так все хорошо. Спасибо!
8. Яков Коган (Yashazz) 22.03.11 13:31
Через веб-сервисы сделано?
9. Павел Опарин (opx) 22.03.11 16:09
Yashazz пишет:

Через веб-сервисы сделано?

Если Вы имеете ввиду веб-сервисы 1С - то нет,
а если веб-сервисы google - то да.
10. bulpi bulpi (bulpi) 24.03.11 14:34
Ох ни хрена себе! Работает !! :D Между моими квартирами маршрут проложила! Счастья сколько!!!
11. qwer (qwer_str) 24.03.11 20:11
А можно ли получать в ТЧ, еще и расстояние между точками? ну и уж совсем шоколадно - примерное время в пути... но это так... хотюнчики...
12. Павел Опарин (opx) 24.03.11 23:34
qwer_str пишет:

А можно ли получать в ТЧ, еще и расстояние между точками? ну и уж совсем шоколадно - примерное время в пути... но это так... хотюнчики...

Легко. В табличную часть добавить колонку "Расстояние". Далее в модуле формы есть Процедура опЗаполнитьМаршрут(Точка,КонТочка,НачАдрес,КонАдрес,опРасстояние)
Собственно дописываем туда Стр.Расстояние = опРасстояние
И готово.
Время в пути хочется, наверное, с учетом пробок? Я бы тоже хотел. А так... если по Москве. Расстояние/30... :D
123BLiN; qwer_str; +2 Ответить
13. Александр Зубцов (iov) 28.03.11 10:33
bulpi пишет:

Ох ни хрена себе! Работает !! Между моими квартирами маршрут проложила! Счастья сколько!!!

Вы уверены что для прокладки маршрутов между квартирами нужна 8 ка и веб сервис?
Шутка.
14. Игорь Аддоевский (addoevski) 03.06.11 12:43
Интересно почему в 8.2 в УП выбивает такую ошибку


При том такая пьянка не только на этой обработке.
Кто что скажет
e.antoniv; +1 Ответить
15. Сергей Сытько (8SiriuS8) 06.06.11 15:48
Вот решил адаптировать под управляемое приложение вот что из этого получилось http://infostart.ru/public/85922/

Ещё раз СПАСИБО автору
16. sound sound (sound) 07.06.11 09:41
17. Дмитрий (Омский Домовой) 08.06.11 11:57
Ктонибудь с Yandex картами замутил уже обработочку?
18. Ярослав (kivals) 21.07.11 11:13
addoevski пишет:

Интересно почему в 8.2 в УП выбивает такую ошибку

При том такая пьянка не только на этой обработке.

Кто что скажет


Ошибка проиходит когда Internet Explorer находится в режиме offline. Просто запустите ИЕ и снимите галку Work Offline (не помню как по русски точно звучит).
Важно: для x64 систем нужно запускать 32-битную версию эксплорера
Прикрепленные файлы:
19. First_01 03.08.11 14:44
20. Павел Опарин (opx) 03.08.11 14:51
(19) Уже скоро. В последнее время хорошо прошарился в API всяких карт. Как буду немного посвободнее - выложу статью с примерами всех сервисов гугл и яндекс карт, для всех версий 1С 8.х, включая управл. формы
21. First_01 03.08.11 15:01
Отлично, буду ждать. Если можно сообщите когда сделаете! Спасибо.
22. First_01 24.08.11 11:46
Как продвигаются дела с реализацией на 8.1?
23. Алексей Марченко (Alexez) 09.11.11 00:22
Полезная вещь для логистов транспортного отдела.
24. jarojar (jarOjar) 14.11.11 15:35
25. Антон Шевелёв (Anton_prezident) 12.02.12 16:02
Спасибо,хорошая обработка
26. Eugene Korshkov (ekors) 12.02.12 20:51
Попробовал на УТ для Украины...
Адреса не берет из справочника. Надо дорабатывать?
27. ТаймЭко (Экономьте время) (timeeco) 13.02.12 13:40
(26)Обработка не берет адреса из справочника. Это что-то вроде шаблона для программистов, с помощью которого можно создать действительно нужные вещи. Кстати адреса хранятся не в справочнике, а в регистре сведений "Контактная информация". Вам удачи. Если нужна будет помощь - пишите в ЛС.
28. Роман Абрамов (massqwest) 16.02.12 09:30
Охх великолепно, автору +++
29. Павел Опарин (opx) 16.02.12 10:10
(28)Спасибо. Такие комментарии вдохновляют.
30. Andrey Dyak (electronik) 12.04.12 13:42
Идея воистину актуальна и нужно но есть небольшое но "карта". На карте найти какой нибуть новострой или моленький городишко просто нереально. А если и найдеш то карта старая. Поетому без нормальной карти нормально работать просто НЕВОЗМОЖНО. Автору за труд 5+
31. Вадим Янчук (vadimlp77) 17.06.12 02:38
Ребята, по Киеву у кого то работает?
32. Владимир (clab) 20.06.12 08:12
В Новосибирске не работает ((
33. Евгений Рачковский (eugen91) 26.06.12 14:47
Да было бы хорошо если бы вышло на яндекс.
34. Дмитрий Баланенко (balanenko) 12.10.12 22:06
Автору спасибо огромное. Только почему-то адреса на входе в одном порядке, а на выходе вылазят в другом. Причем, я заметил, что начальная и конечная точка не меняется, а меняются промежуточные точки
Прикрепленные файлы:
35. Александр Кияница (treedo) 12.10.12 22:51
Да, идея крутая. Хорошо что есть такая возможность с картами гугл. Не понимаю зачем вам так яндекс то надо... Мы на фирме уже используем эту идею, довольно неплохая замена формирований файлов kml и запуска их через "планета земля"))))
36. Александр (tvixeg) 25.10.12 15:41
Пишу сейчас службу доставки для одной сети быстрого питания. Сделал там печать маршрута от базы до нужного адреса через Google Maps API V3. Имеются документы заказов от клиентов, в них есть время доставки, адрес. Сейчас хотелось бы сделать доставку по возможности сразу нескольких заказов, чтобы находился оптимальный маршрут по имеющимся заявкам, в зависимости от времени доставки в документах заказов чтобы захватывало максимальное количество заявок. Начальная точка отправки у меня всегда одна. А вот конечную нужно выбрать оптимальную и промежуточные точки тоже оптимальные. Есть ли идеи как это можно реализовать через Google Maps API V3? Нет ли подобных наработок?
37. Максим Полянский (yandextesting) 12.12.12 16:40
А маршрут для пешего курьера сможет обработка построить? Или какие-нибудь изменения в нее нужно внести для этого?
38. Марат Нафиков (Jetoo) 05.01.13 07:23
Объясните, в чем прикол?) В гугле ввожу адреса Томска - всё ок, в обработке ввожу - выдает адреса Новокузнецка)
Прикрепленные файлы:
39. Михаил ja-maik-a (ja-maik-a) 11.01.13 13:36
Нужно ли какие-либо лицензии для использования гугл апи?
40. Vlad Stone (rmp2007) 13.03.13 22:13
Обработка отличная!
Я пробовал на Киеве - все адреса показывает.
Автору огромный респект ;)