Создание бизнес-правил и рекомендаций для применения логики в форме
Применимо к: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM Online, Dynamics CRM 2016
Вы можете создать бизнес-правила и рекомендации, чтобы применить логику формы без написания кода JavaScript или создания подключаемых модулей. Бизнес-правила предоставляют простой интерфейс для реализации и поддержки быстро меняющихся и наиболее часто используемых правил. Их можно применить к основным формам и формам быстрого создания, и они работают в Microsoft Dynamics 365 для планшетов и Dynamics 365 для Outlook (сетевая и автономная версии).
Объединяя условия и действия, вы можете выполнять любые из следующих действий с помощью бизнес-правил:
Задание значений полей
Очистка значений поля
Задание уровней требований полей
Отображение или скрытие полей
Включение или отключение полей
Проверка данных и отображение сообщений об ошибке
Создание бизнес-рекомендаций на основе бизнес-аналитики
Примечание
Чтобы создать бизнес-рекомендации, вы должны использовать Обновление для Dynamics 365 (онлайн-версия и локальная версия), декабрь 2016 г. или более позднюю версию.
Способ создания бизнес-правила зависит от того, используете ли вы Dynamics 365 или Dynamics CRM. Если вы используете Dynamics 365 вы можете использовать новый конструктор, поддерживающий перетаскивание, для создания бизнес-правил. Необходимо иметь Обновление для Dynamics 365 (онлайн-версия и локальная версия), декабрь 2016 г., чтобы использовать Dynamics 365.
Создание бизнес-правила или бизнес-рекомендации в Dynamics 365
Убедитесь, что у вас есть роль безопасности "Системный администратор", "Настройщик системы" или эквивалентные разрешения.
Проверка вашей роли безопасности
Выполните шаги, описанные в разделе Просмотр профиля пользователя.
У вас нет нужных разрешений? Обратитесь к администратору системы.
Перейдите в раздел Параметры > Настройки.
Щелкните Настроить систему.
Откройте сущность, для которой требуется создать бизнес-правило (например, откройте сущность Организация), и дважды щелкните Бизнес-правила.
Нажмите кнопку Создать.
Откроется окно конструктора бизнес-правил с одним созданным условием. Каждое правило начинается с условия. Бизнес-правило предпринимает одно или несколько действий на основании условия.
Совет
Если требуется изменить существующее бизнес-правило, необходимо деактивировать его и внести нужные изменения.
Если требуется, добавьте описание в окне описания в левом верхнем углу окна.
Установите объем согласно следующему:
Если вы выбираете этот элемент
Задается следующий объем
Сущность
Все формы и сервер
Все формы
Все формы
Определенная форма (например, форма Организация)
Только данная форма
Добавьте условия. Чтобы добавить больше условий к бизнес-правилу:
Перетащите компонент Условие с вкладки Компоненты на значок "плюс" в конструкторе.
Чтобы задать свойства для условия, щелкните компонент Условие в окне конструктора, затем задайте свойства на вкладке Свойства справа экрана. По мере задания свойств Dynamics 365 создает выражение внизу вкладки Свойства.
Чтобы добавить дополнительный оператор (И или ИЛИ) к условию, нажмите кнопку Создать на вкладке Свойства для создания нового правила, и после этого задайте свойства для этого правила. В поле Логика правил вы можете определить, добавлять ли новое правило как оператор И или ИЛИ.
По завершении настройки свойств для условия щелкните Применить.
Добавьте действия. Чтобы добавить действие:
Перетащите компоненты действия с вкладки Компоненты на значок "плюс" рядом с компонентом Условие. Перетащите действие на значок "плюс" рядом с флажком, если вы хотите, чтобы бизнес-правило предпринимало это действие, когда выполняется условие, или на значок "плюс" рядом с x, если вы хотите, чтобы бизнес-правило предпринимало это действие, если условие не выполняется.
Чтобы задать свойства для действия, щелкните компонент Действие в окне конструктора, затем задайте свойства на вкладке Свойства.
По завершении настройки свойств щелкните Применить.
Добавьте бизнес-рекомендацию. Чтобы добавить бизнес-рекомендацию:
Перетащите компонент Рекомендация с вкладки Компоненты на значок "плюс" рядом с компонентом Условие. Перетащите компонент Рекомендация на значок "плюс" рядом с флажком, если вы хотите, чтобы бизнес-правило предпринимало это действие, когда выполняется условие, или на значок "плюс" рядом с x, если вы хотите, чтобы бизнес-правило предпринимало это действие, если условие не выполняется.
Чтобы задать свойства для рекомендации, щелкните компонент Рекомендация в окне конструктора, затем задайте свойства на вкладке Свойства.
Чтобы добавить дополнительные действия к рекомендации, перетащите их с вкладки Компоненты, затем задайте свойства для каждого действия на вкладке Свойства.
Примечание
При создании рекомендации Dynamics 365 добавляет одно действие по умолчанию. Чтобы просмотреть все действия в рекомендации, щелкните Сведения в компоненте Рекомендация.
По завершении настройки свойств щелкните Применить.
Для проверки бизнес-правила щелкните Проверить в области действий.
Для сохранения бизнес-правила щелкните Сохранить в области действий.
Чтобы активировать бизнес-правило, выберите его в окне обозревателя решений и нажмите кнопку Активировать. Невозможно активировать бизнес-правило в окне конструктора.
Совет
Вот несколько советов, которые необходимо учитывать при работе с бизнес-правилами в окне конструктора:
-
Чтобы сделать снимок всех элементов в окне бизнес-правила, нажмите Снимок в области действий. Это полезно, например, если вы хотите поделиться бизнес-правилом и получить комментарии о нем от участников рабочей группы.
-
Используйте миникарту для быстрого перехода к различным частям процесса. Это полезно, когда вы имеете сложный процесс, который не помещается на экране.
-
По мере добавления условий, действий и бизнес-рекомендаций в бизнес-правило Dynamics 365 создает код для бизнес-правила внизу окна конструктора. Этот код доступен только для чтения.
Создание бизнес-правила в Dynamics CRM
Сначала нужно иметь привилегии, необходимые для открытия раздела Параметры > Настройка. Сюда, как правило, относится роль безопасности Системный администратор или Системный настройщик. Чтобы активировать бизнес-правило, необходимо иметь привилегию Активировать бизнес-правила.
Примечание
Бизнес-правила будут работать только для обновленных или настраиваемых сущностей.
Существует четыре способа просмотра, создания или редактирования бизнес-правил.
Решение > Сущность
Из решения, например из решения по умолчанию, откроется узел Бизнес-правила для всех сущностей.Решение > Сущность > Поле
При просмотрите поле сущности можно заметить узел Бизнес-правила, который будет отображать только бизнес-правила, включающие этот атрибут.Редактор форм
Из редактора форм можно использовать кнопку Бизнес-правила на ленте Обозреватель бизнес-правил в правой части. Это позволит отобразить все бизнес-правила, которые будут применяться исключительно к этой форме.При создании правила из редактора форм область по умолчанию предназначена для этой формы.Дополнительные сведения:Настройка области
Редактор форм > Поле
При просмотре свойства для поля, которое используется в форме, отображается вкладка Бизнес-правила, на которой отображаются бизнес-правила с этим атрибутом.
Если существующее правило аналогично правилу, которое необходимо создать, можно открыть такое правило и использовать кнопку Сохранить как, чтобы копировать существующее правило в качестве отправной точки для нового правила.
Настройка области
В правом верхнем углу формы в поле Область укажите область для правила.
Область |
Место выполнения |
---|---|
Сущность |
Все формы и сервер |
Все формы |
Все формы |
Определенная форма |
Только данная форма |
Невозможно выбрать несколько конкретных форм. При выборе Все формы правило будет применяться ко всем основным формам и экспресс-формам создания при условии, что форма включает все поля, на которые ссылается правило. При создании нового бизнес-правила с использованием редактора форм область по умолчанию представлена исключительно этой формой.
Бизнес-правила на стороне сервера и поддержка логики "если, то, иначе" и И/ИЛИ
Ранее бизнес-правила можно было оценить в отдельном клиенте. Для оценки логики бизнес-правил на сервере и ее применения ко всем клиентам было необходимо предоставить подключаемые модули, разработка и поддержка которых стоят дорого. Настройка области бизнес-правила на уровне сущности предоставляет возможность оценить бизнес-правило один раз на сервере и применить его ко всем клиентам без написания кода. Можно переместить логику для распространенных сценариев из подключаемых модулей в бизнес-правила на уровне сущности. Кроме того, добавлена поддержка значений по умолчанию в бизнес-правиле. Например, если компания Contoso работает только в США, можно реализовать простое бизнес-правило, чтобы при создании входящего интереса стране/региону автоматически присваивалось значение "США".
Примечание
Если для области задано значение "Сущность" и запись создается или изменяется с помощью формы, правило выполняется на стороне клиента, но позднее оно выполняется еще раз на сервере. Это позволяет избежать создания циклической ссылки на поле, если для области задано значение "Сущность". Например, невозможно установить кредитный лимит = кредитный лимит + 1000, так как это приведет к увеличению значения один раз на стороне клиента и повторной попытке выполнения на стороне сервера.
В более сложных бизнес-сценариях было необходимо использовать несколько бизнес-правил, которые оценивались с помощью логического оператора AND. Все условия должны были быть выполнены (иметь значение true), чтобы действия были применены. Логика If-Else или AND/OR не поддерживалась. Теперь эта возможность добавлена, и можно создавать более сложные бизнес-правила с меньшими усилиями. В следующем примере бизнес-правила используется логика If-Else:
Существует несколько ограничений, о которых следует помнить:
Вложенные операторы If-Else не поддерживаются.
Группа выражений в условии не поддерживается.
Выражения можно объединить с помощью AND, с помощью OR или с помощью обоих операторов.
Настройка условий
Если требуется изменить активированное бизнес-правило, необходимо деактивировать его и внести нужные изменения.
Для добавления условия щелкните значок +, и отобразится новая строка условий с заданными значениями по умолчанию. Введите имя поля, чтобы задать значение Поле, и выберите соответствующий Оператор. Параметры оператора будут меняться в зависимости от типа данных в поле.
Условия проверяются всякий раз, когда меняется поле, на которое есть ссылка в условии.
Можно выбрать три разных типа условий.
Поле
Используйте этот тип для сравнения значения в одном поле формы со значением в другом.Значение
Используйте этот тип для сравнения значения в одном поле формы с вводимым значением.Формула
Этот вариант отображается только для числовых типов данных и дат. Он не отображается для полей, содержащих текст. Используйте этот тип для сравнения результатов простого вычисления, в котором может использоваться либо значение из другого поля формы, либо вводимое значение.
Завершив ввод или редактирование правила, щелкните значок флажка, чтобы сохранить его, либо значок (X), чтобы отменить изменения. Чтобы удалить ранее сохраненное условие, наведите указатель мыши на условием и нажмите кнопку Удалить.
Настройка действий
Чтобы добавить действие, нажмите кнопку Добавить+. Вам доступны следующие варианты:
Показать сообщение об ошибке
Используйте это действие, чтобы настроить сообщение об ошибке в поле, если данные в них не являются допустимыми. Указываемый для сообщения текст будет отображаться со значком ошибки рядом с полем.Запись невозможно сохранить, пока отображается это сообщение. После исправления данных в этом поле в соответствии с условиями, заданными в правиле, сообщение исчезнет, запись можно будет сохранить.
Задать значение поля
Выберите Поле и щелкните Тип. Существует три типа.Поле
Используйте этот тип для задания значения в одном из полей формы со значением в другой форме.Значение
Используйте этот тип для задания значения в одном поле формы с вводимым значением.Формула
Этот вариант отображается только для числовых типов данных и дат. Он не отображается для полей, содержащих текст. Используйте этот тип для задания значения результатов простого вычисления, в котором может использоваться либо значение из другого поля формы, либо вводимое значение.
Задать бизнес-требование
Используйте этот тип, чтобы изменить уровень требований для поля. Доступны параметры Не обязательно и Обязательно. Невозможно задать здесь значение "рекомендовано бизнесом".Задать видимость
Используйте этот тип, чтобы изменить отображение поля в форме. Параметры: Отобразить поле и Скрыть поле.Заблокировать или разблокировать поле
Используйте этот тип, чтобы изменить включение поля в форме. Параметры: Заблокировать и Разблокировать. Если поле заблокировано, пользователи не смогут редактировать значение в поле.
Определившись с действием, можно изменить последовательность или удалить ее, воспользовавшись параметрами, доступными при размещении курсора над действием.
Задание описания
Это не является обязательным. Оно не отображается нигде, кроме редактора бизнес-правил. Имеет смысл включить описание предполагаемых функций правила и причину добавления.
Тестирование и активация бизнес-правил
Прежде чем кто-либо сможет использовать созданные вами бизнес-правила, необходимо активировать их. Перед активацией их необходимо протестировать. Можно протестировать бизнес-правила с помощью кнопки Просмотр в редакторе форм.
Примеры установки или очистки значений полей
Рассмотрим несколько примеров. Согласно первому правилу при любой немедленной покупке применяется скидка 5%. Согласно второму правилу все скидки отменяются, если интервал времени покупки неизвестен.
Следующее определение правила показывает, как установить значение поля на скидку 5% для немедленных покупок.
Следующее определение правила показывает, как очистить значение поля (удалить все скидки) при покупках с неизвестным интервалом времени.
Ограничения
Бизнес-правила предназначены для стандартных действий. По сравнению с тем что разработчик может сделать, используя скрипты форм, бизнес-правила имеют ограничения. Однако бизнес-правила не призваны заменить собой скрипты форм.
Ниже приводится ряд ограничений использования бизнес-правил:
Бизнес-правила выполнятся только при загрузке форм и изменении значений поля. Они не выполняются при сохранении записи, если область правила не установлена на уровне сущности.
Бизнес-правила работают только с полями. Если необходимо взаимодействие с другими видимыми элементами, например вкладками или разделами, необходимо использовать скрипты форм в пределах формы.
При задании значения поля с использованием бизнес-правила обработчики событий OnChange для этого поля выполняться не будут. Это призвано сократить вероятность возникновения циклической ссылки, которая может привести к бесконечному циклу.
Если бизнес-правило ссылается на поле, отсутствующее в форме, правило просто не будет выполнено. Сообщение об ошибке возникать не будет.
Поля целых чисел, использующие форматы для часового пояса, продолжительности или языка, не отобразятся в редакторе правил для условий и действий, поэтому их невозможно использовать с бизнес-правилами.
Невозможно добавить более десяти условий if-else в бизнес-правило.
В Microsoft Dynamics 365 для планшетов определение бизнес-правил загружается и кэшируется при открытии Dynamics 365 для планшетов. Изменения к бизнес-правилам не применяются, до тех пор пока не закрыта и повторно не открыта Dynamics 365 для планшетов.
При указании значения поля поиска текст значения основного поля, заданный в форме, всегда будет совпадать с текстом, Отображаемым в определении поля. Если текст, представляющий основное значение поля записи, которая задается в области поиска, меняется, значение, заданное правилом, продолжает использовать часть текста основного значения поля, определенную правилом. Чтобы исправить это, обновите определение правила, чтобы оно использовало текущее основное значение поля имени.
Полезно понимать, что значение, заданное для поиска, имеет три части.
Name: текст основного значения поля, который отображается в форме.
Id: уникальный идентификатор записи. Это сохраняемые данные. Они не видны в форме.
LogicalName: имя сущности, например contact, account или opportunity.
Правило будет задавать все три части этого значения. Значение Id для конкретной записи никогда не меняется, однако может измениться значение Name.
Например, если определить правило для настройки поиска контакту с Полное имя равным "Старое имя", этот текст будет представлять собой Name, отображаемый в области поиска, если он задан бизнес-правилом (даже если кто-то впоследствии изменит Полное имя контакта на "Новое имя"). Значение поиска Id будет задано правильно и представлять собой ожидаемую запись, однако Name (не сохраняется) будет отражать значение определения правила, а не текущее значение Полное имя записи, на которую она ссылается.
Удаление действий из правил
Кроме отображения сообщений об ошибках нужно обязательно включить отдельное бизнес-правило для удаления любых действий, которые могли бы быть применены. Допустим, имеется правило в сущности "Клиент", которое гласит:
Если Предпочтительный способ связи равен Телефон,
задайте Рабочий телефон в качестве значения Обязательное.
Это сработает всякий раз, когда для поля Предпочтительный способ связи будет установлено значение Телефон. Но если поле Предпочтительный способ связи впоследствии меняется на что-то еще, поле Телефон останется Обязательное. Для очистки этого действия необходимо включить отдельное правило для применения следующей логики.
Если Предпочтительный способ связи не равен Телефон,
задайте Рабочий телефон в качестве значения Не обязательное.
Действие Показать сообщение об ошибке отличается, поскольку автоматически оценивает любые условия, используемые для задания сообщения об ошибке и удаления, если условия более не выполняются.
Локализация сообщений об ошибках, используемых в бизнес-правилах
При наличии нескольких языков, предоставляемых для организации, потребуется локализовать настроенные сообщения об ошибке. Всякий раз при настройке сообщения система создает метку. При экспорте переводов в организации можно добавить локализованные версии сообщения, а затем импортировать эти метки обратно в Microsoft Dynamics 365, чтобы пользователи, работающие с языками отличными от базового, могли просматривать переведенные сообщения.
См. также
Помогайте сотрудникам выполнять типовые задачи с помощью процессов
Создание последовательности операций бизнес-процесса
Создание потока задач для мобильного приложения