如何intercept/replace 新建按钮点击子网格?
How can I intercept/replace the New button click on the sub-grid?
让我们首先确定一些 D365 开箱即用的功能有时可能有点笨拙。
对于 1:N 关系,当您按下子网格上的“+ 新建”按钮时,行为会发生变化,具体取决于关系是配置为 "Optional" 还是 "Business Required" .它可以让您搜索和添加现有记录(可选),也可以始终让您创建新记录(业务需要)。
这很好。我能控制。
对于 N:N 子网格上的“+ 新建”按钮只允许我搜索现有记录的关系。在这种情况下,我只想每次都创建一条新记录。
该场景将 systemuser
实体与自定义实体相关联(通过 N:N 关系)以在字段中指示它们的 "specialization",它被称为。我有另一个指示该字段的查找实体,我的自定义专业化实体具有以下字段:
- 姓名(文字)
- 字段(查找专业领域)
- 级别(衡量他们的专业化程度)
如果我要重复使用现有记录,它也会与另一个用户的专业化相关联。如果我要更改他们在该领域的能力水平,它将影响与该记录相关的任何其他用户。
我每次都需要创建一条新记录。如果我可以替换那个点击功能,我就可以弹出一个新对话框,然后自己创建记录。
做不到这一点,我需要将整个子网格控件替换为自定义 Web 资源,请不要让我那样做!
我的项目中有一个名为 Banker Skillset 的类似实现。您可以搜索并添加现有记录,但会抛出错误“已将记录与另一条记录相关联”。我不明白为什么在这个 N:N 场景中允许使用内联搜索查找“添加现有”按钮。就像你说的那样,谁会像这样重新映射(取出并交给)其他人记录。
您仍然可以在该手册 N:N 实体 - 用户专业化中将系统用户和专业化查找设为强制性。如果您启用 N:N 相交实体的快速创建,当您在子网格
中单击 (+) 时,QC 表单将放在顶部
另一个选项是使用 Xrm.Utility.lookupObjects
允许用户选择多个专业化,然后为所有选定的记录添加具有默认级别(专业化程度)的 N:N。然后用户可以使用可编辑网格选择个人级别。为此,您必须隐藏现有的 (+) 按钮并开始使用 Ribbon workbench
创建一个新的功能区按钮
让我们首先确定一些 D365 开箱即用的功能有时可能有点笨拙。
对于 1:N 关系,当您按下子网格上的“+ 新建”按钮时,行为会发生变化,具体取决于关系是配置为 "Optional" 还是 "Business Required" .它可以让您搜索和添加现有记录(可选),也可以始终让您创建新记录(业务需要)。
这很好。我能控制。
对于 N:N 子网格上的“+ 新建”按钮只允许我搜索现有记录的关系。在这种情况下,我只想每次都创建一条新记录。
该场景将 systemuser
实体与自定义实体相关联(通过 N:N 关系)以在字段中指示它们的 "specialization",它被称为。我有另一个指示该字段的查找实体,我的自定义专业化实体具有以下字段:
- 姓名(文字)
- 字段(查找专业领域)
- 级别(衡量他们的专业化程度)
如果我要重复使用现有记录,它也会与另一个用户的专业化相关联。如果我要更改他们在该领域的能力水平,它将影响与该记录相关的任何其他用户。
我每次都需要创建一条新记录。如果我可以替换那个点击功能,我就可以弹出一个新对话框,然后自己创建记录。
做不到这一点,我需要将整个子网格控件替换为自定义 Web 资源,请不要让我那样做!
我的项目中有一个名为 Banker Skillset 的类似实现。您可以搜索并添加现有记录,但会抛出错误“已将记录与另一条记录相关联”。我不明白为什么在这个 N:N 场景中允许使用内联搜索查找“添加现有”按钮。就像你说的那样,谁会像这样重新映射(取出并交给)其他人记录。
您仍然可以在该手册 N:N 实体 - 用户专业化中将系统用户和专业化查找设为强制性。如果您启用 N:N 相交实体的快速创建,当您在子网格
中单击 (+) 时,QC 表单将放在顶部
另一个选项是使用
Xrm.Utility.lookupObjects
允许用户选择多个专业化,然后为所有选定的记录添加具有默认级别(专业化程度)的 N:N。然后用户可以使用可编辑网格选择个人级别。为此,您必须隐藏现有的 (+) 按钮并开始使用 Ribbon workbench 创建一个新的功能区按钮