在 Dataverse 中提供了很多有趣的功能,帮助我们更好的完成业务场景,今天要和大家介绍的就是其中的业务规则。
业务规则支持用户在填写或修改表数据时,可以根据定好的规则来实现一些操作。比如可以根据学生所选择的专业,来决定要让用户填写哪些内容,要想设置好业务规则,需要了解其中的两个概念。
条件
在业务规则中条件是重要的组成部分,因为所有后续的操作都要在指定条件下运行。
比如我下图中设置的条件就是,判断用户在学生表中所选的性别是否为男。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509552-473624-fa3bf37a879565020dd0495498b0c9a7.png)
在条件判断中支持并且和或的操作,从而增加多个条件判断。比如我可以将条件设置为性别=男的同时需要满年龄=18。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509558-953675-9b2f23c8652ea36bdd6eaf93b3a34ab6.png)
在添加完条件以后,我们可以分别对符合条件或者不符合条件时,做出不同的操作。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509567-405905-454de1d5483b2b34a99195dbcedbcbc2.png)
操作
在业务规则中支持7个不同的操作:
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509578-111167-bb4e78eb55c545d9e01e3f9872c80fbe.png)
Recommendations :
向列添加建议,主要是应用在模型驱动应用中。
比如我在下图中,将业务规则设置为:当年龄=18,并且性别=男时。会执行建议的操作。
会针对学生简介字段进行建议,建议内容是:“岁数太大了,赶紧毕业”。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509587-886434-c6d4e010daf7b1f06b39038e8aec3e11.png)
建议操作还可以设置具体的 Action ,这是当用户点击 Apply 应用建议后执行的操作。
我们可以将该操作配置为给当前列填值。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509596-214011-200b1a5abc072f72bb7651609592d1b2.png)
当我们将这个业务规则激活后,再回到创建窗体,在我们什么都没填写的时候,窗体和之前一样。但是一旦我们将性别填写为男,年龄填写为18以后,就会在学生简介的左侧出现一个建议的图标。当点击图标后会在列的下面出现我们配置好的建议,如果这时候再点击 Apply 应用建议就会将之前设置好的值填写到学生简介列。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509604-444595-ea7eb5c9c486991ae529a2e7457befdd.png)
Lock/Unlock:
当满足条件时将列设置为锁定或解锁,当列锁定后,用户将无法对其进行操作。比如我们可以当学生性别=男,并且年龄=18时,将学生简介列锁定。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509614-170680-f4d5e3b44bdc249f3006185ad322ef35.png)
激活该业务规则后,当用户满足条件时,学生简介列的左侧会出现锁定的图标。同时该列将无法填写内容。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509623-52241-bb6279398df733f169d9b931d5f3dce5.png)
Show Error Message:
显示自定义错误消息,可以在指定列上显示错误消息。
比如当符合条件时,在年龄列显示错误消息,提示他18岁别入学了。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509630-773173-a8c50847e047f4376a46edfeffb03c5b.png)
并且在出现错误消息时,记录是无法被保存的。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509642-547435-92129e418e0dd218137067d6ccf21037.png)
Set Field Value:
根据条件设置列的值。这个操作就是字面意思很好理解,比如在满足条件时,将学生简介设置为“哈哈都18岁了”
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509658-79607-c11ac8f7cb9bed00ba74ca8afbf31e99.png)
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509666-941446-20a1e7a48b9c6d936642d02a41f65c07.png)
Set Default Value:
根据满足的条件设置默认值,与设置值的区别在于,默认值不能做清空数据的操作,通常默认值操作的列是在窗体中显示的内容。
Set Business Required:
将指定列设置为必填项。比如学生简介本身不是必填项,但可以接用该操作,在符合条件时,将该列设置为必填项。
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509680-50407-8cd2a1bcb4c7056e67941fb6bdff7e66.png)
Set Visibility:
根据满足的条件设置列可见或隐藏,与锁定的效果类似,只不过该操作是直接将列从界面中隐藏掉。
Scope
关于业务规则,还有一个重要的概念是 Scope ,Scope 指定了业务规则的生效范围
![](https://forum.power-platform.cn/assets/files/2022-03-17/1647509692-630470-752b0873f5631e2e6eca965815cbb8e3.png)
Entity :
当设置为 Entity 时,业务规则会在表的级别应用,即使通过 API 来更改表的值也会触发业务规则。比如在画布应用中使用 Dataverse 也会应用到业务规则。只不过在画布应用中不支持 Set Visibility , Recommendations 和 Lock/Unlock 操作 。
All Forms:
当设置为 All Forms 时,业务规则会应用到该表的所有窗。
除以上两种 Scope 外,还可以指定单独的窗体来应用业务规则,比如在我的班级表中有两个窗体分别是“主窗体”和“Information” 我可以任意指定业务规则应用到其中一个窗体上。
以上就是业务规则的全部内容。