Перейти к основному содержимому

О2_Routing_МенеджерТочекМаршрута.ПолучитьПоУзлу

Возвращает точку маршрута для регулярного (не-депо) узла графа. Основной способ вызова: О2.Модели().МодельМаршрутизации().СоздатьМодель().ТочкиМаршрута().ПолучитьПоУзлу(Узел).

Синтаксис

О2.Модели().МодельМаршрутизации().СоздатьМодель().ТочкиМаршрута().ПолучитьПоУзлу(Узел)

Параметры

  • УзелФиксированнаяСтруктура, Строка, Число — узел графа:
    • ФиксированнаяСтруктура — объект узла модели;
    • Строка — имя узла;
    • Число — индекс узла (0-based).

Возвращаемое значение

  • ФиксированнаяСтруктура — точка маршрута с Тип = "ТочкаМаршрута".

Описание

Метод О2.Модели().МодельМаршрутизации().СоздатьМодель().ТочкиМаршрута().ПолучитьПоУзлу(...) предназначен исключительно для не-депо (клиентских) узлов. Если переданный узел является депо хотя бы одного транспортного средства, метод бросает исключение — это защита от неоднозначности: у одного депо-узла может быть несколько стартовых и конечных точек (по одной на каждое ТС). В таком случае следует явно использовать ПолучитьСтарт или ПолучитьФиниш.

Возвращаемая структура содержит поля:

  • Тип"ТочкаМаршрута";
  • Индекс — 0-based индекс точки в реестре;
  • Узел — узел, соответствующий этой точке;
  • ТранспортноеСредство — не заполнено (только для типов Старт/Финиш).

Пример

ТС1 = Модель.ТранспортныеСредства().Получить("ТС1");
Клиент1 = Модель.Узлы().Получить("Клиент1");
Клиент2 = Модель.Узлы().Получить("Клиент2");

// Для клиентских узлов — ПолучитьПоУзлу
Точка1 = Модель.ТочкиМаршрута().ПолучитьПоУзлу(Клиент1);
Точка2 = Модель.ТочкиМаршрута().ПолучитьПоУзлу(Клиент2);

// Для депо — НЕЛЬЗЯ использовать ПолучитьПоУзлу, нужен ПолучитьСтарт/ПолучитьФиниш:
// Модель.ТочкиМаршрута().ПолучитьПоУзлу("Депо"); // <-- бросит исключение!
СтартТС1 = Модель.ТочкиМаршрута().ПолучитьСтарт(ТС1);

См. также