zoukankan      html  css  js  c++  java
  • Dynamic CRM 2013学习笔记(二十三)CRM JS智能提示(CRM 相关的方法、属性以及页面字段),及发布前调试

    我们知道在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

    image

    这样我们就不用在每个js里添加这个引用,直接就可以打点出提示了:

    image

    • 页面字段的智能提示 

    首先获取页面上所有的字段信息:

    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);

    image

     

    然后,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);
    }

    然后就可以点出字段来了:

    image

    2. 调试

    • Firefox + Firebug + FireFrame

    image

    先点一下Attach to Frame, 然后在页面上点一下以定位到具体的frame

    • 另外,也可以用下面的插件,直接在下拉框里选frame:

    http://www.cnblogs.com/ziyunfei/archive/2012/12/13/2815543.html

    image

    这样我们就可以在不同的frame里调试CRM 的js了。

    Dynamic CRM 2013学习笔记 系列汇总

  • 相关阅读:
    RE
    【LeetCode】198. House Robber
    【LeetCode】053. Maximum Subarray
    【LeetCode】152. Maximum Product Subarray
    【LeetCode】238.Product of Array Except Self
    【LeetCode】042 Trapping Rain Water
    【LeetCode】011 Container With Most Water
    【LeetCode】004. Median of Two Sorted Arrays
    【LeetCode】454 4Sum II
    【LeetCode】259 3Sum Smaller
  • 原文地址:https://www.cnblogs.com/fengwenit/p/4193394.html
Copyright © 2011-2022 走看看