从子窗体CRM 2016上的Parent获取数据

时间:2017-06-21 12:30:54

标签: forms dynamics-crm parent

我在CRM 2016中有2个自定义实体,实体名为Equity,实体b称为未来行动。在Equity表单上,我有一个未来的动作子网格。我需要的是在打开未来的行动表格时能够确定它已被打开的背景。意思是,我刚刚从Equity表单或其他地方(即高级查找)打开了这个未来的行动。如果从股权开立,我需要将来的行动表格只读。在打开未来的操作时,如何获取上一个/父表单的上下文?

2 个答案:

答案 0 :(得分:0)

以下是有关此方案的一些想法:

虽然我同意亚历克斯的观点,即你所要求的事情无法完成,但也许可以做点什么。

只要在表单上查找父实体,确定从另一个实体打开Create表单是非常简单的。如果存在该查找,则应该存在填充它的自动映射。如果在“创建”表单上该查找为空,则您知道用户在其他位置启动了创建表单。

在我依靠映射将数据传输到子记录的情况下,我使用JavaScript来检查父查找是否为空。如果是这样,我通知用户他们必须从相应的父类型创建记录,然后关闭表单。

在这种情况下,听起来您正在寻找限制现有记录,而不仅仅是创建新记录。如果填充了Equity父级的所有记录都应该是只读的,理论上可以配置工作流和安全角色来实现这一点。填充Equity查找后,您可以将记录重新分配给另一个用户,使其成为只读。

例如,让我们说: 我们的常规用户拥有所有Future Actions的读取权限,并为他们拥有的Future Actions写入权限。

我们有指定用户" CrmAdmin"具有系统管理员角色。

当填充Future Action的Equity查找时,让工作流将Future Action分配给CRMAdmin。这将使普通用户只读它。

工作流程还可以填充单独的用户查找,该查找不会提高安全性,您可以将其称为“负责人”#34;或者"企业主"管他呢。

不受支持(并且不推荐)的想法是从用户可能打开它的各个位置打开表单并检查window.location.href以查看是否存在可以挂钩的差异。

答案 1 :(得分:0)

我们做了类似的事情。对于一些不受支持的自定义,我们可以实现。

将事件处理程序附加到Subgrid Double click& open the Entity form与我们的custom parameters

这样,在表单加载时,您可以验证您的param是否存在 - 它来自子网格中的子网格形式&使表格只读。否则保持加载的表格(从Adv find打开)。