Получает один из макетов, определенных для бизнес-процесса в конфигурации.
Синтаксис
ПолучитьМакет(<Макет>)Полное описание, параметры и ограничения
БизнесПроцессМенеджер.<Имя бизнес-процесса>.ПолучитьМакет (BusinessProcessManager.<Business process name>.GetTemplate)
БизнесПроцессМенеджер.<Имя бизнес-процесса> (BusinessProcessManager.<Business process name>)
ПолучитьМакет (GetTemplate)
Доступен, начиная с версии 8.0.
Синтаксис:
ПолучитьМакет(<Макет>)
Параметры:
<Макет> (обязательный)
Тип: Строка, ОбъектМетаданных: Макет.
Имя макета, как оно задано в конфигураторе, или объект описания метаданного требуемого макета.
Возвращаемое значение:
Тип: ТабличныйДокумент, ТекстовыйДокумент; другой объект, который может быть макетом.
Описание:
Получает один из макетов, определенных для бизнес-процесса в конфигурации.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Подготовить несвязанные черновики и показать настоящую копию своей карты
Реальные пустые ссылки задают отсутствие связей новых задачи/процесса, менеджеры читают два собственных текстовых макета и возвращают копию настоящей карты; никакого запуска маршрута нет.
Где и как запускать
Полный модуль обычной формы ЗапускМодели85 в толстом клиенте Windows, режим ОбычноеПриложение, собственный стенд УчебнаяМодельМаршрута85.
Подготовка
Новая пустая конфигурация УчебнаяМодельМаршрута85 на платформе8.5.1.1343. Рабочие УТ/КА/УНФ/БП, существующие задачи и сторонние модули не используются.
Основной режим запуска конфигурации — Обычное приложение; толстый клиент Windows в ОбычноеПриложение. Основной код находится в обычной форме, без клиент-серверных директив.
Задачи → УчебнаяЗадача85: строковый номер9 с автонумерацией, Наименование100. Бизнес-процессы → УчебныйПроцесс85: строковый номер9 с автонумерацией, Задача=УчебнаяЗадача85.
Карта собственного процесса: одна точка Старт → одиночное действие Опыт85 → Финиш. Свяжите стрелками; нет адресации, вложенных/групповых точек или обработчиков.
Модуль процесса, задачи и точки маршрута пустые. Не переносите рабочие события; в этом уроке новые экземпляры только готовятся в памяти.
В каждом объекте создайте макет Паспорт85 вида Текстовый документ. У задачи единственная строка ПаспортЗадачи85, у процесса ПаспортПроцесса85; одинаковое имя макета не означает общий документ.
Обработки → ЗапускМодели85 → обычная форма Форма. Вставьте весь основной код целиком; это не обработчик управляемой команды и не общий серверный модуль.
Реквизиты формы: ПодтверждаюПустойСтенд85 типа Булево исходно Ложь и Итог85 типа Строка неограниченной длины только для просмотра. Реквизит Карта в форме не создаётся.
Обычная кнопка ПоказатьСвоюМодель85: Нажатие=ПоказатьСвоюМодель85. Параметр обработчика Кнопка соответствует обычной форме.
Нажмите F7 и обновите только свой стенд. runtimeVerifiedScenarios=0: 1С, получение схемы, показ окна, ссылки и черновики здесь реально не запускались.
Подтвердите свой стенд и вручную выполните кнопку. Номера черновикам не назначаются записью, задачи и процессы базы не создаются.
Окно схемы показывает копию карты менеджера, не карту движения конкретного процесса. Просмотрите Старт/Опыт85/Финиш и закройте окно, не используя сохранение в файл.
Окно Показать позволяет редактировать копию графической схемы; любое такое редактирование не обновляет метаданные конфигурации и не продвигает процесс. ИмяФайла не передаётся, учебная задача не предполагает сохранение.
ВедущаяЗадача нового процесса оставляется пустой, потому что этот черновик не является вложенным процессом. БизнесПроцесс и ТочкаМаршрута нового задания также задаются типизированными пустыми значениями.
Для повторного опыта создаются новые объекты в памяти. Урок не содержит транзакций, сети, почты, печати, архива или операций записи/удаления базы.
Процедура ПоказатьСвоюМодель85(Кнопка)
Если Не ПодтверждаюПустойСтенд85 Тогда
ВызватьИсключение "Только собственный новый стенд УчебнаяМодельМаршрута85 с согласием";
КонецЕсли;
Если ТекущийРежимЗапуска() <> РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение Тогда
ВызватьИсключение "Нужна обычная форма в обычном толстом клиенте";
КонецЕсли;
ПустаяЗадача = Задачи.УчебнаяЗадача85.ПустаяСсылка();
ПустойПроцесс = БизнесПроцессы.УчебныйПроцесс85.ПустаяСсылка();
ПустаяТочка = БизнесПроцессы.УчебныйПроцесс85.ПустаяСсылкаНаТочкуМаршрута();
Если ТипЗнч(ПустаяЗадача) <> Тип("ЗадачаСсылка.УчебнаяЗадача85")
Или ТипЗнч(ПустойПроцесс) <> Тип("БизнесПроцессСсылка.УчебныйПроцесс85")
Или ТипЗнч(ПустаяТочка) <> Тип("ТочкаМаршрутаБизнесПроцессаСсылка.УчебныйПроцесс85") Тогда
ВызватьИсключение "Получены не собственные типизированные пустые ссылки";
КонецЕсли;
Если Не ПустаяЗадача.Пустая() Или Не ПустойПроцесс.Пустая() Или Не ПустаяТочка.Пустая() Тогда
ВызватьИсключение "Типизированные значения должны быть действительно пустыми";
КонецЕсли;
Задача = Задачи.УчебнаяЗадача85.СоздатьЗадачу();
Задача.Дата = ТекущаяДата();
Задача.Наименование = "Черновик вне маршрута";
Задача.БизнесПроцесс = ПустойПроцесс;
Задача.ТочкаМаршрута = ПустаяТочка;
Процесс = БизнесПроцессы.УчебныйПроцесс85.СоздатьБизнесПроцесс();
Процесс.Дата = ТекущаяДата();
Процесс.ВедущаяЗадача = ПустаяЗадача;
Если Задача.БизнесПроцесс <> ПустойПроцесс Или Задача.ТочкаМаршрута <> ПустаяТочка
Или Процесс.ВедущаяЗадача <> ПустаяЗадача Тогда
ВызватьИсключение "Отсутствие связей черновиков не совпало с типизированными значениями";
КонецЕсли;
МакетЗадачи = Задачи.УчебнаяЗадача85.ПолучитьМакет("Паспорт85");
МакетПроцесса = БизнесПроцессы.УчебныйПроцесс85.ПолучитьМакет("Паспорт85");
Если ТипЗнч(МакетЗадачи) <> Тип("ТекстовыйДокумент") Или ТипЗнч(МакетПроцесса) <> Тип("ТекстовыйДокумент") Тогда
ВызватьИсключение "Оба собственных макета должны быть текстовыми документами";
КонецЕсли;
ПаспортЗадачи = МакетЗадачи.ПолучитьТекст();
ПаспортПроцесса = МакетПроцесса.ПолучитьТекст();
Если СтрНайти(ПаспортЗадачи, "ПаспортЗадачи85") = 0 Или СтрНайти(ПаспортПроцесса, "ПаспортПроцесса85") = 0 Тогда
ВызватьИсключение "Макеты не относятся к ожидаемым собственным объектам";
КонецЕсли;
Карта = БизнесПроцессы.УчебныйПроцесс85.ПолучитьКартуМаршрута();
Если ТипЗнч(Карта) <> Тип("ГрафическаяСхема") Тогда
ВызватьИсключение "Нужна реальная копия собственной карты маршрута";
КонецЕсли;
КоличествоЭлементов = Карта.ЭлементыГрафическойСхемы.Количество();
Если КоличествоЭлементов < 3 Тогда
ВызватьИсключение "В копии карты должны присутствовать собственные Старт, Опыт85 и Финиш";
КонецЕсли;
Если Не Задача.ЭтоНовый() Или Не Процесс.ЭтоНовый()
Или Задача.Выполнена Или Процесс.Стартован Или Процесс.Завершен Тогда
ВызватьИсключение "Подготовка модели не должна записывать или запускать черновики";
КонецЕсли;
Карта.Показать("Копия собственной карты, не исполнение процесса");
Итог85 = ПаспортЗадачи + " " + ПаспортПроцесса
+ "; элементов копии: " + Строка(КоличествоЭлементов)
+ ". Связи черновиков пустые и типизированные. Объекты не записаны, маршрут не запускался.";
КонецПроцедурыРазбор по шагам
Проверяется свой стенд, согласие, версия и обычный режим. Три менеджерских фабрики возвращают настоящие пустые значения разных ссылочных типов, не Неопределено и не UUID.
ТипЗнч и Пустая подтверждают точный тип и отсутствие идентичности. Новая задача и процесс создаются только настоящими менеджерами объектов.
Пустая ссылка процесса задаёт отсутствие БизнесПроцесс у черновика задачи; пустая ссылка точки — отсутствие ТочкаМаршрута. Пустая ссылка задачи задаёт отсутствие ведущей задачи нового процесса.
Менеджеры ПолучитьМакет читают собственный Паспорт85 каждый из своего метаданного объекта. Тип результата проверяется до ПолучитьТекст; разные заголовки проверяют, что не перепутан владелец макета.
ПолучитьКартуМаршрута возвращает реальную ГрафическаяСхема — копию метаданной карты. Коллекция элементов только читается, её количество не выдаётся за точное число точек или запущенных задач.
Перед показом проверяется, что черновики всё ещё новые и не выполнены/стартованы. Флаги не присваиваются для имитации исполнения.
Показать открывает окно копии с диагностическим заголовком. В итог включаются фактически прочитанные паспорта и число элементов, а не просто сообщение о якобы выполненном процессе.
Как проверить результат
Три пустые ссылки имеют соответственно типы задачи, процесса и точки именно своего вида; Пустая=Истина у каждой.
Новые объекты содержат ожидаемые пустые связи: задача вне процесса/точки, процесс без ведущей задачи. Это не ссылка на существующую запись.
Оба реальные текстовые макета содержат разные собственные заголовки; типы проверены до текстового метода.
Получена реальная копия карты с собственными точками; число элементов не меньше3, в окне видна последовательная схема.
Объекты остались новыми и не запущенными. Нет Записать, Старт, выполнения задачи или изменения метаданных.
Ожидаемый результат
При будущем собственном ручном запуске подтверждены типизированные пустые связи, собственные макеты и реальная копия карты; черновики не записаны и процесс не запущен.
На что обратить внимание
ПустаяСсылка — значение конкретного ссылочного типа. Она не равна отсутствующему значению Неопределено и не является произвольным новым UUID.
ПустаяСсылкаНаТочкуМаршрута создаёт пустое значение ссылки точки, а не точку Старт. Для реального запуска нужна настоящая точка карты; здесь запуска вообще нет.
ВедущаяЗадача используется при вложенных процессах и может влиять на продвижение родительского маршрута. Не подставляйте туда рабочую задачу вместо показанной типизированной пустоты.
ПолучитьМакет у менеджера работает с метаданным макетом, а не с конкретной записанной задачей. Тип результата зависит от выбранного вида макета; ТабличныйДокумент здесь не предполагается.
ПолучитьКартуМаршрута возвращает копию карты. Это не способ редактировать метаданные и не отчёт о прохождении точек реальным экземпляром процесса.
Количество элементов графической схемы может включать связи и иные графические элементы. Нельзя требовать равенство3 и называть это числом задач; проверено лишь наличие достаточной структуры собственной карты.
Показать открывает окно редактирования графической схемы, не readonly-изображение. В этом опыте не сохраняйте схему в файл и не считайте правки копии изменением самой конфигурации.
Показать вызывает исключение, если схема является реквизитом управляемой формы. Здесь схема локальная переменная обычной формы, а не управляемый реквизит.
Показ схемы разрешён в клиентских контекстах; не переносите весь обработчик в серверный модуль и не вызывайте Показать на сервере.
Пустые ссылки задают отсутствие связей у новых черновиков, но не разрывают существующие ссылки базы. Код не читает/не меняет произвольный объект пользователя.
Это подготовка модели, не запуск workflow. Новые экземпляры, пустые поля, окно копии и напечатанный паспорт не доказывают, что задача выполнена или процесс завершён.
Окно копии может остаться открытым до ручного закрытия; код не обещает универсальную очистку GUI после аварии. Реальный показ здесь не выполнялся.
Все проверки в этом сеансе статические, runtimeVerifiedScenarios=0. Файлы, новые резервные копии, архивы и рабочие базы не затрагивались.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.