ЗадачаМенеджер.<Имя задачи>.ПолучитьМакет

Методы · GetTemplate

Получает макет задачи.

Синтаксис

ПолучитьМакет(<Макет>)
Полное описание, параметры и ограничения

ЗадачаМенеджер.<Имя задачи>.ПолучитьМакет (TaskManager.<Task name>.GetTemplate)

ЗадачаМенеджер.<Имя задачи> (TaskManager.<Task name>)

ПолучитьМакет (GetTemplate)

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

Синтаксис:
ПолучитьМакет(<Макет>)
Параметры:

<Макет> (обязательный)
Тип: Строка, ОбъектМетаданных: Макет.
Имя макета, как оно задано в конфигураторе, или объект описания метаданного требуемого макета.
Возвращаемое значение:
Тип: ТабличныйДокумент, ТекстовыйДокумент; другой объект, который может быть макетом.

Описание:

Получает макет задачи.

Доступность:

Сервер, толстый клиент, внешнее соединение.

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

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

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

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

Подготовить несвязанные черновики и показать настоящую копию своей карты

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

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

Полный модуль обычной формы ЗапускМодели85 в толстом клиенте Windows, режим ОбычноеПриложение, собственный стенд УчебнаяМодельМаршрута85.

Подготовка

  1. Новая пустая конфигурация УчебнаяМодельМаршрута85 на платформе8.5.1.1343. Рабочие УТ/КА/УНФ/БП, существующие задачи и сторонние модули не используются.

  2. Основной режим запуска конфигурации — Обычное приложение; толстый клиент Windows в ОбычноеПриложение. Основной код находится в обычной форме, без клиент-серверных директив.

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

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

  5. Модуль процесса, задачи и точки маршрута пустые. Не переносите рабочие события; в этом уроке новые экземпляры только готовятся в памяти.

  6. В каждом объекте создайте макет Паспорт85 вида Текстовый документ. У задачи единственная строка ПаспортЗадачи85, у процесса ПаспортПроцесса85; одинаковое имя макета не означает общий документ.

  7. Обработки → ЗапускМодели85 → обычная форма Форма. Вставьте весь основной код целиком; это не обработчик управляемой команды и не общий серверный модуль.

  8. Реквизиты формы: ПодтверждаюПустойСтенд85 типа Булево исходно Ложь и Итог85 типа Строка неограниченной длины только для просмотра. Реквизит Карта в форме не создаётся.

  9. Обычная кнопка ПоказатьСвоюМодель85: Нажатие=ПоказатьСвоюМодель85. Параметр обработчика Кнопка соответствует обычной форме.

  10. Нажмите F7 и обновите только свой стенд. runtimeVerifiedScenarios=0: 1С, получение схемы, показ окна, ссылки и черновики здесь реально не запускались.

  11. Подтвердите свой стенд и вручную выполните кнопку. Номера черновикам не назначаются записью, задачи и процессы базы не создаются.

  12. Окно схемы показывает копию карты менеджера, не карту движения конкретного процесса. Просмотрите Старт/Опыт85/Финиш и закройте окно, не используя сохранение в файл.

  13. Окно Показать позволяет редактировать копию графической схемы; любое такое редактирование не обновляет метаданные конфигурации и не продвигает процесс. ИмяФайла не передаётся, учебная задача не предполагает сохранение.

  14. ВедущаяЗадача нового процесса оставляется пустой, потому что этот черновик не является вложенным процессом. БизнесПроцесс и ТочкаМаршрута нового задания также задаются типизированными пустыми значениями.

  15. Для повторного опыта создаются новые объекты в памяти. Урок не содержит транзакций, сети, почты, печати, архива или операций записи/удаления базы.

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

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

  1. Проверяется свой стенд, согласие, версия и обычный режим. Три менеджерских фабрики возвращают настоящие пустые значения разных ссылочных типов, не Неопределено и не UUID.

  2. ТипЗнч и Пустая подтверждают точный тип и отсутствие идентичности. Новая задача и процесс создаются только настоящими менеджерами объектов.

  3. Пустая ссылка процесса задаёт отсутствие БизнесПроцесс у черновика задачи; пустая ссылка точки — отсутствие ТочкаМаршрута. Пустая ссылка задачи задаёт отсутствие ведущей задачи нового процесса.

  4. Менеджеры ПолучитьМакет читают собственный Паспорт85 каждый из своего метаданного объекта. Тип результата проверяется до ПолучитьТекст; разные заголовки проверяют, что не перепутан владелец макета.

  5. ПолучитьКартуМаршрута возвращает реальную ГрафическаяСхема — копию метаданной карты. Коллекция элементов только читается, её количество не выдаётся за точное число точек или запущенных задач.

  6. Перед показом проверяется, что черновики всё ещё новые и не выполнены/стартованы. Флаги не присваиваются для имитации исполнения.

  7. Показать открывает окно копии с диагностическим заголовком. В итог включаются фактически прочитанные паспорта и число элементов, а не просто сообщение о якобы выполненном процессе.

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

  1. Три пустые ссылки имеют соответственно типы задачи, процесса и точки именно своего вида; Пустая=Истина у каждой.

  2. Новые объекты содержат ожидаемые пустые связи: задача вне процесса/точки, процесс без ведущей задачи. Это не ссылка на существующую запись.

  3. Оба реальные текстовые макета содержат разные собственные заголовки; типы проверены до текстового метода.

  4. Получена реальная копия карты с собственными точками; число элементов не меньше3, в окне видна последовательная схема.

  5. Объекты остались новыми и не запущенными. Нет Записать, Старт, выполнения задачи или изменения метаданных.

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

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

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

  1. ПустаяСсылка — значение конкретного ссылочного типа. Она не равна отсутствующему значению Неопределено и не является произвольным новым UUID.

  2. ПустаяСсылкаНаТочкуМаршрута создаёт пустое значение ссылки точки, а не точку Старт. Для реального запуска нужна настоящая точка карты; здесь запуска вообще нет.

  3. ВедущаяЗадача используется при вложенных процессах и может влиять на продвижение родительского маршрута. Не подставляйте туда рабочую задачу вместо показанной типизированной пустоты.

  4. ПолучитьМакет у менеджера работает с метаданным макетом, а не с конкретной записанной задачей. Тип результата зависит от выбранного вида макета; ТабличныйДокумент здесь не предполагается.

  5. ПолучитьКартуМаршрута возвращает копию карты. Это не способ редактировать метаданные и не отчёт о прохождении точек реальным экземпляром процесса.

  6. Количество элементов графической схемы может включать связи и иные графические элементы. Нельзя требовать равенство3 и называть это числом задач; проверено лишь наличие достаточной структуры собственной карты.

  7. Показать открывает окно редактирования графической схемы, не readonly-изображение. В этом опыте не сохраняйте схему в файл и не считайте правки копии изменением самой конфигурации.

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

  9. Показ схемы разрешён в клиентских контекстах; не переносите весь обработчик в серверный модуль и не вызывайте Показать на сервере.

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

  11. Это подготовка модели, не запуск workflow. Новые экземпляры, пустые поля, окно копии и напечатанный паспорт не доказывают, что задача выполнена или процесс завершён.

  12. Окно копии может остаться открытым до ручного закрытия; код не обещает универсальную очистку GUI после аварии. Реальный показ здесь не выполнялся.

  13. Все проверки в этом сеансе статические, runtimeVerifiedScenarios=0. Файлы, новые резервные копии, архивы и рабочие базы не затрагивались.

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

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

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

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

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