Данная обработка создана с целью упростить решение задачи разбиения точек доставки на рейсы логистом ВРУЧНУЮ с использованием карт и сервисов Гугл. Обработка не использует никаких метаданных конфигураций -- адреса доставки и данные машин и водителей загружаются из файлов экселя, итоговые маршруты также выгружаются в эксель -- поэтому она будет работать на любой конфигурации, использующей управляемые формы и на любой платформе, начиная с 8.3
ВНИМАНИЕ – для работы сервисов Гугл необходим ключ. В данной обработке ЕСТЬ ключ, но он исключительно тестовый, для проверки работы обработки. Как только по нему пройдет первая сотня запросов (т.е. примерно 5 запусков обработки) ключ будет отключен. Поэтому ключ Вы должны получить сами. Подробную инструкцию по получению ключа Гугл я писать не буду, любой айтишник думаю справится с этим без труда. Уточню только то что для нормальной работы обработки к ключу должны быть привязаны три API -- Geocoding API, Directions API и Maps JavaScript API и к проекту, по которому получен ключ должны обязательно подключена ОПЛАТА. В режиме без оплаты Гугл эти три сервиса просто НЕ ПРЕДОСТАВЛЯЕТ. Впрочем, вы можете воспользоваться т.н. «тестовым периодом» и получить от Гугл безвозмездный кредит на услуги сервисов в размере 300 долларов. Один запрос к одному сервису стоит 0.14 цента, тысяча запросов соответственно стоят $1.4.
Исходные данные – есть N адресов доставки и K автомобилей с водителями. Требуется разбить все точки доставки по автомобилям и составить маршруты движения для каждого автомобиля. Еще раз напоминаю, что обработка специально сделана без привязки к какой бы то ни было конфигурации, поэтому предполагаем что и адреса и водители загружаются в неё из экселевских файлов.
Структура файлов экселя
- Адреса, колонки – «Контрагент, адрес доставки, адрес отправки, вес груза, объем груза»
- Перевозчики – «Водитель, автомобиль, грузоподъемность, объем кузова»
(образцы файлов есть в архиве)
Открываем обработку, и сразу же на первой вкладке загружаем в нее адреса из файлика с адресами. Если структура файла соответствует образцам, то все загружается без ошибки. Дальше на выбор или проверяем каждый адрес с помощью кнопки «Показать адрес на карте» или нажимаем кнопку «Проверить все адреса без отображения на карте». Во втором случае на карте ничего не показывается, но тем не менее пропустить этот этап нельзя – по этой кнопке каждый адрес геокодируется, определяются его широта и долгота, а также расстояние от точки отправки до точки доставки.
После того, как все точки проверены и геокодированы, в правом верхнем углу нажимаем кнопку «Адреса проверены». Обработка открывает вторую вкладку и начинает добавлять уже проверенные точки на вторую карту – ту, на которой собственно и будет проходить основная работа по созданию маршрутов. Добавление точке проходит довольно медленно – примерно секунда-полторы на каждую точку. За это время можно загрузить из второго экселевского файла список перевозчиков, нажав на кнопку «Загрузить перевозчиков»
Перевозчики загружаются в таблицу слева и каждая строка таблицы раскрашивается в свой цвет. Теперь осталось только подождать пока обработка не сообщит «Все точки добавлены на карту» (в окне сообщений справа), закрыть это окно сообщений и начать разбивать точки по водителям и машинам.
Делается это очень просто – в таблице перевозчиков курсор ставится на строчку с машиной, а на карте мышкой нажимается нужная точка адреса. Она сразу же окрашивается в тот же цвет что и строка таблицы, а в таблице внизу под картой добавляется строка с параметрами точки. Набрав все точки для данного водителя/машины переходим на следующую строчку таблицы перевозчиков и повторяем все процедуру пока не останется ни одной «свободной» точки. Свободные точки отличаются и цветом и (немного) формой маркера, так что перепутать их с уже разнесенными по машинам не получится. Разнесение можно многократно корректировать – то есть точку которую скажем уже разнесли на машину 1, можно спокойно переразнести на машину 3 или 5 – достаточно просто нажать на нее еще раз выбрав в таблице слева третью или пятую строку. При этом из таблицы снизу для первой строки перевозчиков эта точка исчезнет и соответственно добавится в таблицу для строки 3 или 5.
Кроме того, при наборе точек обработка проверяет заполненность машину уже набранными точками – если добавление новой точки превысит вместимость машины по весу или объему добавить её не удастся – точка не окрасится в цвет машины, а вместо этого вы увидите сообщение – «Машина заполнена, выберете другую»
После того как все точки разнесены по машинам, необходимо создать для каждой строки таблицы перевозчиков маршрут на карте. Для этого ставим курсор на строку таблицы и нажимаем внизу под картой кнопку «Показать маршрут на карте». На карте строится маршрут, затем ждем еще 2-3 секунды пока под картой не появятся цифры длины маршрута в км и времени передвижения в часах. Затем передвигаемся на следующую строку и повторяем нажатие кнопки. При нажатии кнопки «Показать маршрут на карте» предыдущий маршрут с карты исчезает, но в данных обработки все характеристики маршрута сохраняются, включая оптимизационное упорядочивание точек маршрута (решение т.н. «задачи коммивояжера») .
После того как все строки таблицы перевозчиков «прощелканы», остается только получить итоговые результаты. Нажимаем кнопку «Выгрузить маршруты в эксель», программа предлагает выбрать каталог для выгрузки. Каждый маршрут выгружается в отдельный файл эксель в виде подробной таблицы этапов движения практически аналогичный инструкциям «навигатора»
1 |
Направляйтесь на юг по пр-д Краснополянский в сторону ул. Ленина |
335,00 |
58,00 |
2 |
Поверните направо на ул. Шереметьевская |
1 331,00 |
99,00 |
3 |
Продолжайте движение по ш. лобненское |
1 687,00 |
185,00 |
4 |
ш. лобненское поворачивает направо и переходит в ул. Авиационная |
1 359,00 |
143,00 |
5 |
Поверните направо на ш. Шереметьевское |
2 898,00 |
161,00 |
6 |
Направляйтесь по съезду в сторону M-11Платная дорога |
1 130,00 |
106,00 |
7 |
На развилке держитесь левее и выезжайте на M-11Платная дорога |
16 599,00 |
733,00 |
8 |
Держитесь левее |
5 220,00 |
280,00 |
9 |
Плавный поворот направо |
557,00 |
61,00 |
10 |
Поверните налево в сторону ш. Дмитровское |
31,00 |
2,00 |
11 |
Поверните направо на ш. Дмитровское |
2 732,00 |
256,00 |
12 |
Продолжайте движение по ул. Бутырская |
1 514,00 |
161,00 |
13 |
Плавный поворот налево, продолжайте движение по ул. Бутырская |
345,00 |
25,00 |
14 |
Сверните на съезд БУТЫРСКИЙ ВАЛ ул. |
56,00 |
10,00 |
15 |
На развилке держитесь правее и следуйте по знакам на 3-е КОЛЬЦО-налево МИРА пр-т |
159,00 |
34,00 |
16 |
Продолжайте движение по пл. Савеловского Вокзала |
87,00 |
30,00 |
17 |
Выезжайте на 3-е кольцо |
6 844,00 |
501,00 |
Всё, на этом работа обработки закончена.
Я прекрасно понимаю, что в таком виде обработка практически бесполезна – она никак не встроена ни в какую реальную учетную систему, загрузка в неё данных из экселя не особенно удобна, а выгруженные из неё данные практически и вовсе бесполезны . Однако на её основе вы сможете создать свои собственные обработки, уже способные «напрямую» работать с вашей текущей учетной системой на основе 1С. Как вариант – вы можете заказать создание такой «персонифицированной под Вас» обработки мне. Пишите, звоните -- договоримся.