木棉

导航

CRM2011 禁用单据后灰掉自定义按钮

1、根据statecode状态判断

function rt_getRibbonStatusByStateCode() {
    try {
        if (Xrm.Page.data != null && Xrm.Page.data.entity != null && Xrm.Page.data.entity.getId() != null && Xrm.Page.data.entity.getId() != "") {
            var id = Xrm.Page.data.entity.getId();
            var typename = Xrm.Page.data.entity.getEntityName();
            var obj = rt_getRefFieldValue(id, typename, typename + "Id", "statecode");
            if (obj != null && obj.statecode != null) {
                if (obj.statecode == "1") {
                    return false;
                }
            }
        }
        return true;
    }
    catch (e) {
        return true;
    }
}

 

2、在ribbon节中加上如下配件

<RuleDefinitions>
          <TabDisplayRules />
          <DisplayRules/>
          <EnableRules>
            <EnableRule Id="Mscrm.StateCode.Enabled">
              <CustomRule FunctionName="rt_getRibbonStatusByStateCode" Library="$Webresource:new_rt_common.js" Default="true"></CustomRule>
            </EnableRule>
          </EnableRules>
        </RuleDefinitions>

3、在对应自定义按钮配置项下加入

            <EnableRules>
              <EnableRule Id="Mscrm.StateCode.Enabled" />
            </EnableRules>

posted on 2012-03-11 18:23  木棉  阅读(229)  评论(0)    收藏  举报