Тип: ТочкаМаршрутаБизнесПроцессаСсылка.<Имя бизнес-процесса>. Содержит ссылку на точку маршрута породившего задачу бизнес-процесса (может быть пустой).
Полное описание, параметры и ограничения
ЗадачаОбъект.<Имя задачи>.ТочкаМаршрута (TaskObject.<Task name>.RoutePoint)
ЗадачаОбъект.<Имя задачи> (TaskObject.<Task name>)
ТочкаМаршрута (RoutePoint)
Доступен, начиная с версии 8.0.
Использование:
Чтение и запись.
Описание:
Тип: ТочкаМаршрутаБизнесПроцессаСсылка.<Имя бизнес-процесса>.
Содержит ссылку на точку маршрута породившего задачу бизнес-процесса (может быть пустой).
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Связать плановые ссылки процесса и задачи без записи
Назначенные UUID создают идентичность, не существование. Для учебной задачи указываем ссылку будущего процесса и реальную точку его карты, но запуск не выполняем.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.
Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.
Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.
Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.
Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Задача = Задачи.УчебнаяЗадача.СоздатьЗадачу();
ИдентификаторПроцесса = Новый УникальныйИдентификатор;
ИдентификаторЗадачи = Новый УникальныйИдентификатор;
СсылкаПроцесса = БизнесПроцессы.УчебныйПроцесс.ПолучитьСсылку(ИдентификаторПроцесса);
СсылкаЗадачи = Задачи.УчебнаяЗадача.ПолучитьСсылку(ИдентификаторЗадачи);
Процесс.УстановитьСсылкуНового(СсылкаПроцесса);
Задача.УстановитьСсылкуНового(СсылкаЗадачи);
Задача.БизнесПроцесс = СсылкаПроцесса;
Задача.ТочкаМаршрута = БизнесПроцессы.УчебныйПроцесс.ТочкиМаршрута.ПодготовитьКнигу;
Сообщить(Процесс.ПолучитьСсылкуНового() = СсылкаПроцесса);
Сообщить(Задача.ПолучитьСсылкуНового() = СсылкаЗадачи);
Сообщить(СсылкаПроцесса.УникальныйИдентификатор() = ИдентификаторПроцесса);
Сообщить(СсылкаЗадачи.УникальныйИдентификатор() = ИдентификаторЗадачи);
Сообщить(Задача.БизнесПроцесс = СсылкаПроцесса);
Сообщить(Задача.ТочкаМаршрута.Имя = "ПодготовитьКнигу");
Сообщить(СсылкаПроцесса.ПолучитьОбъект() = Неопределено);
Сообщить(СсылкаЗадачи.ПолучитьОбъект() = Неопределено);Разбор по шагам
ПолучитьСсылку формирует ссылку из собственного UUID и не записывает объект.
УстановитьСсылкуНового назначает идентичность будущей записи; уникальность будет проверяться при записи.
ТочкаМаршрута берётся из менеджера учебного процесса, а не создаётся строкой произвольного имени.
Задача содержит плановую ссылку процесса, но ПолучитьОбъект обеих ссылок возвращает отсутствие записи.
Как проверить результат
Восемь сравнений Истина. Плановые идентификаторы совпали, обе записи отсутствуют.
В коде нет Старт или ВыполнитьЗадачу; карта ещё не продвинулась.
Ожидаемый результат
Разделены ссылка, точка метаданных маршрута и наличие объекта в базе.
На что обратить внимание
Непустая ссылка не доказывает существование процесса или выполнение задачи.
Это упражнение по идентичности. В рабочем механизме задачи должны порождаться маршрутом, не вручную подменять его состояние.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Пройти собственный учебный маршрут и отменить весь опыт
Старт порождает задачу точки действия. Находим её только по своему новому процессу, выполняем и перечитываем завершённый процесс. Всё происходит внутри отменяемой учебной транзакции.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.
Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.
Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.
Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.
Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Нельзя запускать внутри чужой транзакции";
КонецЕсли;
СсылкаПроцесса = БизнесПроцессы.УчебныйПроцесс.ПолучитьСсылку(Новый УникальныйИдентификатор);
НачатьТранзакцию();
Попытка
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Процесс.УстановитьСсылкуНового(СсылкаПроцесса);
Процесс.Дата = Дата(2026, 10, 3, 10, 0, 0);
Процесс.Комментарий = "Только собственный учебный маршрут";
Процесс.Записать();
Процесс.Старт(БизнесПроцессы.УчебныйПроцесс.ТочкиМаршрута.Старт);
Процесс.Прочитать();
Сообщить(Процесс.Стартован);
Сообщить(Не Процесс.Завершен);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| УчебныеЗадачи.Ссылка КАК Ссылка
|ИЗ Задача.УчебнаяЗадача КАК УчебныеЗадачи
|ГДЕ УчебныеЗадачи.БизнесПроцесс = &Процесс";
Запрос.УстановитьПараметр("Процесс", СсылкаПроцесса);
Найденные = Запрос.Выполнить().Выгрузить();
Если Найденные.Количество() <> 1 Тогда
ВызватьИсключение "Ожидается ровно одна собственная задача одиночной точки; проверьте учебную карту и адресацию";
КонецЕсли;
СсылкаЗадачи = Найденные.Получить(0).Ссылка;
Задача = СсылкаЗадачи.ПолучитьОбъект();
Если Задача = Неопределено Тогда
ВызватьИсключение "Порождённая учебная задача не найдена";
КонецЕсли;
Если Задача.БизнесПроцесс <> СсылкаПроцесса Тогда
ВызватьИсключение "Нельзя выполнять задачу чужого процесса";
КонецЕсли;
Сообщить(Не Задача.Выполнена);
Сообщить(Задача.ТочкаМаршрута = БизнесПроцессы.УчебныйПроцесс.ТочкиМаршрута.ПодготовитьКнигу);
Задача.ВыполнитьЗадачу();
Задача.Прочитать();
Процесс.Прочитать();
Сообщить(Задача.Выполнена);
Сообщить(Процесс.Завершен);
ОтменитьТранзакцию();
Исключение
Если ТранзакцияАктивна() Тогда
ОтменитьТранзакцию();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Сообщить(Не ТранзакцияАктивна());
Сообщить(СсылкаПроцесса.ПолучитьОбъект() = Неопределено);
Сообщить(СсылкаЗадачи.ПолучитьОбъект() = Неопределено);Разбор по шагам
Перед запуском точно выполните подготовку карты: один Старт, одна одиночная точка действия, один Финиш, без адресации и обработчиков.
Назначаем новый UUID процессу, записываем внутри своей транзакции и вызываем Старт с конкретной точкой, не устанавливаем флаг вручную.
Запрос параметризован ссылкой только что созданного процесса. Чужие задачи не выбираются; при количестве не 1 выполнение останавливается.
ПолучитьОбъект проверяется на отсутствие, а принадлежность процессу проверяется ещё раз перед ВыполнитьЗадачу.
ВыполнитьЗадачу записывает выполнение и уведомляет процесс. Прочитать обновляет оба экземпляра, затем транзакция намеренно отменяется.
Как проверить результат
Шесть сравнений в транзакции Истина: старт, ожидание, невыполненная собственная задача нужной точки, выполненная задача, завершённый процесс.
После отката ещё три Истина: транзакция закрыта, процесс и порождённая задача отсутствуют.
В этом упражнении нет фиксации, отправки письма, файла или доступа к рабочим задачам.
Ожидаемый результат
На собственной последовательной карте показано, чем реальные Старт и ВыполнитьЗадачу отличаются от присваивания флагов.
На что обратить внимание
Только отдельная пустая учебная база. В рабочем процессе события могут записывать другие данные и обращаться во внешние системы.
ПроверитьВыполнение предназначен для проверки условий автоматизированного исполнения; без обработчиков он Ложь. Здесь явно выполняется учебная задача, а не реализуется производственный робот.
Откат не отменяет внешние действия. Пустые модули и отсутствие подписок — обязательная часть подготовки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.