方法示例
1.excuteForAsyn(excuteFun,applicationId,doc,webUser,paramsTable)
示例(实现excuteForAsyn(excuteFun,applicationId,doc,webUser,paramsTable)函数的应用,无返回)
//异步执行循环计数
(function () {
var excuteFun = "println(\"异步方法=======================\");";
excuteFun += "var i = 0;";
excuteFun += "while(true){i++;println(\"i=\"+i);if(i == 10000){break;}}";
//调用异步执行方法
excuteForAsyn(excuteFun, getApplication(), getCurrentDocument(), getWebUser(), getParamsTable());
})()
2.getApplication()
示例(实现getApplication()函数的应用,返回应用软件标识ID)
//表单某字段值为当前软件Id (值脚本)
(function () {
var applicationId = getApplication();
return applicationId;
})()
3.getWebUser()
示例(实现getWebUser()函数的应用,返回当前登录用户对象)
//表单某字段值为当前登录用户的名称
(function () {
var userName = getWebUser().getName();
return userName;
})()
4.getDomainid()
示例(实现getDomainid()函数的应用,返回当前登录用户所属的企业域ID)
//表单某字段选项为当前企业域下的部门
(function () {
var dprocess = getDepartmentProcess();
var domainid = getDomainid();//获取当前登录用户所属的企业域ID
var depts = dprocess.queryByDomain(domainid); //根据企业域ID获取域下面的部门
var opts = $TOOLS.createOptions();
for (var it = depts.iterator(); it.hasNext();) {
var dept = it.next();
opts.add(dept.getName(), dept.getId());
}
return opts;
})()
5.getParamsTable()
示例(实现getParamsTable()函数的应用,获取参数列表对象)
//表单A、B,B表单某字段值为A表单某字段值,可以把A表单字段值放到参数表中,然后B表单字段从参数表单获取
(function () {
var params = createParamsTable(); //创建指定类对象
params.setParameter("user", getWebUser().getName()); //存值
var params = createParamsTable(); //创建指定类对象
var rtn = params.getParameter("user"); //取值
println(params.getParameter("user"));
return rtn;
})()
6.getParameter(paramName)
示例(实现getParameter(paramName)函数的应用,获取参数值以字符型返回)
//表单中某字段值为参数表对象中的软件Id
(function () {
var value = getItemValueAsString(“参数值”);
if (value == null || value.trim().length() <= 0) {
value = getParameter(“application”); //获取参数值以字符型返回
}
return value;
})()
7.getParameterAsText(paramName)
示例(实现getParameterAsText(paramName)函数的应用,获取参数值,以”;”进行切割格式化成文本型,以字符串的形式返回)
//表单中某字段值为参数表中某参数值以字符串的形式返回
(function () {
var value = getItemValueAsString("参数值");
if (value == null || value.trim().length() <= 0) {
value = getParameterAsText("param1"); //获取参数值以字符型返回
}
return value;
})()
8.getParameterAsDouble(paramName)
示例(实现getParameterAsDouble(paramName)函数的应用,获取参数值,以浮点型的形式返回)
//表单中某字段值为参数表中某参数值以浮点型式返回
(function () {
var params = getParamsTable();
params.setParameter("p1", '10.25'); //设置参数
var value = getItemValueAsString("获取参数");
if (value == null || value.trim().length() <= 0) {
value = getParameterAsDouble("p1"); //获取参数值
}
return value;
})()
9.getParameterAsArray(paramName)
示例(实现getParameterAsArray(paramName)函数的应用,获取参数值,并以字符数组的形式返回)
//在视图操作按钮的动作执行前脚本中获取视图勾选的记录去更新数据
(function () {
var array = createObject("java.util.ArrayList");
array = getParameterAsArray("_selects");
var process = getDocProcess(getApplication());
if (array.length > 0 & array[0] != null) {
for (var i = 0; i < array.length; i++) {
var doc = process.doView(array[i]); <br />
doc.findItem("内容").setValue("kimi and test");
process.doUpdate(doc);
}
} else {
"请选择要更新的数据";
}
})()
10.getContextPath()
示例(实现getContextPath()函数的应用,获取当前项目请求的URI部分)
//在计算脚本中获取当前项目请求的URL
(function () {
var doc = $CURRDOC.getCurrDoc();
var rtn = "";
var value = doc.getItemValueAsDouble("字段一");
var value2 = doc.getItemValueAsDouble("字段二");
var value3 = doc.getItemValueAsDouble("字段三");
if (value3 != "") {
if (value + value2 == value3) {
return rtn = "<img src=""+getContextPath()+" / resource / image / backstatelabel.gif"> <a href="http://www.teemlink.com">欢迎登录</a>";
}
else
return rtn = "不会吧,这也算错?!";
} else {
return rtn = "";
}
})()
11.createAlert(content)
示例(实现createAlert(content)函数的应用,创建警告对话框)
//表单保存单据前,对字段进行校验 (保存动作执行前脚本)
(function () {
var name = getItemValueAsString("姓名");
if (name != null && name.trim().length() <= 0) {
createAlert("姓名字段未填写,不能保存,请输入!");
}
})()
12.createConfirm(content)
示例(实现createConfirm(content)函数的应用,创建提示对话框)
//表单提交流程前,进行确实是否要提交流程 (流程处理动作执行前脚本)
createConfirm("确认要提交流程?");
13.getSession(sessionName)
示例(实现getSession(sessionName)函数的应用,获取Session属性值)
//表单某控件值为当前软件Id (值脚本)
(function () {
var request = $WEB.getParamsTable().getHttpRequest();
request.getSession().setAttribute("applicationid", getApplication()); //设置session值
getSession("applicationid");//获取session值
})()
14.getDepartmentByLevel(level)
示例(实现getDepartmentByLevel(level)函数的应用,获取指定部门的下级部门,并返回该部门的下级部门集合)
//表单某控件选项为指定等级的所有部门 (选项脚本)
(function () {
var opts = createOptions();
var deptUnderList = getDepartmentByLevel(1);
opts.add("", "");
for (var iter = deptUnderList.iterator(); iter.hasNext();) {
var deptUnder = iter.next();
var deptName = deptUnder.getName();
var deptId = deptUnder.getId();
opts.add(deptName, deptId);
}
return opts;
})()
15.getDeptIdByNameAndLevel(name,level)
示例(实现getDeptIdByNameAndLevel(name,level)函数的应用,获取指定部门的下级部门,并返回该部门的下级部门集合)
//表单某控件值为指定等级部门对象的Id (值脚本)
(function () {
var deptid = getDeptIdByNameAndLevel("行政部", 1);
return deptid;
})()
16.getRoleIdByName(name)
示例(实现getRoleIdByName(name)函数的应用,根据角色名获取角色ID)
//表单某控件值为指定角色的Id (值脚本)
(function () {
var roleid = getRoleIdByName("a角色");
return roleid;
})()
17.getUserIdByLoginno(loginno)
示例(实现getUserIdByLoginno(loginno)函数的应用,返回对应用户ID)
//表单某控件值为指定用户的Id (值脚本)
(function () {
var loginno = getWebUser().getLoginno();
var usid = getUserIdByLoginno(loginno);
return usid;
})()
18.getDepartmentsByParent(parent)
示例(实现getDepartmentsByParent(parent)函数的应用,获取指定部门的下级部门,并返回该部门的下级部门集合)
//表单A、B两字段,B字段的选项是根据A字段值动态获取指定部门的所有下一级部门
(function () {
var deptId = getItemValue("部门选择框");//部门选择框名:部门(部门选择框勾选刷新,下拉框勾选重计算)
var opts = $TOOLS.createOptions();
var deptUnderList = getDepartmentsByParent(deptId);
opts.add("", "");
for (var iter = deptUnderList.iterator(); iter.hasNext();) {
var deptUnder = iter.next();
var deptName = deptUnder.getName();
opts.add(deptName, deptName);
}
return opts;
})()
19.getUsersByDptId(dptid)
示例(实现getUsersByDptId(dptid)函数的应用,返回指定部门下的所有用户对象的集合)
//表单A、B两字段,B字段的选项是根据A字段值动态获取指定部门的所有用户对象
(function () {
var deptId = getItemValue("部门选择框");//部门选择框名:部门(部门选择框勾选刷新,下拉框勾选重计算)
var opts = createOptions();
var deptUnderUserList = getUsersByDptId(deptId);
opts.add("", "");
for (var iter = deptUnderUserList.iterator(); iter.hasNext();) {
var UserInfo = iter.next();
var name = UserInfo.getName();
var uid = UserInfo.getId();
opts.add(name, uid);
}
return opts;
})()
20.getUsersByRoleId(roleid)
示例(实现getUsersByRoleId(roleid)函数的应用,返回指定角色下的所有用户对象的集合)
//表单A字段的选项为获取指定角色的所有用户对象
(function () {
roleid = getRoleIdByName("a角色");
var users = getUsersByRoleId(roleid);
var opts = createOptions();
opts.add("", "");
for (var iter = users.iterator(); users != null && iter.hasNext();) {
var user = iter.next();
opts.add(user.getName(), user.getId());
}
return opts;
})()
21.getUsersByDptIdAndRoleId(dptid, roleid)
示例(实现getUsersByDptIdAndRoleId(dptid,roleid)函数的应用,返回指定部门、角色的所有用户对象的集合)
//表单A字段的选项为获取指定部门、角色下的所有用户对象
(function () {
var rolename = getItemValueAsString("角色");
var roleid = getRoleIdByName(rolename);
var dptid = getItemValueAsString("部门");
var users = getUsersByDptIdAndRoleId(dptid, roleid);
var opts = createOptions();
opts.add("", "");
if (users != null)
for (var iter = users.iterator(); iter.hasNext();) {
var user = iter.next();
opts.add(user.getName(), user.getId());
}
return opts;
})()
22.getAllUsers()
示例(实现getAllUsers()函数的应用,返回当前域下面的所有用户对象的集合)
//表单A字段的选项为当前企业域下的所有用户对象
(function () {
var users = getAllUsers();
var opts = createOptions();
opts.add("", "");
for (var iter = users.iterator(); users != null && iter.hasNext();) {
var user = iter.next();
opts.add(user.getName(), user.getId());
}
return opts;
})()
23.getAllRoles()
示例(实现getAllRoles()函数的应用,返回当前软件下面的所有角色对象的集合)
//表单A字段的选项为当前软件下的所有角色对
(function () {
var roles = getAllRoles();
var opts = createOptions();
opts.add("", "");
for (var iter = roles.iterator(); roles != null && iter.hasNext();) {
var role = iter.next();
opts.add(role.getName(), role.getId());
}
return opts;
})()
24.getRoleByRoleNo(roleno,applicationid)
示例(实现getRoleByRoleNo(roleno,applicationid)函数的应用,返回当前角色编号和软件id下的角色)
//表单A字段值为指定角色编号和软件id下的角色
(function () {
var role = getRoleByRoleNo("2", getApplication());
return role;
})()
25.queryByDSName(dsName,sql)
示例(实现queryByDSName(dsName,sql)函数的应用)
//表单A字段的选项为默认软件为当前软件的用户对象 (kd为数据源名称)
(function () {
var opts = createOptions();
opts.add("", "");
try {
var sql = "select * from t_user where defaultapplication='" + getApplication() + "'";
var datas = queryByDSName("kd", sql);
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);
}
}
} catch (e) { }
return opts;
})()
26.insertByDSName(dsName,sql)
示例(实现insertByDSName(dsName,sql)函数的应用)
//表单”无”操作按钮动作执行前脚本中写插入语句来新增数据
(function () {
var doc = getCurrentDocument();
var v1 = doc.getItemValueAsString("编号");
var v2 = doc.getItemValueAsString("内容")
var uuid = new Packages.cn.myapps.util.sequence.Sequence();
var sql = "insert into tlk_执行插入操作 (id,item_编号, item_内容) values('" + uuid.getSequence() + "','" + v1 + "','" + v2 + "')";
println(sql);
insertByDSName("mysqltest", sql);
})()
//在定时任务中,插入表单内容的脚本如下
var process = Packages.cn.myapps.designtime.common.service.DesignTimeServiceFactory.resolve("cn.myapps.designtime.datasource.service.DataSourceDesignTimeService");
process.queryInsert(dsName, sql, getApplication());
27.updateByDSName(dsName,sql)
示例(实现updateByDSName(dsName,sql)函数的应用)
//在视图操作按钮的执行前脚本设置更新表单的内容
(function () {
var sql = "update tlk_test set item_b='updateTest'";
updateByDSName("数据源名称", sql);
})()
//在定时任务中,更新表单内容的脚本如下
var DataSourceDesignTimeServiceImpl = new Packages.cn.myapps.designtime.datasource.service.DataSourceDesignTimeServiceImpl();
DataSourceDesignTimeServiceImpl.createOrUpdate(String dataSourceName, String sql, String applicationId);
28.deleteByDSName(dsName,sql)
示例(实现deleteByDSName(dsName,sql)函数的应用)
//删除表单的内容
(function () {
var sql = "delete from tlk_执行SQL删除操作";
deleteByDSName("mysqltest", sql);
})()
//在定时任务中,删除表单内容的脚本如下
DataSourceDesignTimeServiceImpl.remove(String dataSouceName, String sql, String application)
29.beginTransaction(dsName)
示例(beginTransaction(dsName)函数的应用)
//开启事务
(function () {
beginTransaction("mysqltest");
})()
30.commitTransaction(dsName)
示例(commitTransaction(dsName)函数的应用)
//提交事务
(function () {
commitTransaction("mysqltest");
})()
31.rollbackTransaction(dsName)
示例(rollbackTransaction(dsName)函数的应用)
//回滚事务
(function () {
rollbackTransaction("mysqltest");
})()
32.getUserById(userid)
示例(实现getUserById(userid)函数的应用)
//根据用户编号返回用户对象,并获取当前用户所属角色
(function () {
var userid = getItemValueAsString("用户"); //用户选择框(单选)
var userVO = getUserById(userid); //根据用户编号获取用户对象
var roles = userVO.getRoles() //获取指定用户的所属角色集合
var opts = createOptions();
opts.add("", "");
for (var iter = roles.iterator(); roles != null && iter.hasNext();) {
var role = iter.next();
opts.add(role.getName(), role.getId());
}
return opts;
})()
33.getUserByLoginno(loginno)
示例(实现getUserByLoginno(loginno)函数的应用)
//根据账号返回用户对象,并获取当前用户所属角色
(function () {
var userVO = getUserByLoginno("bbbb");
var roles = userVO.getRoles()
var opts = createOptions();
opts.add("", "");
for (var iter = roles.iterator(); roles != null && iter.hasNext();) {
var role = iter.next();
opts.add(role.getName(), role.getId());
}
return opts;
})()
34.getRoleByName(name)
示例(实现getRoleByName(name)函数的应用)
//根据角色名称获取角色对象
(function () {
var roleVO = getRoleByName("a角色");
return roleVO;
})()
35.doUpdateDocumentWithouVersions(doc)
示例(实现doUpdateDocumentWithouVersions(doc)函数的应用,更新文档但不更新版本号)
//一个表单中有更新的值脚本,操作点击保存后出现如:“您此前编辑的文档不是最新版本,
//无法进行保存操作, 现系统已为您加载到最新版本!”此时在动作执行前调用此方法可以把这个提示给去掉
(function () {
var doc = getCurrentDocument();
doUpdateDocumentWithoutVersions(doc);
})()
36.println(text)
示例(实现println(text)函数的应用)
//输出文本到控制台,可以在应用服务器的后台和前台调试模式下的控制查看打印内容
(function () {
var doc = getCurrentDocument();
" + doc.getAuditorNames());println("当前审批人:
})()