插件:如何将默认值设置为依赖于业务单位的属性?

时间:2014-10-07 12:44:51

标签: dynamics-crm-2011 dynamics-crm crm

我有3个业务部门(1个父级和2个子级),3个用户(每个业务部门),2个表单(每个业务部门)和1个事件实体插件。

事件插件(创建,预操作)根据用户的业务单位在属性“Case Origin”(caseorigincode)中设置默认值。

如果父业务部门的用户创建了事件,我的问题是什么?插件如何知道创建事件的形式是为了设置默认值?

这样做的最佳方法是什么?

感谢。

3 个答案:

答案 0 :(得分:1)

不幸的是,我认为插件无法知道提交的是哪种表单。但是,您可以添加一个隐藏字段,通过javascript设置为每个表单不同的内容。然后,在插件中,您可以查询该字段以查看使用了哪种表单。

请务必检查null / empty,因为可以在不使用表单的情况下以编程方式提交更新。

答案 1 :(得分:0)

IIRC所有CRM实体(包括股票和自定义)都应具有OwningBusinessUnit属性,该属性是记录EntityReference所属业务单位的Owner

这应该告诉你究竟是从哪个BU创建了记录。

(注意:问题是不一致的,因为声明caseorigincode首先根据BU设置,然后它询问表格。我假设第一个是实际逻辑:检查BU设置字段)< / p>

(注意#2:这可以通过工作流程完成:Check Condition在所有者的BU和Update Record上相应。运行在创建。)

答案 2 :(得分:0)

鉴于用户只能是一个业务部门的成员,那么您不必担心创建的是哪个表单。只需从SystemUser获取EntityReference由用户创建并使用为您提供的BusinessUnit EntityReference