Используется для указания ссылки на задачу в реквизитах других объектов и переменных встроенного языка. Данный объект не содержит средств для чтения, изменения, добавления и удаления задачи, однако позволяет обращаться к ее реквизитам и другой информации об элементе. При обращении к свойствам объекта будет выполняться считывание всех данных элемента задачи из базы данных, но оно будет оптимизировано при многократном обращении к данному элементу как через этот объект, так и через другое равное ему значение.
Полное описание, параметры и ограничения
ЗадачаСсылка.<Имя задачи> (TaskRef.<Task name>)
ЗадачаСсылка.<Имя задачи> (TaskRef.<Task name>)
Доступен, начиная с версии 8.0.
Свойства:
<Имя общего реквизита> (<Common attribute name>)
<Имя реквизита адресации> (<Addressing attribute name>)
<Имя реквизита> (<Attribute name>)
<Имя табличной части> (<Tabular section name>)
БизнесПроцесс (BusinessProcess)
ВерсияДанных (DataVersion)
Выполнена (Executed)
Дата (Date)
Наименование (Description)
Номер (Number)
ПометкаУдаления (DeletionMark)
Ссылка (Ref)
ТочкаМаршрута (RoutePoint)
Методы:
Метаданные (Metadata)
ПолучитьОбъект (GetObject)
ПолучитьФорму (GetForm)
Пустая (IsEmpty)
Скопировать (Copy)
УникальныйИдентификатор (UUID)
Конструкторы:
По умолчанию
Описание:
Используется для указания ссылки на задачу в реквизитах других объектов и переменных встроенного языка. Данный объект не содержит средств для чтения, изменения, добавления и удаления задачи, однако позволяет обращаться к ее реквизитам и другой информации об элементе. При обращении к свойствам объекта будет выполняться считывание всех данных элемента задачи из базы данных, но оно будет оптимизировано при многократном обращении к данному элементу как через этот объект, так и через другое равное ему значение.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение.
Возможен обмен с сервером. Сериализуется. Данный объект может быть сериализован в/из XML. Может использоваться в реквизитах управляемой формы. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/enterprise/current-config}. Имя типа XDTO: TaskRef.<Имя задачи>.
См. также:
ЗадачаМенеджер.<Имя задачи>, метод НайтиПоНомеру
ЗадачаМенеджер.<Имя задачи>, метод НайтиПоНаименованию
ЗадачаМенеджер.<Имя задачи>, метод НайтиПоРеквизиту
ЗадачаОбъект.<Имя задачи>, свойство Ссылка
ЗадачаВыборка.<Имя задачи>, свойство Ссылка
Расширение формы списка задач, свойство ПараметрТекущаяСтрока
ТочкаМаршрутаБизнесПроцессаСсылка.<Имя бизнес-процесса>, событие ОбработкаИнтерактивнойАктивации
ТочкаМаршрутаБизнесПроцессаСсылка.<Имя бизнес-процесса>, событие ПриВыполнении
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Скопировать комментарии, не клонируя исполненный маршрут
Получаем новые экземпляры процесса и задачи. Меняем их учебные комментарии и имя задачи, проверяя исходные значения и новое состояние копий.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.
Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.
Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.
Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.
Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Задача = Задачи.УчебнаяЗадача.СоздатьЗадачу();
Процесс.Комментарий = "Подготовка трёх книг";
Задача.Наименование = "Подготовить учебную книгу";
Задача.Комментарий = "Первый учебный экземпляр";
КопияПроцесса = Процесс.Скопировать();
КопияЗадачи = Задача.Скопировать();
КопияПроцесса.Комментарий = "Отдельная учебная копия";
КопияЗадачи.Наименование = "Подготовить учебную тетрадь";
КопияЗадачи.Комментарий = "Второй учебный экземпляр";
Сообщить(Процесс.Комментарий = "Подготовка трёх книг");
Сообщить(Задача.Наименование = "Подготовить учебную книгу");
Сообщить(Задача.Комментарий = "Первый учебный экземпляр");
Сообщить(КопияПроцесса.ЭтоНовый());
Сообщить(КопияЗадачи.ЭтоНовый());
Сообщить(КопияПроцесса.Ссылка.Пустая());
Сообщить(КопияЗадачи.Ссылка.Пустая());Разбор по шагам
Комментарий — собственный реквизит, явно созданный в подготовке, не обязательное поле всех бизнес-процессов.
Скопировать возвращает новые экземпляры. Присваивание другого имени/комментария не меняет исходный объект.
Проверяем новое состояние и пустые ссылки копий; Записать отсутствует.
Урок не переносит историю исполнения, адресацию и выполненные задачи рабочего процесса.
Как проверить результат
Семь сравнений Истина. Исходные комментарии/имя сохранены, копии новые.
Новые строки в списках задач и процессов не появились.
Ожидаемый результат
Получены независимые учебные копии данных двух незаписанных объектов.
На что обратить внимание
Не используйте копирование как способ восстановить выполненный маршрут.
Обработчики ПриКопировании типовой конфигурации могут иначе заполнять данные; здесь их нет.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Перечитать свои временные процесс и задачу, не запуская маршрут
В отменяемой транзакции записываем собственную пару, читаем версии данных и отбросим только несохранённые комментарии. Запись процесса не равна его старту.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.
Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.
Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.
Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.
Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Нельзя запускать внутри чужой транзакции";
КонецЕсли;
СсылкаПроцесса = БизнесПроцессы.УчебныйПроцесс.ПолучитьСсылку(Новый УникальныйИдентификатор);
НачатьТранзакцию();
Попытка
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Процесс.УстановитьСсылкуНового(СсылкаПроцесса);
Процесс.Дата = Дата(2026, 10, 3, 10, 0, 0);
Процесс.Комментарий = "Записанный учебный процесс";
Процесс.Записать();
СсылкаЗадачи = Задачи.УчебнаяЗадача.ПолучитьСсылку(Новый УникальныйИдентификатор);
Задача = Задачи.УчебнаяЗадача.СоздатьЗадачу();
Задача.УстановитьСсылкуНового(СсылкаЗадачи);
Задача.Наименование = "Самостоятельная учебная задача";
Задача.Дата = Процесс.Дата;
Задача.БизнесПроцесс = СсылкаПроцесса;
Задача.Комментарий = "Записанная учебная задача";
Задача.Записать();
Процесс.Комментарий = "Несохранённая правка процесса";
Задача.Комментарий = "Несохранённая правка задачи";
Сообщить(Процесс.Модифицированность());
Сообщить(Задача.Модифицированность());
Процесс.Прочитать();
Задача.Прочитать();
Сообщить(Процесс.Комментарий = "Записанный учебный процесс");
Сообщить(Задача.Комментарий = "Записанная учебная задача");
Сообщить(Не Процесс.Модифицированность());
Сообщить(Не Задача.Модифицированность());
Сообщить(ТипЗнч(Процесс.ВерсияДанных) = Тип("Строка"));
Сообщить(ТипЗнч(Задача.ВерсияДанных) = Тип("Строка"));
Сообщить(Не Процесс.Стартован);
Сообщить(Не Задача.Выполнена);
ОтменитьТранзакцию();
Исключение
Если ТранзакцияАктивна() Тогда
ОтменитьТранзакцию();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Сообщить(Не ТранзакцияАктивна());
Сообщить(СсылкаПроцесса.ПолучитьОбъект() = Неопределено);
Сообщить(СсылкаЗадачи.ПолучитьОбъект() = Неопределено);Разбор по шагам
Запись разрешена только в изолированной новой Учебная85 с пустыми модулями/подписками. Проверяем отсутствие чужой транзакции.
Каждому новому объекту назначена собственная UUID-ссылка. Процесс записывается до связанной учебной задачи.
Меняем комментарии только в памяти и вызываем Прочитать. Записанные комментарии восстанавливаются, локальная модифицированность сбрасывается.
ВерсияДанных — непрозрачная строка; не форматируем её как дату или номер конфигурации.
Все записи откатываем. Ни Старт, ни ВыполнитьЗадачу не вызывались.
Как проверить результат
Десять сравнений в транзакции Истина; после неё ещё три: транзакция закрыта, обе собственные записи отсутствуют.
В учебных списках не осталось созданной пары.
Ожидаемый результат
Проверены запись, чтение и откат двух собственных объектов без исполнения маршрута.
На что обратить внимание
Самостоятельное ручное связывание показано для упражнения чтения, не для проектирования рабочего маршрута.
Откат базы не отменяет внешние действия обработчиков. Поэтому рабочую конфигурацию здесь использовать нельзя.
После отката состояние объекта в памяти не доказывает наличие строки в базе: проверяем по ссылке.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.