簡體   English   中英

FetchXML查詢在子網格中返回的Dynamics 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資源包含在我的解決方案中,並正在調用Form的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確實正在運行,子網格也不會始終刷新-因此該子網格不會顯示活動記錄。如果我在頁面后手動刷新該子網格,加載時,將顯示結果-我也不明白為什么會這樣,似乎是在離開聯系表單,然后在瀏覽器中使用“后退”返回時,但我也曾在頁面上發生過這種情況抱歉,如果我不打算在同一篇文章中包含兩個問題,顯然可以根據需要單獨發布此問題,但值得一提,因為它與我要實現的功能完全相同。 )

不用自己嘗試..可能只是完全忽略了重點..但是,您的提取中沒有'Id'屬性。.如果它在插件端,則檢索到的記錄中將沒有記錄ID。添加activitypointerid(或者它是那個的activityid嗎?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM