Создание действия пользовательского процесса

Используйте действия пользовательского процесса, если хотите автоматизировать ряд команд в системе. Действия пользовательского процесса расширяют доступную для разработчиков терминологию для выражения бизнес-процессов. В действии пользовательского процесса используются предоставляемых системой основные команды, такие как "Создать", "Обновить", "Удалить" и "Назначить", для создания более выразительных команд, таких как "Утвердить", "Эскалировать", "Направить" или "Запланировать". Если определение бизнес-процесса меняется, пользователь, не являющийся разработчиком, может изменить действие пользовательского процесса, чтобы не менять код.

Примечание

Если вы собираетесь написать подключаемый модуль для реализации вашей логики для действия пользовательского процесса вместо использования конструктора рабочего процесса, вам следует использовать вместо этого пользовательский API. Дополнительные сведения: Сравнение действия пользовательского процесса и пользовательского API

Создание действия пользовательского процесса

Важно!

При создании действия пользовательского процесса, которое будет включено как часть решения, которое будет распределено, создайте его в контексте решения. Перейдите к Параметры > Решения и найдите неуправляемое решение, частью которого будет это действие. Затем в строке меню выберите Создать > Процесс. Это обеспечит согласованность префикса настройки, связанного с именем действия, с другими компонентами в решении. После создания действия изменить префикс невозможно.

Как и бизнес-процессы, действия пользовательского процесса обладают следующими свойствами в диалоговом окне Создание процесса:

  • Имя процесса

    После ввода имени для процесса для него будет создано уникальное имя путем удаления из имени пробелом или специальных символов.

  • Категория

    Это свойство устанавливает, что этот процесс — действие. Изменить его после сохранения процесса невозможно.

  • Таблица

    С процессами в виде действий можно выбрать таблицу для предоставления контекста бизнес-процесса, как и других типов процессов, однако имеется также возможность выбрать значение Нет (глобальный). Используйте этот вариант, если действие не требует контекста конкретной таблицы. Изменить его после сохранения процесса невозможно.

  • Тип

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

В отличие от бизнес-процессов, задавать следующие параметры не требуется.

  • Условия запуска. действия начинаются, когда код вызывает созданное для них сообщение.

  • Область. Действия всегда выполняются в контексте вызывающего пользователя.

  • Запуск в фоновом режиме. Действия всегда являются бизнес-процессами в реальном времени.

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

Примечание

Можно включить действие пользовательского процесса из рабочего процесса без написания программного кода. Дополнительные сведения см. в статье Вызов действий пользовательского процесса из рабочего процесса

Изменение действия пользовательского процесса

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

Действие пользовательского процесса, созданное как часть неуправляемого решения или включенное в решение, установленное в организации, можно редактировать. Если решение является управляемым, возможно, отредактировать действие не удастся. Издатель решения имеет возможность изменить управляемые свойства действия, чтобы нельзя было редактировать действие, установленное с управляемым решением.

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

При редактировании действия доступны следующие варианты:

  • Имя процесса

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

  • Уникальное имя

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

    Важно!

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

  • Включить откат

    Как правило, процессы, поддерживающие транзакции, будут отменять (или откатывать) всю операцию, если какая-либо их часть завершится сбоем. В этом правиле несколько исключений. Некоторые действия, выполняемые разработчиками в коде и инициируемые этим действием пользовательского процесса, могут не поддерживать транзакции. Например, если код выполняет действия в других системах, за пределами области транзакции. Невозможно выполнить их откат выполнением действия в приложении. Некоторые сообщения на платформе не поддерживают транзакции. Однако все что вы можете сделать с использованием одного только ИП действия, будет поддерживать транзакции. Все действия, являющиеся частью реального бизнес-процесса, учитываются в транзакции, однако при использовании действий от такого подхода можно отказаться.

    Необходимо посоветовать с разработчиком, который будет использовать это сообщение, чтобы определить, должно ли оно находиться в транзакции или нет. Обычно действие должно быть в транзакции, если действия, выполняемые бизнес-процессом, не имеют смысла за исключением случаев, когда все они выполнены успешно. Классический пример — перемещение средств между двумя банковскими счетами. Если вывести средства с одного счета, необходимо положить их на другой. Если какая-либо операция завершится ошибкой, весь процесс должен завершиться ошибкой.

    Примечание

    Нельзя включить откат, если действие пользовательского процесса вызвано непосредственно из рабочего процесса. Можно включить откат, если действие запущено сообщением веб-служб Power Apps.

  • Активировать как

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

  • Определение аргументов процесса

    В этой области нужно указать любые данные, с которых планируется начать действие, и указать, какие данные будут переданы из выполненного действия. Дополнительные сведения см. в разделе Определение аргументов процесса

  • Добавление этапов и шагов

    Как и другие процессы, необходимо указать, какие действия необходимо выполнить и когда. Дополнительные сведения см. в разделе Добавление этапов, условий и действий

Определение аргументов процесса

Когда разработчики используют сообщения, они могут начать с некоторых данных, которые можно передать в сообщение. Например, чтобы создать строку нового обращения, может иметься значение заголовка обращения, которое передается в качестве входного аргумента.

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

Оба аргумента (входные и выходные) должны иметь имя, тип и некоторые сведения о том, всегда ли требуется этот аргумент. Можно также указать описание.

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

Можно изменить последовательность аргументов путем сортировки или перемещения вверх и вниз, поскольку аргументы идентифицируются по имени, а не порядку. Кроме того, изменение описания не нарушит код, в котором используется сообщение.

Типы аргументов процесса действия

В следующей таблице описываются типы аргументов процесса действия.

Тип Описание
Boolean Значение true или false.
Дата и время Значение, хранящее информацию о дате и времени.
Десятичное число Числовое значение с точностью до десятых. Используется, если точность чрезвычайно важна.
Таблица Строка для указанной таблицы. При выборе таблицы включается раскрывающийся список, в котором можно выбрать тип таблицы.
entityCollection Коллекция строк таблицы.
entityReference Объект, содержащий имя, ИД и тип строки таблицы, который однозначно определяет ее. При выборе entityReference включается раскрывающийся список, в котором можно выбрать тип таблицы.
Float Числовое значение с точностью до десятых. Используется, когда данные попадают из измерения, не являющегося абсолютно точным.
Целое число целое число.
Деньги Значение, сохраняющее данные о сумме денег.
Picklist Значение, представляющее параметр для атрибута OptionSet.
String Текстовое значение.

Примечание

Значения аргумента entityCollection нельзя задать в пользовательском интерфейсе для условий или действий. Они предоставляются для использования разработчиками в пользовательском коде. Дополнительные сведения см. в статье Создание собственных сообщений

Добавление этапов и шагов

Действия пользовательского процесса — это тип процесса, схожий с реальными рабочими процессами. Все шаги, которые можно использовать в реальных бизнес-процессах, можно использовать и в действиях. Сведения о шагах, которые можно использовать в реальных бизнес-процессах и действиях, см. в разделе Этапы и шаги бизнес-процессов.

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

Управляемые свойства

Действия пользовательского процесса имеют два соответствующих управляемых свойства

Изменяемый

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

Допускается ли настраиваемый этап обработки для других издателей

Управляемое свойство Допускается ли настраиваемый этап обработки для других издателей определяет, могут ли сторонние разработчики подключаемых модулей регистрировать шаги подключаемого модуля в сообщении, созданном действием пользовательского процесса. Если установлено значение true, подключаемые модули, зарегистрированные кем-либо в этом сообщении, будут запускаться и могут изменять поведение действия пользовательского процесса. Если установлено значение false, будут выполняться только шаги подключаемых модулей, зарегистрированные в решении из того же издателя решений.

Дальнейшие действия

Вызов действий пользовательского процесса из рабочего процесса

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).