Задача: построить оптимальный маршрут для доставки заказов из, например, интернет магазина.
В прикреплённом архиве внешняя обработка и html файл. Они работают независимо друг от друга. Маршрут строится с использованием yandex api 2.1. Яндекс не умеет оптимизировать маршрут. Он обрабатывает полученные точки в переданном ему порядке. Для оптимизации яваскрипт рассчитывает расстояние от исходной точки до каждой точки доствки. Находит ближайшую. Делает её исходной. Повторяет расчёт для оставшихся точек. Обработанные точки помещает в итоговый массив. После того как все точки выстроены в нужном порядке Яндексу отдаётся команда на собственно построение маршрута. Результат выводится пользователю. При переключении на автомобиль повторная оптимизация маршрута не выполняется, поэтому для автомобиля маршрут может оказаться неоптимальным. Вся эта логика работает на яваскрипте. Если адрес не найден, то он исключается из списка доставки.
Обработка демонстрационная, поэтому работает в любой конфигурации, только позволяет ввести адреса доставки и показывает карту. Никаких объектов конфигурации не использует. Работает как в клиенте 1С яндекс так и в web клиенте. Тестирована в Хроме и Фирефоксе.
Осталась небольшая ошибка, которую пока решил не исправлять. Если указать два одинаковых адреса, то Яндекс сообщает об ошибке и карта не строится.
Обновление от 03.10.2014 18:30
Исправлена ошибка при которой иногда не строился маршрут.
Информация от 08.06.2016.
На текущий момент при отображении карт Яндекса в 1С выдаётся сообщение об ошибке.Ошибка в тонком и толстом клиентах. В веб клиенте не проверял. Проверил на версии 8.3.8.1652. Маршрут при этом строится и отображается верно. Сообщение об ошибкаях можно отключить в настройках IE.
Работу под линуксом не проверял.
Ответ Яндекса на вопрос
Яндекс.Карты нельзя использовать в десктопных приложениях и закрытых системах. Только сайты.
https://yandex.ru/blog/mapsapi/28445