Точка маршрута бизнес-процесса. Точки маршрута отличаются видом - Старт, Завершение, Действие и т.д. У точек некоторых видов есть специфические свойства и события. Например, свойство Групповая есть только у точки вида Действие, а событие ПроверкаУсловия - только у точки условного перехода. При попытке обращения к свойству, которое отсутствует у данной точке будет выдано сообщение об ошибке.
Примеры платформы
Процедура Действие1ПриСозданииЗадач(ТочкаМаршрута, МассивЗадач, Отказ)
Для Каждого Задача Из МассивЗадач Цикл
Задача.Наименование=ТочкаМаршрута.Наименование +
" ("+ТекущаяДата()+")";
КонецЦикла;
КонецПроцедурыПолное описание, параметры и ограничения
ТочкаМаршрутаБизнесПроцессаСсылка.<Имя бизнес-процесса> (BusinessProcessRoutePointRef.<Business process name>)
ТочкаМаршрутаБизнесПроцессаСсылка.<Имя бизнес-процесса> (BusinessProcessRoutePointRef.<Business process name>)
Доступен, начиная с версии 8.0.
Свойства:
<Имя реквизита адресации> (<Addressing attribute name>)
Варианты (Cases)
Вид (Type)
ВложенныйПроцесс (SubProcess)
Групповая (Group)
Имя (Name)
НаименованиеЗадачи (TaskDescription)
Пояснение (Explanation)
Методы:
ПолучитьВходящиеТочки (GetIncomingPoints)
ПолучитьИсходящиеТочки (GetOutgoingPoints)
ПолучитьИсходящуюТочку (GetOutgoingPoint)
События:
Обработка (Processing)
ОбработкаВыбораВарианта (SwitchProcessing)
ОбработкаИнтерактивнойАктивации (InteractiveActivationProcessing)
ОбработкаПроверкиВыполнения (OnCheckExecuteProcessing)
ПередВыполнением (BeforeExecute)
ПередИнтерактивнымВыполнением (BeforeExecuteInteractively)
ПередСозданиемВложенныхБизнесПроцессов (BeforeCreateSubBusinessProcesses)
ПередСозданиемЗадач (BeforeCreateTasks)
ПередСтартом (BeforeStart)
ПриВыполнении (OnExecute)
ПриЗавершении (OnComplete)
ПриСозданииВложенныхБизнесПроцессов (OnCreateSubBusinessProcesses)
ПриСозданииЗадач (OnCreateTask)
ПроверкаУсловия (ConditionCheck)
Описание:
Точка маршрута бизнес-процесса. Точки маршрута отличаются видом - Старт, Завершение, Действие и т.д. У точек некоторых видов есть специфические свойства и события. Например, свойство Групповая есть только у точки вида Действие, а событие ПроверкаУсловия - только у точки условного перехода. При попытке обращения к свойству, которое отсутствует у данной точке будет выдано сообщение об ошибке.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение.
Возможен обмен с сервером. Сериализуется. Данный объект может быть сериализован в/из XML. Может использоваться в реквизитах управляемой формы. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/enterprise/current-config}. Имя типа XDTO: BusinessProcessRoutePointRef.
Пример:
Процедура Действие1ПриСозданииЗадач(ТочкаМаршрута, МассивЗадач, Отказ)
Для Каждого Задача Из МассивЗадач Цикл
Задача.Наименование=ТочкаМаршрута.Наименование +
" ("+ТекущаяДата()+")";
КонецЦикла;
КонецПроцедуры
См. также:
ТочкиМаршрута, свойство <Имя точки маршрута бизнес-процесса>
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Связать плановые ссылки процесса и задачи без записи
Назначенные UUID создают идентичность, не существование. Для учебной задачи указываем ссылку будущего процесса и реальную точку его карты, но запуск не выполняем.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.
Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.
Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.
Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.
Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Задача = Задачи.УчебнаяЗадача.СоздатьЗадачу();
ИдентификаторПроцесса = Новый УникальныйИдентификатор;
ИдентификаторЗадачи = Новый УникальныйИдентификатор;
СсылкаПроцесса = БизнесПроцессы.УчебныйПроцесс.ПолучитьСсылку(ИдентификаторПроцесса);
СсылкаЗадачи = Задачи.УчебнаяЗадача.ПолучитьСсылку(ИдентификаторЗадачи);
Процесс.УстановитьСсылкуНового(СсылкаПроцесса);
Задача.УстановитьСсылкуНового(СсылкаЗадачи);
Задача.БизнесПроцесс = СсылкаПроцесса;
Задача.ТочкаМаршрута = БизнесПроцессы.УчебныйПроцесс.ТочкиМаршрута.ПодготовитьКнигу;
Сообщить(Процесс.ПолучитьСсылкуНового() = СсылкаПроцесса);
Сообщить(Задача.ПолучитьСсылкуНового() = СсылкаЗадачи);
Сообщить(СсылкаПроцесса.УникальныйИдентификатор() = ИдентификаторПроцесса);
Сообщить(СсылкаЗадачи.УникальныйИдентификатор() = ИдентификаторЗадачи);
Сообщить(Задача.БизнесПроцесс = СсылкаПроцесса);
Сообщить(Задача.ТочкаМаршрута.Имя = "ПодготовитьКнигу");
Сообщить(СсылкаПроцесса.ПолучитьОбъект() = Неопределено);
Сообщить(СсылкаЗадачи.ПолучитьОбъект() = Неопределено);Разбор по шагам
ПолучитьСсылку формирует ссылку из собственного UUID и не записывает объект.
УстановитьСсылкуНового назначает идентичность будущей записи; уникальность будет проверяться при записи.
ТочкаМаршрута берётся из менеджера учебного процесса, а не создаётся строкой произвольного имени.
Задача содержит плановую ссылку процесса, но ПолучитьОбъект обеих ссылок возвращает отсутствие записи.
Как проверить результат
Восемь сравнений Истина. Плановые идентификаторы совпали, обе записи отсутствуют.
В коде нет Старт или ВыполнитьЗадачу; карта ещё не продвинулась.
Ожидаемый результат
Разделены ссылка, точка метаданных маршрута и наличие объекта в базе.
На что обратить внимание
Непустая ссылка не доказывает существование процесса или выполнение задачи.
Это упражнение по идентичности. В рабочем механизме задачи должны порождаться маршрутом, не вручную подменять его состояние.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.