Dynamic crm 365 - 高级查找

在实现一些特殊场景功能的时候,我们会想实现类似高级查找的效果,但是如果是自己实现的话又会很麻烦,既要获取到实体字段,又要提供操作符,如果是lookup(查找)字段的话,还要获取关联实体的数据。这时候我们可以使用微软提供的一个页面来实现这个功能,效果如下图:

Dynamic crm 365 - 高级查找_第1张图片

设置步骤如下:

1、在窗体上插入一个iframe

2、设置iframe的路径指向

Xrm.Page.context.getClientUrl() + "/SFA/goal/ParticipatingQueryCondition.aspx?entitytypecode=实体编码

前面部分是动态获取当前CRM组织地址,后面是固定路径,参数传的是实体的编码,是从EntityView视图获取的,实例sql:select ObjectTypeCode from EntityView where Name='account'。或者是使用前端脚本的方式获取,用http的方式去查询EntityDefinitions的数据,查询代码后续提供。

3、这时候效果已经出来了,如果要获取该高级查找的fetchxml的话,可以执行

Xrm.Page.getControl(iframeControl).getObject("advFind").contentWindow.$find("advFind").get_fetchXml()

要赋值可以执行 

①、清空现有的xml

Xrm.Page.getControl(iframeControl).getObject("advFind").contentWindow.$find("advFind").set_fetchXml(null);

②、给xml赋值

Xrm.Page.getControl(iframeControl).getObject("advFind").contentWindow.$find("advFind").set_fetchXml(fetchxml);

你可能感兴趣的:(Dynamic,crm,Dynamic,365,C#,c#,javascript)