Настройка действий
Опубликовано: Февраль 2017
Применимо к: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Можно вызывать пользовательские действия из бизнес-процесса или диалога без написания программного кода.Дополнительные сведения:Вызов пользовательского действия из бизнес-процесса или диалога.
Также можно создать действие, чтобы разработчик использовал его в коде, либо изменить ранее определенное действие. Как и в случае с бизнес-процессами, проанализируйте следующее.
Что должно делать это действие?
При каких условиях должно выполняться это действие?
В отличие от бизнес-процессов, задавать следующие параметры не требуется.
Условия запуска. действия начинаются, когда код вызывает созданное для них сообщение.
Область. Действия всегда выполняются в контексте вызывающего пользователя.
Запуск в фоновом режиме. Действия всегда являются бизнес-процессами в реальном времени.
Действия также, в отличие от бизнес-процессов, обладает вводимыми и выводимыми аргументами.Дополнительные сведения:Определение аргументов процесса
Содержание
Создание действия
Редактирование действия
Создание действия
Важно!
При создании действия, которое будет включено как часть решения, которое будет распределено, создайте его в контексте решения. Перейдите к Параметры > Решения и найдите неуправляемое решение, частью которого будет это действие. Затем в строке меню выберите Создать > Процесс. Это обеспечит согласованность префикса настройки, связанного с именем действия, с другими компонентами в решении. После создания действия изменить префикс невозможно.
Как и бизнес-процессы, действия обладают следующими свойствами в диалоговом окне Создание процесса.
Имя процесса
После ввода имени для процесса для него будет создано уникальное имя путем удаления из имени пробелом или специальных символов.Категория
Это свойство устанавливает, что этот процесс — действие. Изменить его после сохранения процесса невозможно.Сущность
С процессами в виде действий можно выбрать сущность для предоставления контекста бизнес-процесса, как и других типов процессов, однако имеется также возможность выбрать значение Нет (глобальный). Используйте этот вариант, если действие не требует контекста конкретной сущности. Изменить его после сохранения процесса невозможно.Тип
Используйте это свойство, чтобы выбрать, строить ли новое действие с нуля или воспользоваться существующим шаблоном.
Редактирование действия
Необходимо деактивировать процессы, прежде чем их можно будет редактировать.
Действие, созданное как часть неуправляемого решения или включенное в решение, установленное в организации, можно редактировать. Если решение является управляемым, возможно, отредактировать действие не удастся. Издатель решения имеет возможность изменить управляемые свойства действия, чтобы нельзя было редактировать действие, установленное с управляемым решением.
При сохранении действия создается уникальное имя на базе имени процесса. Это уникальное имя имеет префикс настройки, который добавляется из издателя решения. Это имя сообщения, которое разработчик будет использовать в коде.
При редактировании действия доступны следующие варианты.
Название процесса
После создания процесса и генерирования уникального имени из имени процесса, можно редактировать имя процесса. Возможно, имеет смысл применить конвенцию наименования, чтобы упростить нахождение конкретных процессов.Уникальное имя
При сохранении действия создается уникальное имя на базе имени процесса. Это уникальное имя имеет префикс настройки, который добавляется из издателя решения. Это имя сообщения, которое разработчик будет использовать в коде. Не изменяйте уникальное имя, если процесс был активирован и код на месте, ожидая вызвать действие с помощью того же имени.Важно!
После активации действия и создания кода для использования уникального имени, уникальное имя не должно меняться без внесения изменений в код, который на него ссылается.
Включить откат
Как правило, процессы, поддерживающие транзакции, будут отменять (или откатывать) всю операцию, если какая-либо их часть завершится сбоем. В этом правиле несколько исключений. Некоторые действия, выполняемые разработчиками в коде и инициируемые этим действием, могут не поддерживать транзакции. Например, если код выполняет действия в других системах, за пределами области транзакции. Невозможно выполнить их откат выполнением действия в Microsoft Dynamics 365. Некоторые сообщения на платформе Dynamics 365 не поддерживают транзакции. Однако все что вы можете сделать с использованием одного только ИП действия, будет поддерживать транзакции. Все действия, являющиеся частью реального бизнес-процесса, учитываются в транзакции, однако при использовании действий от такого подхода можно отказаться.Необходимо посоветовать с разработчиком, который будет использовать это сообщение, чтобы определить, должно ли оно находиться в транзакции или нет. Обычно действие должно быть в транзакции, если действия, выполняемые бизнес-процессом, не имеют смысла за исключением случаев, когда все они выполнены успешно. Классический пример — перемещение средств между двумя банковскими счетами. Если вывести средства с одного счета, необходимо положить их на другой. Если какая-либо операция завершится ошибкой, весь процесс должен завершиться ошибкой.
Примечание
Нельзя включить откат, если настраиваемое действие вызвано непосредственно из бизнес-процесса или диалогового окна. Можно включить откат, если действие запущено сообщением веб-служб Dynamics 365.
Активировать как
Как и все процессы, можно активировать процесс как шаблон и использовать его в качестве усовершенствованной начальной точки для процессов, реализуемых по такой же схеме.Определение аргументов процесса
В этой области нужно указать любые данные, с которых планируется начать действие, и указать, какие данные будут переданы из выполненного действия.Дополнительные сведения:Определение аргументов процессаДобавление стадий, условия и действия
Как и другие процессы, необходимо указать, какие действия необходимо выполнить и когда.Дополнительные сведения:Добавление этапов и шагов
Определение аргументов процесса
Используя сообщение, разработчик может начать с некоторых данных, которые можно передать в сообщение. Например, чтобы создать запись нового обращения, может иметься значение заголовка обращения, которое передается в качестве входного аргумента.
Когда сообщение будет завершено, разработчику может потребоваться передать некоторые данные, которые были изменены или созданы сообщением, другой операции в коде. Эти данные являются выходным аргументом.
Оба аргумента (входные и выходные) должны иметь имя, тип и некоторые сведения о том, всегда ли требуется этот аргумент. Можно также указать описание.
Название сообщения и информация обо всех аргументах процесса представляет "подпись" сообщения. После активации действия и его использования в коде подпись не должна меняться. Если эта подпись изменяется, любой код, использующий это сообщение, завершится сбоем. Единственное исключение — это изменение одного из параметров, чтобы он не требовался всегда.
Можно изменить последовательность аргументов путем сортировки или перемещения вверх и вниз, поскольку аргументы идентифицируются по имени, а не порядку. Кроме того, изменение описания не нарушит код, в котором используется сообщение.
Типы аргументов процесса действия
В следующей таблице описываются типы аргументов процесса действия.
Тип |
Описание |
---|---|
Boolean |
Значение true или false. |
DateTime |
Значение, хранящее информацию о дате и времени. |
Decimal |
Числовое значение с точностью до десятых. Используется, если точность чрезвычайно важна. |
Entity |
Запись Dynamics 365 для определенной сущности. При выборе Entity включается раскрывающееся меню, в котором можно выбрать тип сущности. |
EntityCollection |
Коллекция записей сущностей. |
EntityReference |
Объект, содержащий имя, ИД и тип записи сущности, который однозначно определяет ее. При выборе EntityReference включается раскрывающееся меню, в котором можно выбрать тип сущности. |
Float |
Числовое значение с точностью до десятых. Используется, когда данные попадают из измерения, не являющегося абсолютно точным. |
Integer |
целое число. |
Money |
Значение, сохраняющее данные о сумме денег. |
Picklist |
Значение, представляющее параметр для атрибута OptionSet. |
String |
Текстовое значение. |
Примечание
Значения аргумента EntityCollection нельзя задать в пользовательском интерфейсе для условий или действий. Они предоставляются для использования разработчиками в пользовательском коде.Дополнительные сведения:Создание собственных действий
Добавление этапов и шагов
Действия — это тип процесса, схожий с реальными бизнес-процессами. Все шаги, которые можно использовать в реальных бизнес-процессах, можно использовать и в действиях. Сведения о шагах, которые можно использовать в реальных бизнес-процессах и действиях, см. в разделе Этапы и шаги бизнес-процессов.
В дополнение к шагам, которые можно использовать в реальных бизнес-процессах, действия также имеют шаг Назначить значение, схожий с используемым для задания переменных или входных аргументов в диалогах. В действиях их можно использовать только для задания выходных аргументов. Можно использовать помощника по формам для задания конкретных значений для выходных аргументов или, что более вероятно, значений из записи, относительно которой выполняется действие, записей, связанных с этой записью отношением "много к одному", записей, созданных на более раннем этапе, или значений, являющихся частью самого процесса.
См. также
Действия
Вызов пользовательского действия из бизнес-процесса или диалога
Мониторинг бизнес-процессов реального времени и действий
Создание и изменение процессов
Процедуры бизнес-процесса
Диалоги
Последовательности операций бизнес-процесса
Мониторинг и управление процессами
Создание собственных действий
© Корпорация Майкрософт (Microsoft Corporation), 2017. Все права защищены. Авторские права