ЗадачаСсылка.<Имя задачи>.По умолчанию

Конструкторы

Создает новый объект на основе переданных параметров. Такая форма записи будет вызывать ошибку при проверке модулей в конфигураторе, так как при проверке модулей в конфигураторе не определены типы прикладных объектов. Также может быть создан с использованием функциональной формы оператора Новый. Например, Задача = Новый(Тип("ЗадачаСсылка.ВыписатьСчет"));

Синтаксис

Новый ЗадачаСсылка.<Имя задачи>(<УникальныйИдентификатор>)
Полное описание, параметры и ограничения

ЗадачаСсылка.<Имя задачи>.По умолчанию

ЗадачаСсылка.<Имя задачи> (TaskRef.<Task name>)

По умолчанию

Доступен, начиная с версии 8.2.

Синтаксис:
Новый ЗадачаСсылка.<Имя задачи>(<УникальныйИдентификатор>)
Параметры:

<УникальныйИдентификатор> (необязательный)
Тип: Массив.
Уникальный идентификатор ссылки.
Если идентификатор не указан, создается пустая ссылка.
Описание:

Создает новый объект на основе переданных параметров.
Такая форма записи будет вызывать ошибку при проверке модулей в конфигураторе, так как при проверке модулей в конфигураторе не определены типы прикладных объектов.
Также может быть создан с использованием функциональной формы оператора Новый.
Например, Задача = Новый(Тип("ЗадачаСсылка.ВыписатьСчет"));

Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Создать пустые ссылки функциональными конструкторами и задать отсутствие связей

Документированное Новый(Тип(...)) без идентификатора: точные собственные типы, отличие от Неопределено, сравнение с менеджерами и реальные новые черновики только в памяти.

Где и как запускать

Полный серверный общий модуль УчебныйЦикл85, собственный стенд УчебныеПустыеСсылки85; отдельный управляемый модуль клиента.

Подготовка

  1. Новая пустая конфигурация УчебныеПустыеСсылки85 на платформе8.5.1.1343, управляемое приложение и толстый клиент Windows. Рабочие конфигурации и неизвестные чужие виды объектов не используются.

  2. Задачи → УчебнаяЗадача85: номер Строка9 с автонумерацией, Наименование100. Бизнес-процессы → УчебныйПроцесс85: номер Строка9, автонумерация, Задача=УчебнаяЗадача85.

  3. Карта собственного процесса: Старт → одиночное действие Опыт85 → Финиш без адресации, вложенных/групповых точек и обработчиков. Этот урок не запускает маршрут.

  4. Модули задачи, процесса, менеджеров и точки пустые. Запись, ПриКопировании, обработчики создания формы, обмен, история и внешние действия не нужны.

  5. Общие → Общие модули → УчебныйЦикл85: Сервер и ВызовСервера Истина, Глобальный/Привилегированный Ложь; остальные флаги и повторное использование выключены. Вставьте основной модуль полностью.

  6. Обработки → Запуск85 → управляемая форма Форма: ПодтверждаюПустойСтенд85 и Занято85 Булево исходно Ложь; Итог85 Строка неограниченной длины только для просмотра.

  7. Вставьте отдельный полный модуль формы из дополнительного блока; команда ВыполнитьПример85 назначена кнопке, Действие=ВыполнитьСвойЦикл85. Клиентская процедура ВыполнитьСвойЦикл85 передаёт согласие серверному УчебныйЦикл85.ВыполнитьПример85.

  8. F7 и обновление только своего стенда. runtimeVerifiedScenarios=0: 1С, функциональные конструкторы, назначение связей и черновики здесь реально не запускались.

  9. Справка обоих конструкторов прямо предупреждает, что прямой синтаксис Новый ЗадачаСсылка.<Имя> или Новый БизнесПроцессСсылка.<Имя> вызывает ошибку проверки модулей. Код использует документированную функциональную форму.

  10. ТипЗадачи и ТипПроцесса получают именно типы собственных ссылок, не объектов/менеджеров. Конструктор вызывается без идентификатора; второй массив параметров функциональному Новый не передаётся.

  11. После согласия будущий ручной опыт получает пустые значения, проверяет их тип/Пустая, сравнивает с менеджерскими пустыми ссылками и назначает реальным новым черновикам.

  12. Дополнительных реквизитов базы и пользовательского UUID нет. Создание значений ссылок не пишет запись, новые черновики тоже не записываются.

  13. Это отдельный самостоятельный урок: результаты предыдущего урока с откатом не используются. Нет транзакции, DB-записи/удаления, сети, файлов, архива или резервной копии.

Функция ВыполнитьПример85(Согласие) Экспорт
    Если Не Согласие Тогда
        ВызватьИсключение "Только собственный новый стенд УчебныеПустыеСсылки85 с согласием";
    КонецЕсли;
    ТипЗадачи = Тип("ЗадачаСсылка.УчебнаяЗадача85");
    ТипПроцесса = Тип("БизнесПроцессСсылка.УчебныйПроцесс85");
    ПустаяЗадача = Новый(Тип("ЗадачаСсылка.УчебнаяЗадача85"));
    ПустойПроцесс = Новый(Тип("БизнесПроцессСсылка.УчебныйПроцесс85"));
    Если ТипЗнч(ПустаяЗадача) <> ТипЗадачи Или ТипЗнч(ПустойПроцесс) <> ТипПроцесса Тогда
        ВызватьИсключение "Функциональные конструкторы должны вернуть точные собственные ссылочные типы";
    КонецЕсли;
    Если Не ПустаяЗадача.Пустая() Или Не ПустойПроцесс.Пустая() Тогда
        ВызватьИсключение "Без идентификатора конструкторы должны создавать пустые ссылки";
    КонецЕсли;
    Если ПустаяЗадача = Неопределено Или ПустойПроцесс = Неопределено Тогда
        ВызватьИсключение "Типизированная пустая ссылка не равна Неопределено";
    КонецЕсли;
    Если ПустаяЗадача <> Задачи.УчебнаяЗадача85.ПустаяСсылка()
        Или ПустойПроцесс <> БизнесПроцессы.УчебныйПроцесс85.ПустаяСсылка() Тогда
        ВызватьИсключение "Конструкторы не совпали с собственными менеджерскими пустыми ссылками";
    КонецЕсли;
    Задача = Задачи.УчебнаяЗадача85.СоздатьЗадачу();
    Задача.Дата = ТекущаяДата();
    Задача.Наименование = "Отдельная задача только в памяти";
    Задача.БизнесПроцесс = ПустойПроцесс;
    Задача.ТочкаМаршрута = БизнесПроцессы.УчебныйПроцесс85.ПустаяСсылкаНаТочкуМаршрута();
    Процесс = БизнесПроцессы.УчебныйПроцесс85.СоздатьБизнесПроцесс();
    Процесс.Дата = ТекущаяДата();
    Процесс.ВедущаяЗадача = ПустаяЗадача;
    Если Задача.БизнесПроцесс <> ПустойПроцесс Или Процесс.ВедущаяЗадача <> ПустаяЗадача Тогда
        ВызватьИсключение "Собственные типизированные пустые значения не назначились реальным черновикам";
    КонецЕсли;
    Если Не Задача.ТочкаМаршрута.Пустая() Тогда
        ВызватьИсключение "Отдельный черновик задачи не должен относиться к точке маршрута";
    КонецЕсли;
    Если Не Задача.ЭтоНовый() Или Не Процесс.ЭтоНовый()
        Или Не Задача.Ссылка.Пустая() Или Не Процесс.Ссылка.Пустая() Тогда
        ВызватьИсключение "Черновики должны оставаться новыми незаписанными объектами";
    КонецЕсли;
    Если Задача.Выполнена Или Процесс.Стартован Или Процесс.Завершен Тогда
        ВызватьИсключение "Создание пустых ссылок не должно имитировать исполнение маршрута";
    КонецЕсли;
    Возврат "Два функциональных конструктора создали реальные типизированные пустые ссылки, не Неопределено. Они назначены своим новым черновикам как отсутствие связей. Объекты остались незаписанными и неисполненными.";
КонецФункции
Управляемый запуск функциональных конструкторов

УчебныеПустыеСсылки85 → Обработки → Запуск85 → Формы → Форма → Модуль

Полный модуль своей управляемой формы: согласие, занятость и серверный вызов УчебныйЦикл85.ВыполнитьПример85.

&НаКлиенте
Процедура ВыполнитьСвойЦикл85(Команда)
    Если Не ПодтверждаюПустойСтенд85 Или Занято85 Тогда
        ВызватьИсключение "Нужно собственное подтверждение и отсутствие другого опыта";
    КонецЕсли;
    Занято85 = Истина;
    Попытка
        Итог85 = УчебныйЦикл85.ВыполнитьПример85(ПодтверждаюПустойСтенд85);
    Исключение
        Занято85 = Ложь;
        Итог85 = ОписаниеОшибки();
        ВызватьИсключение;
    КонецПопытки;
    Занято85 = Ложь;
КонецПроцедуры

Разбор по шагам

  1. Проверяются собственная конфигурация, согласие. Два значения Тип берутся по именам реально подготовленных собственных метаданных.

  2. Новый(Тип("ЗадачаСсылка.УчебнаяЗадача85")) и Новый(Тип("БизнесПроцессСсылка.УчебныйПроцесс85")) вызывают конструкторы ссылок без идентификатора. Это создание ссылочных значений, не вызов СоздатьЗадачу/СоздатьБизнесПроцесс.

  3. ТипЗнч подтверждает разные точные собственные типы. Пустая подтверждает отсутствие идентичности записи; сравнение с Неопределено объясняет другое значение/тип.

  4. Пустые значения сопоставляются с ПустаяСсылка своих менеджеров. Это контроль результата настоящих конструкторов, а не замена их менеджерским вызовом.

  5. Настоящие менеджеры создают новые редактируемые задачу и процесс только в памяти. Пустой процесс назначается БизнесПроцесс задачи, пустая задача — ВедущаяЗадача процесса.

  6. Отдельная задача получает пустую собственную ссылку точки маршрута; отсутствие связи проверяется. Это не назначение точки Старт и не запуск workflow.

  7. В конце подтверждается ЭтоНовый, пустая собственная идентичность черновиков и исходные флаги. Клиент получает только текст проверки, никакие объекты не сохраняются.

Как проверить результат

  1. Функциональные конструкторы реально используются в полном основном коде; оба получают ровно значение Тип своего ссылочного вида.

  2. Результаты имеют точные разные ссылочные типы, Пустая=Истина, не равны Неопределено.

  3. Конструкторские пустые значения равны пустым ссылкам собственных менеджеров.

  4. Реальные новые черновики содержат ожидаемые пустые связи; задача вне маршрута, процесс без ведущей задачи.

  5. ЭтоНовый=Истина и собственные ссылки черновиков пустые; нет записи, выполнения задачи или старта процесса.

Ожидаемый результат

При будущем ручном запуске два документированных функциональных конструктора дают типизированные пустые значения; новые черновики используют их как отсутствие связей и остаются в памяти.

На что обратить внимание

  1. Новый(Тип(...)) — функциональная форма оператора, первый аргумент здесь Тип. Это не Новый Структура и не строковое имя метаданного объекта вместо Тип.

  2. Прямой синтаксис прикладной ссылки указан в справке с предупреждением о проверке модулей. Для копируемого учебного кода используется документированная функциональная форма.

  3. Тип ЗадачаСсылка отличается от ЗадачаОбъект; тип БизнесПроцессСсылка отличается от БизнесПроцессОбъект. Конструктор ссылки не создаёт редактируемый объект базы.

  4. Неопределено — отсутствие значения, пустая ссылка — значение конкретного ссылочного типа без идентичности. Их нельзя выдавать за одно и то же.

  5. Конструктор без идентификатора создаёт пустую ссылку. Пользовательский UUID не передаётся, существование записи не угадывается и не утверждается.

  6. В установленной русской справке задачи тип необязательного параметра идентификатора указан как Массив, у процесса как УникальныйИдентификатор. Этот урок намеренно не использует неоднозначный параметр и не обещает поддерживаемую форму с ним.

  7. ПустаяСсылка менеджера нужна здесь для сравнения значений, а не чтобы скрыть отсутствующий конструктор. Оба функциональных Новый выполнены в основном коде.

  8. Пустой БизнесПроцесс у задачи означает отсутствие породившего процесса; пустая ВедущаяЗадача у процесса означает отсутствие ведущей задачи, не реальную вложенность.

  9. Пустая точка маршрута не является точкой Старт. Создание черновика или пустой ссылки не выполняет задачу и не запускает/завершает процесс.

  10. ЭтоНовый относится к редактируемому объекту, не к пустой ссылке. Не вызывайте объектные методы записи/выполнения на ссылочном значении.

  11. Сравнение типизированных значений и назначение в объект памяти не сохраняют базу. Код не вызывает Записать, удаление, транзакцию или произвольный обработчик.

  12. Все проверки статические, runtimeVerifiedScenarios=0. Реальный запуск конструктора/1С не подтверждён; новых резервных копий, архивов или внешних действий нет.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.