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