首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过javascript检索网格中的fetchxml

通过javascript检索网格中的fetchxml
EN

Stack Overflow用户
提问于 2017-09-14 16:15:42
回答 2查看 1.5K关注 0票数 4

这似乎是一个有点奇怪的要求,所以我会尝试提供一些背景。我在CRM上有一个特性,它要求用户应该能够过滤一个视图,然后保存结果记录,这样一个单独的过程就可以定期地收集并处理它们,例如每天。

现在是一个陷阱,他们希望这个过程在数据处理之前请求数据,所以应该保存的基本上是查询或筛选,而不是视图中的数据。

之前编写了一些javascript代码,这些代码在子网格上动态地设置了fetchxml,如下所示

代码语言:javascript
复制
Subgrid.getGrid().setParameter("fetchXml", fetchxml);

我认为,在网格中检索fetchxml应该是相当直接的。

代码语言:javascript
复制
Subgrid.getGrid().getParameter("fetchXml");

然而,这是行不通的,我似乎找不到任何文档或任何东西可以指出我的正确方向。我使用了开发人员工具来检查Mscrm.XrmControlGridWrapper的属性,但是我找不到任何有用的东西。

如果有人知道我如何检索使用javascript为子网格提供动力的fetchxml,那么它会有很大帮助吗?

编辑

我刚发现我能做到

代码语言:javascript
复制
Subgrid.getGrid().getFilter().$3_1.GetParameter("fetchXml")

这正是我想要的结果,然而,这只是一声刺耳的尖叫,没有人支持。$3_1有一种[object (Mscrm.TurboGridControl)]类型

有什么方法可以以支持的方式访问这个对象吗?

EN

回答 2

Stack Overflow用户

发布于 2017-09-15 12:12:17

关于这一点的几点想法:

  1. 您可以检索SystemForm记录,然后解析FormXml以获得ViewId。然后可以从SavedQuery实体检索视图,并获取FetchXML。下面是ViewId在FormXml中的一个例子:

  1. 您可以向实体中添加一个布尔字段,当用户保存他们想要处理的集合时,您可以标记这些记录以供以后的批处理过程检索。
  2. 当用户标识他们想要处理的集合时,您可以使用带有Guid列表的"in“操作符临时创建一个视图(SystemQuery或UserQuery),以标识要处理的确切记录。在使用视图检索和处理记录之后,批处理过程可以删除视图。我可能会很舒服地使用这种方法多达几十个记录。

{A1CC84F2-BE0D-E711-8104-00155D6FD705} {A3CC84F2-BE0D-8104-8104-00155D6FD705} {A5CC84F2-BE0D-E711-8104-00155D6FD705}

  1. 如果要通过在要处理的记录上设置布尔标志来避免更改已修改的信息,则可以创建N:N链接实体,并将选定的记录与该实体的实例关联。
票数 0
EN

Stack Overflow用户

发布于 2019-04-11 14:56:45

你可以:

  • 既然您以前将fetchxml设置为SubGrid的过滤器,那么为什么不直接存储这个变量呢?您可以将此变量保存在localStorage中,甚至可以保存在为此目的创建的虚拟字段中。并在所需的过程中使用。
  • 顺便说一句,获得fetchXml:Xrm.Page.getControl(gridControlName).getFetchXml()的支持方式

希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46223970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档