我有3个业务部门(1个父级和2个子级),3个用户(每个业务部门),2个表单(每个业务部门)和1个事件实体插件。
事件插件(创建,预操作)根据用户的业务单位在属性“Case Origin”(caseorigincode)中设置默认值。
如果父业务部门的用户创建了事件,我的问题是什么?插件如何知道创建事件的形式是为了设置默认值?
这样做的最佳方法是什么?
感谢。
答案 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
。