日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MS CRM 2011 用Jscript打开新窗口的几种方法

發布時間:2025/7/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MS CRM 2011 用Jscript打开新窗口的几种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

在CRM中,我們經常遇到這樣的情況,點擊一個按鈕,需要彈出一個新的窗口。比如在客戶中添加新聯系人:

在MS CRM2011中,有以下幾種方法可以打開一個新的窗口:

(1) Xrm.Utility.openEntityForm

(2) window.open

(3) openObj

前兩種是在SDK中支持的,尤其推薦使用第一種,但要注意Xrm.Utility這個對象只在Rollup 8以后的版本才支持。這里順便列出來CRM 2011各個Rollup的版本號:

Build Version?
RTM: 5.0.9688.583 (English)

Rollup 1 - 5.0.9688.1045?
Rollup 2 - 5.0.9688.1155 -> CRM2011-Server-v2 - 5.0.9688.1157?
Rollup 3 - 5.0.9688.1244?
Rollup 4 - 5.0.9688.1450?
Rollup 5 - 5.0.9688.1533?
Rollup 6 - 5.0.9690.1992 -> has been re-released (original release version: 5.0.9689.1985)?
Rollup 7 - 5.0.9690.2165?
Rollup 8 - 5.0.9690.2243?
Rollup 10 - 5.0.9690.2740 -> has been re-released (original release version: 5.0.9690.2730)

Note?
Update Rollup 9 was not released because of a delay in the Q2 Service Update.?
Update Rollup 10 fixes all the issues that would have been included in Update Rollup 9

?

下面來分別看一下這幾個方法的使用:

(1) Xrm.Utility.openEntityForm

我們利用該方法來自己實現一個在客戶中添加聯系人的按鈕。該方法具體參見SDK – “Set Field Values Using Parameters Passed to a Form”。

var parameters = {};// Two Options 字段 parameters["donotemail"] = 1;// Text 字段 parameters["firstname"] = "Aaron"; parameters["lastname"] = "Babbitt";// currency字段 parameters["creditlimit"] = 10000;// Option Set 字段 parameters["gendercode"] = 1;// Date 字段 parameters["birthdate"] = "1/31/1990";// simple lookup parameters["preferredserviceid"] = "2CBBB5B6-DA13-E211-905F-00155DA83B32"; parameters["preferredserviceidname"] = "Accountbezoek";// customer lookup parameters["parentcustomerid"] = Xrm.Page.data.entity.getId(); parameters["parentcustomeridname"] = Xrm.Page.getAttribute("name").getValue(); parameters["parentcustomeridtype"] = "account";// owner lookup parameters["ownerid"] = "D1655DCE-F90E-E211-905F-00155DA83B32"; parameters["owneridname"] = "Daisy Cabell"; parameters["owneridtype"] = "systemuser"; Xrm.Utility.openEntityForm("contact", null, parameters);

注意partylist lookup和regarding lookup都不可以添加到openEntityForm 的參數中,因為partylist lookup和regarding lookup都是multiple lookup。

?

(2) window.open:

window.open方法雖然用起來不是很美觀,但是可以控制feather(控制新窗口是怎樣打開的),具體可以參見下面的例子。另外要注意參數要進行編碼,這里用的是encodeURIComponent方法。在之前的文章中,我還介紹過使用CrmEncodeDecode.CrmNameValueEncode方法來進行編碼。這兩個方法都可以使用。解碼的方法就分別為decodeURIComponent和CrmEncodeDecode.CrmNameValueDecode。

// Two Options 字段 var extraqs = "donotemail=1";// Text 字段 extraqs += "&firstname=Aaron"; extraqs += "&lastname=Babbitt";// currency字段 extraqs += "&creditlimit=10000";// Option Set 字段 extraqs += "&gendercode=1"; // Date 字段 extraqs += "&birthdate=1/31/1990";// simple lookup extraqs += "&preferredserviceid={2CBBB5B6-DA13-E211-905F-00155DA83B32}"; extraqs += "&preferredserviceidname=Accountbezoek";// customer lookup extraqs += "&parentcustomerid=" + Xrm.Page.data.entity.getId(); extraqs += "&parentcustomeridname=" + Xrm.Page.getAttribute("name").getValue(); extraqs += "&parentcustomeridtype=account";// owner lookup extraqs += "&ownerid={D1655DCE-F90E-E211-905F-00155DA83B32}"; extraqs += "&owneridname=Daisy Cabell"; extraqs += "&owneridtype=systemuser";// Open the window. var features = "location=no,menubar=no,status=no,toolbar=no"; window.open("/main.aspx?etn=contact&pagetype=entityrecord&extraqs=" + encodeURIComponent(extraqs), "_blank", features, false);

(3) openObj:

這個方法在我之前的文章中也介紹過(是使用F12 Developer Tools工具來剖析出來的方法?)。由于這個方法并不被SDk所支持,所以還是建議大家使用前兩種方法。












本文轉自JF Zhu博客園博客,原文鏈接: ?http://www.cnblogs.com/jfzhu/archive/2012/10/12/2720724.html??,如需轉載請自行聯系原作者


總結

以上是生活随笔為你收集整理的MS CRM 2011 用Jscript打开新窗口的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。