3

我们一直在使用这种描述的方法从功能区 XML 中定义的 JavaScript 操作访问通用或共享 JavaScript 库。功能区按钮 --> 动态库文件中的 JS 函数 --> 实体表单上定义的库文件中的 JS 函数,效果很好。

今天,我尝试从不同实体的子网格功能区中遵循相同的模式(将功能区调用的 JS 库添加到实体 A 的表单。从实体 A 上的表单,单击左侧的实体 B 链接到显示实体 B 的相关实体 B 的子网格功能区 XML。单击子网格功能区上的按钮 --> 动态库文件中的 JS 函数 --> 库文件中的 JS 函数。)但尝试执行时出现错误“未定义”调用Entity A表单引用的JS库。

根据这篇文章,我必须将适当的库添加到我的子网格功能区 XML 中,或者动态加载 Web 资源。

有没有更简单的方法?为什么在表单上引用 javascript 对默认功能区 xml 有效,但对子网格无效?

4

1 回答 1

3

为什么在表单上引用 javascript 对默认功能区 xml 有效,但对子网格无效?

由于脚本是使用实体 A 的表单加载的,因此当实体 B 的子网格加载并替换了表单时,它不太可能仍然可用。

在 CommandDefinition 标记下的 Actions 部分中添加对 javascript websource 的引用是执行您想要实现的目标的受支持方式。这将在加载子网格功能区时加载脚本。

自定义操作标记中的位置属性将确定何时加载脚本

例如: Location="Mscrm.SubGrid . {entity name}.WhereEver

Location="Mscrm.Form . {实体名称}.WhereEver

此外,由于在脚本文件中添加断点不适用于动态加载的脚本,因此请在代码中添加调试语句,以便在需要时调用调试器。

于 2013-08-30T14:36:33.980 回答