1、CRM2011编程实战——清空指定页签以下的全部选项,并对页签以下的指定控件进行操作

需求:当页面载入时,“呼叫编号”保持不变,“任务号”自己主动更新。“接报时间”和“发生日期”自己主动设置为当天日期和时间,其他选项所有恢复为初始状态。

字段说明:

控件名称

控件名称

控件名称

反馈单登录

tab_4

任务号

hxcs_ftaskcode

接报时间

hxcs_fdatetimeofcasehappended

发生日期

hxcs_fdatetimeofcasehappended

呼叫编号

hxcs_fcallnum

重要电话

hxcs_fissendout

是否反复反馈

hxcs_fisrepeatreport

是否派单给其他部门

hxcs_fisimportanttel

 

是否回复

hxcs_fisreply

当前状态

hxcs_fcurrentstate

 

Js代码例如以下:

function controlTagCtlClear() {
    var t = Xrm.Page.ui.tabs.get("tab_4"); //页签名称
    var ctrlName;
    if (t != null && t != undefined && t.sections != null) {
        t.sections.forEach(function (sec, index) {
            sec.controls.forEach(function (ctrl, filter) {
                ctrlName = ctrl.getName();
                if (ctrlName == "hxcs_fcallnum" || ctrlName == "hxcs_ftaskcode") {

                }
                else if (ctrlName == "hxcs_fisrepeatreport" || ctrlName == "hxcs_fissendout" || ctrlName == "hxcs_fisreply" || ctrlName == "hxcs_fisimportanttel") {
                    ctrl.getAttribute().setValue(0);
                }
                else if (ctrlName == "hxcs_fcurrentstate") {
                    ctrl.getAttribute().setValue(1);
                }
                else if (ctrlName == "hxcs_fdatetimeofrequesthelp" || ctrlName == "hxcs_fdatetimeofcasehappended") {
                    ctrl.getAttribute().setValue(new Date());
                }
                else {
                    ctrl.getAttribute().setValue(null);
                }
            })
        })
    }
}
function getAutoTaskNo() {
    if (Xrm.Page.ui.getFormType() == 1)//仅仅在新建记录时赋值
    {
        var datatime = getAutoNoValue();
        Xrm.Page.getControl("hxcs_ftaskcode").getAttribute().setValue(datatime);
    }
}
//yyMMddhhmmss
function getAutoNoValue() {
    var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();
    var hour = date.getHours();
    var minute = date.getMinutes();
    var second = date.getSeconds();
    var clientDatetime = year.toString() + month.toString() + day.toString() + hour.toString() + minute.toString() + second.toString();
    return clientDatetime;
}

窗口设置:

扩展:

//控制指定页签隐藏or显示

function controlTagShow(tName, isShow) {

    var t = Xrm.Page.ui.tabs.get(tName);

    if (t != null && t != undefined) {

        t.setVisible(isShow);

    }

}

//控制指定页签以下的全部控件开启or禁用

function controlTagCtlDisabled(tName, isEnable) {

    var t = Xrm.Page.ui.tabs.get(tName);

    if (t != null && t != undefined && t.sections != null) {

        t.sections.forEach(function (sec, index) {

            sec.controls.forEach(function (ctrl, filter) {

                ctrl.setDisabled(isEnable);

            })

        })

    }

}


原文地址:https://www.cnblogs.com/mfmdaoyou/p/6785016.html