Обработка предоставляет следующие основные функциональные возможности:
- Ручной ввод точек доставки: Пользователь может вводить адреса, географические координаты (широту и долготу), а также временные окна работы (время начала и окончания работы) и перерывы на обед (время начала и окончания обеда) для каждой точки доставки.
- Выбор начальной точки маршрута: Пользователь определяет начальную точку маршрута с помощью галочки "Это первая точка".
- Три режима построения маршрута:
- “Построить маршрут по времени”: Данный режим строит маршрут, минимизируя общее время перемещения между точками. Для расчета времени используется линейное расстояние между точками и скорость перемещения, заданная в настройках. Расчет расстояний производится оффлайн, однако визуализация маршрута и отображение точек на карте осуществляется с использованием Яндекс.Карт.
- “Построить маршрут по расстоянию”: Данный режим строит маршрут, минимизируя общее линейное расстояние между точками, без учета временных ограничений и дорожной сети. Расчет расстояний производится оффлайн, однако визуализация маршрута и отображение точек на карте осуществляется с использованием Яндекс.Карт.
- “Построить маршрут по Яндекс.Картам”: Данный режим строит маршрут с учетом реальной дорожной сети и времени в пути, используя API Яндекс.Карт. При этом учитываются временные окна работы и обеденные перерывы точек доставки.
Процесс формирования маршрута состоит из следующих этапов:
- Инициализация: Пользователь открывает внешнюю обработку и указывает дату начала отправки, также нужно указать ваш токен яндекса, скорость транспорта (для расчета, не по яндексу), широту и долготу города отправки.
- Ввод данных: Пользователь добавляет точки доставки, выбирая начальную точку, указывая для каждой из них адрес, географические координаты и, при необходимости, временные окна работы и перерывы на обед.
- Выбор режима маршрутизации: Пользователь выбирает один из трех доступных режимов построения маршрута.
Дополнительно: Формирование по яндексу довольно долгое (30 точек -+ 9 минут), т.к. ставил ограничение на количество отправок по api
В ходе формирования маршрута могут возникнуть следующие виды ошибок:
Не успевает по времени: Ошибка возникает, когда расчетное время прибытия в точку доставки выходит за пределы установленного временного окна работы этой точки. Это означает, что посещение данной точки в рамках заданного маршрута невозможно.
Адрес не найден в яндексе: Данная ошибка свидетельствует о невозможности геокодирования введенного адреса с использованием API Яндекс.Карт. Это может быть вызвано некорректным форматом координат, наличием опечаток или отсутствием адреса в базе данных сервиса.
Не заполнены широта и долгота: Ошибка фиксируется, если в данных точки доставки отсутствуют значения широты и/или долготы. Это препятствует расчету расстояния до точки и ее включению в маршрут.
При обнаружении ошибки соответствующая информация добавляется в специальную таблицу ошибок.
Данная обработка маршрутизации позволяет пользователю формировать маршруты, проходящие через несколько городов. Это означает, что точки доставки могут быть расположены в различных населенных пунктах, и система способна учитывать эту особенность при построении оптимального маршрута. Тестирование показало, что маршрут успешно строится через как минимум два города.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.20.46