首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dynamics 2015通过FetchXML查询返回子网格中的活动记录主题超链接打开新的活动

Dynamics 2015通过FetchXML查询返回子网格中的活动记录主题超链接打开新的活动
EN

Stack Overflow用户
提问于 2016-03-08 14:08:17
回答 1查看 477关注 0票数 0

我正试图在Dynamics 2015中的联系人实体的表单上创建一个子网格,该表单返回所有电子邮件、任务、约会和电话通话活动,在这些活动中,活动涉及已加载表单的联系人,或该联系人是该活动的参与者(即在发件人或发送到/CC/BCC字段中的电子邮件,或在约会的与会者名单上)。

我在联系人表单中添加了一个新的子网格(目前称为"NewActivities“),它使用了我创建的特定活动视图(设计时使用的标准是”永远不会“返回任何结果- DateCreated >= 01/01/2050),然后创建了一个javascript函数,该函数已作为Web资源包含在我的解决方案中,并正在调用表单的OnLoad事件:

代码语言:javascript
运行
复制
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();

}

希望上面的内容是有意义的,我返回的属性与我设置的子网格中使用的Activity的属性相匹配,然后筛选我想要的活动类型,以及Activity是页面上的联系人的位置,对于所有的参与类型(我认为这可能是不必要的,但是我的FetchXML是从高级查找查询构建的,所以它显式地包含了值,因为我选择了所有这些值)。

这似乎很好,因为当页面加载时,我在子格中看到了正确的活动列表,但是如果我单击列表中任何活动的主题值,我就会被带到该活动的"New“表单中,而不是链接到所列出的活动。例如,如果在我的子网格列表中返回了一封电子邮件,当我单击Subject列中该活动在子网格中的值时,它将加载New Email表单,而不是像我所期望的那样将我带到特定的电子邮件活动记录中。

有人能告诉我为什么会发生这种事吗?我如何解决这个问题?

(我也有一个额外的问题,有时当导航到这个联系人表单时,子网格并不总是刷新--尽管我的javascript确实在运行),因此子网格没有显示任何活动记录。如果在加载页面后手动刷新子网格,结果就会显示出来--我也不明白为什么会发生这种情况。它似乎是当导航远离联系人表单,然后在浏览器中使用Back返回时,但我在页面刷新时也出现了这种情况。对不起,如果我不打算在同一篇文章中包含两个问题,那么如果需要的话,我显然可以单独发布这个问题,但我认为这是值得提及的,因为它与我试图实现的相同功能有关。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-10 23:23:34

不用亲自尝试..。可能完全没抓住重点..。但是,在提取中没有“Id”属性。如果它位于插件端,则检索到的记录中将没有记录id。尝试添加activitypointerid (或者它是activityid吗?)

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

https://stackoverflow.com/questions/35869585

复制
相关文章

相似问题

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