Dynamics 365 讲清楚Security Role中的Append &AppendTo
Posted Vic.Tang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dynamics 365 讲清楚Security Role中的Append &AppendTo相关的知识,希望对你有一定的参考价值。
最近被问到这个问题,记忆有些模糊了,依稀记得我有写过博客分享过,但怎么搜都没搜到,无意间看了下草稿箱,发现已经在草稿箱里躺了两年多了。现在来完成这篇两年前就该完结的文章。
Security Role中有两个设置项,一个叫Append, 一个叫AppendTo,很多人对这两个权限不甚清楚,可以继续往下看,如果已经非常清楚了就不用看了。
Append和AppendTo被用在了many2one或者one2many的关系上,以我的demo环境为例,开票支付信息和项目是many2one的关系
默认情况下测试账号对开票支付信息和项目均没有追加和追加到权限,可以看到测试账号打开一条自己own的开票支付信息记录,项目lookup字段是只读的
当我给了开票支付信息实体个人级的append,项目实体的appendto权限后
项目字段的只读就放开了
所以总结一下,append对应的是many2one中的子实体(本例中的开票支付信息实体),appendto对应的是many2one里的父实体(本例中的项目实体)。要想对父实体的lookup字段有编辑权限,账号拥有的安全角色必须对子实体有append权限,对父实体有appendto权限。
至于append和appento里的权限级别(user,bu, parent, org),系统会在你保存的时候进行校验。比如本例中你选了一条项目父实体记录,但你拥有的安全角色对项目父实体记录只有user级别的appendto,而你选择了一条你有权限读但不是你own的记录,保存时系统就会报下述错误,提示你对你的父实体没有相关的权限。
Exception Message: Principal with id 33b4d5ac-cd05-ed11-bb3a-0017fa0485f4 does not have AppendToAccess right(s) for record with id 1d237828-3d35-4a65-a33d-ac678c33ef87 of entity xx_project
以上是关于Dynamics 365 讲清楚Security Role中的Append &AppendTo的主要内容,如果未能解决你的问题,请参考以下文章
Dynamics 365 App for Outlook 与 Dynamics 365 for Outlook(已被弃用)