2017-06-21 51 views
0

我在CRM 2016中有2个自定义实体,实体a称为股权,实体b称为未来操作。在公平形式上,我有一个未来的行动子网格。我需要的是在打开未来的行动表单时,能够确定它已被打开的上下文。意思是,我是否刚刚从股票表格或其他地方(即高级查找)打开了此未来行动。如果从平等开放,我需要将来的行动表格只能读取。如何在开启未来行动时获取上一个/父母表格的上下文?从父窗体获取孩子表单CRM中的数据2016

+1

你不能,要求也没有意义,你应该与客户重新讨论,以找出*真正的需要(“我需要X”“为什么?”“因为.Y”“所以你需要Y“”......是啊“) – Alex

+0

这是商业逻辑,尽管我得到了订单倒退。如果用户在股票表单上打开了未来操作,则用户应该能够进行编辑,但是无论其他地方如何。只能以某种方式执行编辑。所以你认为它不能做到? – user1011589

回答

0

下面是关于这种情况的一些想法:

虽然我与亚历克斯同意,你问什么是“不能做”,或许可以做些什么。

只要查找了表单上的父实体,搞清楚是否从另一个实体打开了创建表单就非常简单。如果该查找存在,则应该有一个自动映射来填充它。如果该查找在Create窗体中为空,则知道用户在别处启动了创建窗体。

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

在这种情况下,您听起来像是在限制现​​有记录,而不仅仅是创建新记录。如果填充Equity parent的所有记录都应该是只读的,则理论上可以配置工作流程和安全角色来实现此目的。当Equity查询得到填充时,您可以将该记录重新分配给另一个用户,使其成为只读。

例如,假设: 我们的普通用户已阅读所有未来操作的权限,并为他们拥有的未来操作写入权限。

我们有一个具有系统管理员角色的指定用户“CrmAdmin”。

当Future Action的Equity查找得到填充时,让工作流将该Future Action分配给CRMAdmin。这将使其对普通用户来说是只读的。

该工作流程还可以填充单独的用户查找,不会驱动安全性,您可以称之为“责任人”或“业主”或其他。

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

0

我们做了类似的事情。有了一些不受支持的定制,我们可以实现。

附加一个事件处理Subgrid Double click & open the Entity form我们custom parameters

这样,在窗体加载,如果你的PARAM存在,你可以验证 - 在从股权形式&亚格使只读形式。否则,请将已加载的表单保持原样(从Adv find中打开)。

相关问题