О2_Routing_МенеджерТочекМаршрута.ПолучитьПоУзлу
Возвращает точку маршрута для регулярного (не-депо) узла графа. Основной способ вызова: О2.Модели().МодельМаршрутизации().СоздатьМодель().ТочкиМаршрута().ПолучитьПоУзлу(Узел).
Синтаксис
О2.Модели().МодельМаршрутизации().СоздатьМодель().ТочкиМаршрута().ПолучитьПоУзлу(Узел)
Параметры
- Узел — ФиксированнаяСтруктура, Строка, Число — узел графа:
- ФиксированнаяСтруктура — объект узла модели;
- Строка — имя узла;
- Число — индекс узла (0-based).
Возвращаемое значение
- ФиксированнаяСтруктура — точка маршрута с
Тип = "ТочкаМаршрута".
Описание
Метод О2.Модели().МодельМаршрутизации().СоздатьМодель().ТочкиМаршрута().ПолучитьПоУзлу(...) предназначен исключительно для не-депо (клиентских) узлов. Если переданный узел является депо хотя бы одного транспортного средства, метод бросает исключение — это защита от неоднозначности: у одного депо-узла может быть несколько стартовых и конечных точек (по одной на каждое ТС). В таком случае следует явно использовать ПолучитьСтарт или ПолучитьФиниш.
Возвращаемая структура содержит поля:
Тип—"ТочкаМаршрута";Индекс— 0-based индекс точки в реестре;Узел— узел, соответствующий этой точке;ТранспортноеСредство— не заполнено (только для типов Старт/Финиш).
Пример
ТС1 = Модель.ТранспортныеСредства().Получить("ТС1");
Клиент1 = Модель.Узлы().Получить("Клиент1");
Клиент2 = Модель.Узлы().Получить("Клиент2");
// Для клиентских узлов — ПолучитьПоУзлу
Точка1 = Модель.ТочкиМаршрута().ПолучитьПоУзлу(Клиент1);
Точка2 = Модель.ТочкиМаршрута().ПолучитьПоУзлу(Клиент2);
// Для депо — НЕЛЬЗЯ использовать ПолучитьПоУзлу, нужен ПолучитьСтарт/ПолучитьФиниш:
// Модель.ТочкиМаршрута().ПолучитьПоУзлу("Депо"); // <-- бросит исключение!
СтартТС1 = Модель.ТочкиМаршрута().ПолучитьСтарт(ТС1);