gifts2017

Логистика (Распределение груза и прокладка оптимального маршрута с использованием API 2.0 Яндекс карт)

Опубликовал Владимир Шевченко (cvmbackup) в раздел Обработки - Универсальные обработки

Оптимизация транспортировки товара (нагрузка на транспорт и расстояние маршрута) от продавца к покупателю.

Данная обработка исключительно для ознакомления использования API 2.0 Яндекс карт в 1С Предприятии т.к. лицензионным соглашением Яндекс запрещено использовать «Карты» в стороннем программном обеспечении, а также кэшировать полученные данные, что использует данная обработка для ускорения расчета расстояния.

API 2.0 не требует ключа для работы с картами.

Предназначение: оптимизация транспортировки товара (нагрузка на транспорт и расстояние маршрута) от продавца к покупателю.

Конфигурация: Писалась и тестировалась на «Управление торговлей 10.2»

Описание: Обработка перебирает заявки покупателей на установленную дату отгрузки и распределяет товар на транспортные средства организации учитывая максимальную грузоподъемность каждого транспорта и оптимальный маршрут до точки отгрузки.

 

Настройка:

При первом запуске обработки необходимо зайти в настройки и указать:

- Каталог кэширования

- Ограничение точек доставки товара (максимальное количество точек доставки на одно транспортное средство, 0=без ограничения)

- Выбрать порядок загрузки транспорта (как правило сначала нагружают маленькие машины т.к. потребляют меньше топлива, но я предоставил выбор на всякий случай)

- Забить справочник транспорта. Указав: наименование, гос. номер, и грузоподъемность.

Нижняя таблица для редактирования координат контрагентов, ее заполнять не нужно.

 

Запуск обработки:

- Выбрать организацию «продавца».

- Установить дату отгрузки.

- Выбрать «флажками» транспорт доставки.

Нажать кнопку «Далее»

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

 

Работа с отчетом:

- При клике на «Точки маршрута» отображается карта с маршрутом и точками доставки для данного транспортного средства.

- При клике на «Стрелки» открывается окно перемещения товара на другое транспортное средство.

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

Наименование Файл Версия Размер Кол. Скачив.
Обработка
.epf 30,51Kb
29.09.12
287
.epf 30,51Kb 287 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Доржи Балбаров (Angeros) 01.10.12 07:59
Судя по описанию серьезная разработка! А как реализован механизм call back ответов от яндекса в 1с, былили использованы какие нибудь внешние компоненты?
2. Владимир Шевченко (cvmbackup) 01.10.12 08:31
(1) Angeros, Внешних компонент не использовалось, обрабатывается ожиданием. На счет серьезности разработки говорить рановато, это только зародыш, т.к. логистика требует многих нюансов и массу настроек зависящих от грузоподъемности, маршрута и времени доставки. Если у людей проснется интерес, буду продолжать разработку. И конечно если легализовать её она автоматом становится платной т.к. "Яндекс" не стремиться быть бесплатной и наверняка нужно заключать с ними какой то договор что и будет выражать стоимость программы. Ну и конечно в этом случае разработку можно будет создавать для разных конфигураций и платформ а не только для "Управление торговлей" как в настоящий момент.
Можно ещё попробовать использовать OpenStreetMap тогда разработка будет бесплатной, но там настолько слабо API и детализация России что появляются сомнения в исходе полноценного продукта.
3. Дмитрий Утенков (automatizator) 03.10.12 04:29
Сильно. Оптимизация производится методами "транспортной задачи"?
4. Владимир Шевченко (cvmbackup) 03.10.12 08:08
(3) automatizator, Методом "Ближайшая точка доставки"
5. Матвей Филипп (filipp) 03.10.12 09:53
Решил проверить как работает в УТ 10.3.18 и вот что вышло {Форма.ГлавнаяФорма.Форма(562)}: Деление на 0
ПроцентИндикатораНаЕдиницу = 100/(КоличествоМашин*КоличествоКонтрагентов+КоличествоКонтрагентов)*1000;
Progresiv43; +1 Ответить 1
6. Владимир Шевченко (cvmbackup) 03.10.12 11:35
(5) filipp, 99% что это КоличествоКонтрагентов = 0, т.к. без машин алгоритм бы не запустился. Возможно что реквизиты документа "ЗаказПокупателя" между версией 10.2 (на которой тестировалось) и версией 10.13.18 не совпадают.
Будет время подпилю под 10.13 !!!
7. Vlad Stone (rmp2007) 13.03.13 22:49
Обработка очень интересная!
Но у меня, почему то, не работает.
После нажатия кнопки "далее", выдает сообщение: "Нет Адреса начальной точки отправки"

Подскажите, что я не правильно делаю?
8. Айбек К (ak0710) 01.04.13 13:49
(4) cvmbackup, Методом "Ближайшая точка доставки", а что вы делали с пропущенными точками при таком методе? Например Точка № 1 находится в 1 км от тек. положения, Точка № 2 в 2 км от тек. положения, а точка № 3 в 3 км от тек. положения , мы двигаемся к точке № 1 , точка № 2 (расстояние от точки № 2 до № 1) 3 км , а от точки до точки № 3 - 2 км , мы двигаемся к точке № 3 , проскакивая точку № 2 и так далее , по методу ближайшая точка
9. Айбек К (ak0710) 01.04.13 14:25
Я видел для поиска оптимального маршрута используют генетический алгоритм как в этих публикациях :

http://forum.infostart.ru/forum24/topic77246/
http://infostart.ru/public/168946/

Самому интересна эта тема , занимаюсь ее реализацией в данный момент.
10. NoN098 (NoN098) 16.04.13 09:50
Обработка рассчитывает маршрут нормально, но есть проблема при самом расчете - при запросе к yandex, после каждого контрагента выходит ошибка "На этой странице произошла ошибка сценария", символ 1, строка 1, объект не поддерживает это свойство или метод. Как победить?
12. Дмитрий (gosizo) 16.09.13 09:13
Яндекс карта. допустим я поставил несколько меток, можно ли как-то смасштабировать карту (не руками, а программно), что бы масштаб был максимально увеличен и в тоже время все метки были видны (в границах карты)?
13. sdwggg (sdwggg) 17.10.13 17:37
у меня несколько вопросов..

1. есть ли какие-то ограничения на количество точек в маршруте?
2. можно ли рисовать на карте одновременно несколько маршрутов и отображать их линиями разного цвета?
3. вопрос по выводу карты на печать. например, отмечены точки в разных концах города. как сделать, чтобы на печать вывести карту с заданным масштабом, а если она не помещается целиком на лист А4, чтобы печаталась кусками на нескольких листах
14. Серж Драт (vervolf9) 03.01.14 12:27
Видали вещи помощнее, на управляемых формах генетическим алгоритмом, источник - http://www.1c-logist.com.ua/
15. Серж Драт (vervolf9) 03.01.14 12:29
(13) sdwggg, Зачем карту печатать если можно напечатать навигационный лист - . Источник http://www.1c-logist.com.ua/
16. Серж Драт (vervolf9) 03.01.14 12:30
(12) gosizo, Можно, в апи есть метод специально.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа