表单控件¶
环境变量含义见 可获取的环境变量(参数)。表单控件脚本一般可使用
WebUser、CurrentDocument、RelateDocument、ParentDocument、Params。
设置表单控件的值¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->表单控件->值 | 表单打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:String含义:新建表单时,需要默认显示当前用户姓名 |
示例代码:
//用当前用户名填充控件默认值
(function () {
var applicant = getItemValueAsString("报销人");
if (applicant == null || applicant == "") {
applicant = getWebUser().getname();
}
return applicant;
})()
设置表单选项类控件的选项¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->表单控件->选项 | 表单打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:String或Options对象含义:选项内容 |
示例代码:
//用t_user表的数据填充选项,可以返回Options对象,或者 "1:A;2:B" 或者 "A;B"格式字符串
(function () {
//创建指定类对象
var opts = createOptions();
opts.add("", "");
var sql = "select id, name from t_user";
var datas = queryByDSName("MY_DS", sql);//MY_DS为数据源
if (datas != null) {
for (var iterator = datas.iterator(); iterator.hasNext();) {
var map1 = iterator.next();//取值
var name = map1.get("name");
var value = map1.get("id");
opts.add(name, value);
}
}
return opts;
})()
对表单控件输入进行校验¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->表单控件->校验 | 表单打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:String含义:校验失败时提示语 |
示例代码:
//校验控件值不能为空
(function () {
var rt = getItemValueAsString("职务");
if (rt == null || rt === "") {
return "'职务'不能为空";
}
return "";
})()
判断表单控件是否只读¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->表单控件->只读条件 | 表单打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:Boolean含义:true(只读)|false(可编辑) |
示例代码:
//当控件IsStartup值为"02"时,则当前字段只读
(function () {
var doc = getCurrentDocument();
var IsSartup = doc.getItemValueAsString("IsStartup");
var flag = true;
if (IsSartup === "02") {
flag = false;
}
return flag;
})()
判断表单控件是否需要隐藏¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->表单控件->隐藏条件 | 表单打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:Boolean含义:true(隐藏)|false(可见) |
示例代码:
//当控件IsStartup值为"02"时,则当前字段隐藏
(function () {
var doc = getCurrentDocument();
var IsSartup = doc.getItemValueAsString("IsStartup");
var flag = true;
if (IsSartup === "02") {
flag = false;
}
return flag;
})()
判断表单控件打印时是否需要隐藏¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->表单控件->打印时隐藏条件 | 点击打印按钮时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:Boolean含义:true(隐藏)|false(可见) |
示例代码:
//当前用户的角色为非"系统管理员"时,则当前控件隐藏
(function () {
var roleid = getRoleIdByName("系统管理员");
var roles = getWebUser().getRoles();
var isHidden = true;
if (roles != null && roles.size() > 0) {
for (var it = roles.iterator(); it.hasNext();) {
var roleVO = it.next();
if (roleid === roleVO.getId()) {
isHidden = false;
break;
}
}
}
return isHidden;
})()
表单按钮类控件动作执行前脚本¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->按钮 | 表单按钮动作执行前触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:String|Message含义:无返回值,不做处理 |
示例代码:
表单按钮类控件动作执行后脚本¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->按钮 | 表单按钮动作执行后触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
无 |
示例代码:
//表单按钮动作执行成功后给用户发送邮件通知
(function () {
var from = getItemValueAsString("from");//发送人地址
var to = getItemValueAsString("to");//接收人地址
var subject = getItemValueAsString("subject");//邮件主题
var content = getItemValueAsString("content");//邮件内容
sendMail(from, to, subject, content);
})()
判断表单选项卡控件页签是否只读¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->选项卡->页签->只读条件 | 页签打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:Boolean含义:返回输出一个布尔值,true代表只读,false代表不只读 |
示例代码:
//当用户为"张三"时可编辑,否则只读
(function () {
var userName = getWebUser().getName();
if (userName === "张三") {
return false;
}
return true;
})()
判断表单选项卡控件页签是否在打印时隐藏¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->选项卡->页签->打印时隐藏条件 | 页签打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:Boolean含义:返回输出一个布尔值,true代表隐藏,false代表不隐藏 |
示例代码:
//当用户为"张三"时,打印时隐藏,否则可见
(function () {
var userName = getWebUser().getName();
if (userName === "张三") {
return false;
}
return true;
})()
设置调查控件问卷选项¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->调查控件->问卷脚本 | 表单打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:Question对象含义:问卷内容 |
示例代码:
//调查控件
(function () {
var q = createQuestion(1, "你的爱好("多选")");
q.addCheckboxOption("羽毛球", "羽毛球");
q.addCheckboxOption("游泳", "游泳");
var qs = new java.util.ArrayList();
qs.add(q);
return qs;
})()
设置二维码控件内容¶
| 位置 | 触发时机 | 可以获取的环境变量(参数) | 返回值 |
|---|---|---|---|
| 表单->二维码控件->内容脚本 | 表单打开时触发 | WebUser、CurrentDocument、RelateDocument、ParentDocument、Params |
类型:String含义:内容字符串,如内容为url地址,则扫码后会跳转到此url地址 |
示例代码: