Данная обработка исключительно для ознакомления использования API 2.0 Яндекс карт в 1С Предприятии т.к. лицензионным соглашением Яндекс запрещено использовать «Карты» в стороннем программном обеспечении, а также кэшировать полученные данные, что использует данная обработка для ускорения расчета расстояния.
API 2.0 не требует ключа для работы с картами.
Предназначение: оптимизация транспортировки товара (нагрузка на транспорт и расстояние маршрута) от продавца к покупателю.
Конфигурация: Писалась и тестировалась на «Управление торговлей 10.2»
Описание: Обработка перебирает заявки покупателей на установленную дату отгрузки и распределяет товар на транспортные средства организации учитывая максимальную грузоподъемность каждого транспорта и оптимальный маршрут до точки отгрузки.
Настройка:
При первом запуске обработки необходимо зайти в настройки и указать:
— Каталог кэширования
— Ограничение точек доставки товара (максимальное количество точек доставки на одно транспортное средство, 0=без ограничения)
— Выбрать порядок загрузки транспорта (как правило сначала нагружают маленькие машины т.к. потребляют меньше топлива, но я предоставил выбор на всякий случай)
— Забить справочник транспорта. Указав: наименование, гос. номер, и грузоподъемность.
Нижняя таблица для редактирования координат контрагентов, ее заполнять не нужно.
Запуск обработки:
— Выбрать организацию «продавца».
— Установить дату отгрузки.
— Выбрать «флажками» транспорт доставки.
Нажать кнопку «Далее»
Обработка начнет поиск оптимального маршрута и распределения груза на транспорт. При неудачной попытки найти адрес обработка откроет Яндекс карту и предложит в ручную указать местонахождение контрагента, после чего продолжит алгоритм оптимизации. По окончании обработки выводится интерактивный отчет, а также служебные сообщения в случае ошибки расчета или нехватки информации для оптимизации распределения.
Работа с отчетом:
— При клике на «Точки маршрута» отображается карта с маршрутом и точками доставки для данного транспортного средства.
— При клике на «Стрелки» открывается окно перемещения товара на другое транспортное средство.




Судя по описанию серьезная разработка! А как реализован механизм call back ответов от яндекса в 1с, былили использованы какие нибудь внешние компоненты?
(1) Angeros, Внешних компонент не использовалось, обрабатывается ожиданием. На счет серьезности разработки говорить рановато, это только зародыш, т.к. логистика требует многих нюансов и массу настроек зависящих от грузоподъемности, маршрута и времени доставки. Если у людей проснется интерес, буду продолжать разработку. И конечно если легализовать её она автоматом становится платной т.к. «Яндекс» не стремиться быть бесплатной и наверняка нужно заключать с ними какой то договор что и будет выражать стоимость программы. Ну и конечно в этом случае разработку можно будет создавать для разных конфигураций и платформ а не только для «Управление торговлей» как в настоящий момент.
Можно ещё попробовать использовать OpenStreetMap тогда разработка будет бесплатной, но там настолько слабо API и детализация России что появляются сомнения в исходе полноценного продукта.
Сильно. Оптимизация производится методами «транспортной задачи»?
(3) automatizator, Методом «Ближайшая точка доставки»
Решил проверить как работает в УТ 10.3.18 и вот что вышло {Форма.ГлавнаяФорма.Форма(562)}: Деление на 0
ПроцентИндикатораНаЕдиницу = 100/(КоличествоМашин*КоличествоКонтрагентов+КоличествоКонтрагентов)*1000;
(5) filipp, 99% что это КоличествоКонтрагентов = 0, т.к. без машин алгоритм бы не запустился. Возможно что реквизиты документа «ЗаказПокупателя» между версией 10.2 (на которой тестировалось) и версией 10.13.18 не совпадают.
Будет время подпилю под 10.13 !!!
Обработка очень интересная!
Но у меня, почему то, не работает.
После нажатия кнопки «далее», выдает сообщение: «Нет Адреса начальной точки отправки»
Подскажите, что я не правильно делаю?
(4) Методом «Ближайшая точка доставки», а что вы делали с пропущенными точками при таком методе? Например Точка № 1 находится в 1 км от тек. положения, Точка № 2 в 2 км от тек. положения, а точка № 3 в 3 км от тек. положения , мы двигаемся к точке № 1 , точка № 2 (расстояние от точки № 2 до № 1) 3 км , а от точки до точки № 3 — 2 км , мы двигаемся к точке № 3 , проскакивая точку № 2 и так далее , по методу ближайшая точка
Я видел для поиска оптимального маршрута используют генетический алгоритм как в этих публикациях :
Самому интересна эта тема , занимаюсь ее реализацией в данный момент.
Обработка рассчитывает маршрут нормально, но есть проблема при самом расчете — при запросе к yandex, после каждого контрагента выходит ошибка «На этой странице произошла ошибка сценария», символ 1, строка 1, объект не поддерживает это свойство или метод. Как победить?
Яндекс карта. допустим я поставил несколько меток, можно ли как-то смасштабировать карту (не руками, а программно), что бы масштаб был максимально увеличен и в тоже время все метки были видны (в границах карты)?
у меня несколько вопросов..
1. есть ли какие-то ограничения на количество точек в маршруте?
2. можно ли рисовать на карте одновременно несколько маршрутов и отображать их линиями разного цвета?
3. вопрос по выводу карты на печать. например, отмечены точки в разных концах города. как сделать, чтобы на печать вывести карту с заданным масштабом, а если она не помещается целиком на лист А4, чтобы печаталась кусками на нескольких листах
Видали вещи помощнее, на управляемых формах генетическим алгоритмом, источник —
(13) sdwggg, Зачем карту печатать если можно напечатать навигационный лист —
. Источник
(12) gosizo, Можно, в апи есть метод специально.