Настройка действий

 

Опубликовано: Ноябрь 2016

Применимо к: Dynamics CRM 2015

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

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

  • С какой целью выполняются эти действия?

  • При каких условиях должны выполняться действия?

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

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

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

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

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

Содержание

Создание действия

Редактирование действия

Создание действия

Важно!

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

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

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

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

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

  • Тип
    Можно использовать это свойство, чтобы выбрать, строить ли новое действие с нуля или воспользоваться существующим шаблоном.

Редактирование действия

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

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

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

Важно!

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

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

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

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

  • Включить откат
    Как правило, процессы, поддерживающие транзакции, будут отменять (или откатывать) всю операцию, если какая-либо их часть завершится сбоем. В этом правиле несколько исключений. Некоторые действия, выполняемые разработчиками в коде и инициируемые этим действием, могут не поддерживать транзакции. Например, если код выполняет действия в других системах, за пределами области транзакции. Невозможно выполнить их откат выполнением действия в 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), 2016. Все права защищены. Авторские права