FetchXML 查询在子网格中返回的动态 CRM 2015 中的活动记录 - 主题超链接将打开新的活动
Activity records in Dynamics CRM 2015 returned in subgrid by FetchXML query - Subject hyperlink opens new Activity
>我正在尝试在Dynamics CRM 2015中的联系人实体的窗体上创建一个子网格,该子网格返回所有电子邮件,任务,约会和电话联络活动,其中活动是关于已加载表单的联系人,或者该联系人是活动的参与者(即在电子邮件的发件人或收件人/抄送/密件抄送字段中, 或在约会的与会者列表中)。
我已经在我的联系表单中添加了一个新的子网格(现在称为"NewActivities"),它使用我创建的特定活动视图(并且设计有"永远不会"返回任何结果的条件 - DateCreated>= 01/01/2050),然后创建了一个 javascript 函数,我已将其作为 Web 资源包含在我的解决方案中,并在表单的 OnLoad 事件中调用:
function DisplaySubGrid() {
var subgrid = document.getElementById("NewActivities");
if (subgrid == null) {
setTimeout('DisplaySubGrid()', 1000);
return;
}
var fetchXml =
"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'>"
+ "<entity name='activitypointer'>"
+ "<attribute name='activitytypecode' />"
+ "<attribute name='subject' />"
+ "<attribute name='statecode' />"
+ "<attribute name='regardingobjectid' />"
+ "<attribute name='ownerid' />"
+ "<attribute name='scheduledend' />"
+ "<attribute name='createdby' />"
+ "<attribute name='createdon' />"
+ "<order attribute='scheduledend' descending='false' />"
+ "<order attribute='subject' descending='false' />"
+ "<filter type='and'>"
+ "<condition attribute='activitytypecode' operator='in'>"
+ "<value>4201</value>"
+ "<value>4202</value>"
+ "<value>4210</value>"
+ "<value>4212</value>"
+ "</condition>"
+ "</filter>"
+ "<link-entity name='activityparty' from='activityid' to='activityid' alias='ae'>"
+ "<filter type='and'>"
+ "<condition attribute='participationtypemask' operator='in'>"
+ "<value>4</value>"
+ "<value>3</value>"
+ "<value>11</value>"
+ "<value>6</value>"
+ "<value>7</value>"
+ "<value>9</value>"
+ "<value>8</value>"
+ "<value>5</value>"
+ "<value>10</value>"
+ "<value>1</value>"
+ "<value>2</value>"
+ "</condition>"
+ "<condition attribute='partyid' operator='eq' uiname='" + Xrm.Page.getAttribute("fullname").getValue() + "' uitype='contact' value='" + Xrm.Page.data.entity.getId() + "' />"
+ "</filter>"
+ "</link-entity>"
+ "</entity>"
+ "</fetch>"
subgrid.control.SetParameter("fetchXml", fetchXml);
subgrid.control.refresh();
}
希望以上内容有意义,我返回的属性与我设置的子网格中使用的活动视图的属性相匹配,然后过滤我想要的活动类型以及活动方是页面上联系人的位置,对于所有参与类型(我想这可能是不必要的, 但是我的 FetchXML 是从高级查找查询构建的,因此它显式包含值,因为我选择了所有值)。
这似乎工作正常,因为当页面加载时,我在子网格中看到正确的活动列表,但是如果我单击列表中任何活动的"主题"值,我将被带到该活动的"新建"表单,而不是链接到列出的活动。因此,例如,如果返回的子网格列表中有电子邮件,则当我单击子网格中该活动的"主题"列中的值时,它会加载"新建电子邮件"表单,而不是像我预期的那样将我带到该特定的电子邮件活动记录。
谁能建议为什么会发生这种情况以及我如何解决它?
(我还有一个额外的问题,有时 导航到此联系人窗体,子网格并不总是刷新 - 即使我的 JavaScript 肯定在运行 - 所以子网格 不显示任何活动记录。如果我在之后手动刷新子网格 页面加载,显示结果 - 我不明白为什么会这样 要么发生。似乎是在离开联系表格时 然后使用浏览器中的返回返回,但我也有 它发生在页面刷新时。对不起,如果我不想包括 同一帖子中的两个问题,我显然可以发布这个问题 如果我需要,请单独提及,但认为值得一提,因为它相关 到我正在尝试实现的完全相同的功能。
没有自己尝试过这个......可能只是完全错过了重点......但是,你的fetch中没有"Id"属性......如果它在插件端,检索到的记录中就不会有记录ID..尝试添加activitypointerid(或者它是那个的活动ID?)
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 活动选项卡's源代码-获取变量s值
- 在Angular 2中布线期间保持零部件处于活动状态
- AngularJs对所有页面中的所有记录进行排序
- 在ajax成功后,cluetip不适用于首次点击活动元素
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- window.location替换并传递URL历史记录条目中的变量
- 如何使bxslider仅在移动视图中处于活动状态
- Javascript历史记录转换为php行
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 活动在magento中记录用户角色和权限
- 在 popState 定义的上下文中,浏览器活动历史记录的含义是什么?
- FetchXML 查询在子网格中返回的动态 CRM 2015 中的活动记录 - 主题超链接将打开新的活动
- 使用单引号(撇号)转义将活动记录对象解析为 json
- 创建具有 rails 活动记录关联的 javascript 变量
- react js和rails在具有活动记录关系的组件上更新状态
- ReactJS如何处理Rails活动记录关联
- 谷歌分析增强电子商务不会记录购物车活动
- 检索SalesForce联系人活动历史记录