БизнесПроцессыМенеджер.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов

Методы · RoutePointsAllRefsType

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

Синтаксис

ТипВсеСсылкиТочекМаршрутаБизнесПроцессов()
Полное описание, параметры и ограничения

БизнесПроцессыМенеджер.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов (BusinessProcessesManager.RoutePointsAllRefsType)

БизнесПроцессыМенеджер (BusinessProcessesManager)

ТипВсеСсылкиТочекМаршрутаБизнесПроцессов (RoutePointsAllRefsType)

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

Синтаксис:
ТипВсеСсылкиТочекМаршрутаБизнесПроцессов()
Описание:

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

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

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

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

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

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

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

Проверить настоящие менеджеры и различить типы ссылок процессов/точек

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

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

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

Подготовка

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

  2. Задачи → УчебнаяЗадача85: строковый номер9 с автонумерацией, Наименование100. Все действия в картах одиночные, Групповая=Ложь; адресация, обязательные пользовательские реквизиты и групповые задачи не нужны.

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

  4. Главная карта УчебныйПроцесс85: Старт85 → Проверка85(Действие) → Условие85(Условие). Выход Да к Принято85(Действие), выход Нет к Отклонено85(Действие); оба далее к СлияниеУсловия85(Слияние).

  5. После СлияниеУсловия85 → Разделение85(Разделение). Две стрелки к ВетвьА85/ВетвьБ85(Действие); оба к СлияниеВетвей85(Слияние) → Вложенный85(ВложенныйБизнесПроцесс) → Финиш85(Завершение).

  6. У Вложенный85 в настройке вложенного процесса выберите именно УчебныйПодпроцесс85. Его карта: Старт85 → Проверка85(Действие) → Финиш85(Завершение).

  7. Карта УчебныйВыбор85: Старт85 → Выбор85(ВыборВарианта). Создайте два варианта Коротко85 и Полно85; соедините первый с Быстрый85(Действие), второй с Подробный85(Действие); оба к Слияние85 → Финиш85.

  8. Имена точек/вариантов — именно идентификаторы метаданных, не только отображаемые подписи. Настройте направления стрелок и выходы Да/Нет/вариантов в редакторе карты.

  9. НаименованиеЗадачи и Пояснение — фактические строки настройки действия. Можно оставить стандартные значения; код читает их и показывает в паспорте, не предполагает непустой текст или фактически созданную задачу.

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

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

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

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

  14. F7 и обновление только своего стенда. runtimeVerifiedScenarios=0: 1С, доступ к метаданным/ссылкам точек/менеджерам/вариантам здесь реально не выполнялся.

  15. После согласия будущий ручной опыт проверяет реальные собственные типы и статические связи. Не заменяйте точки произвольными структурами, UUID, номерами или неизвестным ИсходныйОбъект.

  16. Нет СоздатьБизнесПроцесс/Записать/Старт/выполнения задачи, транзакции, удаления, файлов, сети, печати, архива или новой резервной копии. Для разных уроков заменяется целиком основной модуль, не склеиваются одноимённые функции.

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

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

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

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

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

  1. Проверяются свой стенд, согласие и версия, три конкретных имени видов подготовлены самим уроком.

  2. Два реальных метода глобального менеджера возвращают описания типов. Тип результата проверяется до СодержитТип.

  3. Менеджер каждого вида получается по точному имени через[]; его реальные метаданные подтверждают принадлежность.

  4. Реальные пустые ссылки процессов/точек дают типы для проверки СодержитТип. Типы не смешиваются между двумя описаниями, Строка исключается.

  5. Для каждого Из БизнесПроцессы возвращает менеджеры; обнаруженные имена сравниваются со своей тройкой без повторов.

  6. Количество3 относится только к подготовленному новому стенду. Никаких записей процессов или задач не создаётся.

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

  1. Именованный доступ и обход возвращают реальные менеджеры своей тройки.

  2. Оба метода дают ОписаниеТипов.

  3. Все собственные типы процессов и точек входят в правильные описания.

  4. Перекрёстные типы и Строка исключены.

  5. В базе не созданы экземпляры процессов/задач.

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

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

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

  1. Ссылка точки — элемент метаданных карты, не запись задачи, не UUID и не строковый идентификатор ветви. Доступ осуществляется через настоящий менеджер и ТочкиМаршрута.

  2. ПолучитьИсходящуюТочку без аргумента допустим для обычного последовательного перехода; Булево нужно для Условие; настоящий ВариантТочкиМаршрутаБизнесПроцесса нужен для ВыборВарианта.

  3. У Разделение несколько исходящих точек: нужен ПолучитьИсходящиеТочки. Он не является универсальным методом любой точки; вид проверяется до вызова.

  4. Варианты доступно только у ВыборВарианта, ВложенныйПроцесс только у вложенной точки, Групповая/Пояснение только у действия. Не читайте эти свойства без подходящего вида.

  5. ВложенныйПроцесс возвращает менеджер вида, не запущенный экземпляр подпроцесса. Метаданные менеджера проверяют настройку, но не доказывают фактическое исполнение.

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

  7. Массив входящих/исходящих точек не гарантирует удобный порядок ветвей. При двух связях проверяется состав и отсутствие повторов, не позиция А/Б.

  8. Варианты.Получить использует индекс с0, как оператор[]. Код сравнивает результаты двух способов, но имена Коротко85/Полно85 не приписываются индексам по догадке.

  9. Номер индекса и строка имени не являются параметром варианта для ПолучитьИсходящуюТочку. Передаётся реальный элемент коллекции собственной точки.

  10. ТипВсеСсылки относится к ссылкам процессов, ТипВсеСсылкиТочекМаршрутаБизнесПроцессов — к ссылкам точек. ОписаниеТипов не является самими объектами базы или списком записей.

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

  12. Чтение перехода Истина/Ложь здесь лишь проверяет стрелку статической карты. Обработчик условия не вычислялся; выбранный путь исполняемого процесса не подтверждён.

  13. Все показанные свойства точек readonly. Исправлять карту нужно в своих метаданных конфигуратора, не присваиваниями Вид/Варианты/ВложенныйПроцесс/Групповая.

  14. Этот стенд показывает структуру, не готовый исполняемый бизнес-процесс. Пустые обработчики/адресация не позволяют объявить работу реального маршрута проверенной.

  15. Все проверки статические, runtimeVerifiedScenarios=0. Реальная1С и GUI/базы здесь не запускались; новые резервные копии и архивы не создавались.

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

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

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

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

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