我們知道在CRM的js文件里引用XrmPageTemplate.js后,就可以實現智能提示,但每個js文件都引用太麻煩了,其實可以利用vs的功能讓每個js文件自動實現智能提示CRM的js;
另外,我們調試js,發布js文件也是比較繁瑣的事情,最好的辦法是全部調好,再發布上去,本文介紹用firefox + firebug + frame可以很方便地調試CRM js,全部調好后,再上傳js,明顯可以加快開發的速度。
1. 智能提示
- CRM相關的方法屬性的vs 里加上XrmPageTemplate.js:
http://yunpan.cn/cyy2BDaXnhQcC 提取碼 e7f7
這樣我們就不用在每個js里添加這個引用,直接就可以打點出提示了:
- 頁面字段的智能提示
首先獲取頁面上所有的字段信息:
var page = {};
var pageAttr = {};
var cArrs = Xrm.Page.getControl();
for (var i = 0; i < cArrs.length; i++) {
var col = cArrs[i];
var name = col.getName().replace("new_", "");
page[name] = col;
if (col.getControlType() != 'subgrid')
pageAttr[name] = col.getAttribute();
}
//發布前注釋下面5行
var txt = '';
for (var c in page) {
txt += (c + ":{},");
}
console.log(txt);
然后,copy左邊的所有字段信息,放入到變量里,方便開發,真正發布時,要在頁面加載時調用init方法來動態初始化:
var page = {};
var pageAttr = {};
//發布前注釋下面2行
var page = { date: {}, accountid: {}, currencyid: {}, goods_return: {}, amount: {}, approval_status: {}, name: {}, createdby: {}, ownerid: {}, footer_statecode: {}, CreditNoteItem: {}, ai: {}, expense_item: {} };
var pageAttr = { date: {}, accountid: {}, currencyid: {}, goods_return: {}, amount: {}, approval_status: {}, name: {}, createdby: {}, ownerid: {}, footer_statecode: {}, CreditNoteItem: {}, ai: {}, expense_item: {} };
function init() {
var cArrs = Xrm.Page.getControl();
for (var i = 0; i < cArrs.length; i++) {
var col = cArrs[i];
var name = col.getName().replace("new_", "");
page[name] = col;
if (col.getControlType() != 'subgrid')
pageAttr[name] = col.getAttribute();
}
//發布前注釋下面5行
var txt = '';
for (var c in page) {
txt += (c + ":{},");
}
console.log(txt);
}
然后就可以點出字段來了:
2. 調試
- Firefox + Firebug + FireFrame
先點一下Attach to Frame, 然后在頁面上點一下以定位到具體的frame
- 另外,也可以用下面的插件,直接在下拉框里選frame:
http://www.cnblogs.com/ziyunfei/archive/2012/12/13/2815543.html
這樣我們就可以在不同的frame里調試CRM 的js了。