文档函数¶
方法清单¶
| 函数名 | 参数 | 说明 |
|---|---|---|
| getDocItemValue(docid, fieldName) | docid: 文档的id标识;fieldName: 文档的字段名 | 获取文档中Item的值,且以字符串形式返回 |
| getDocItemValueAsString(docid, fieldName) | docid: 文档的id标识;fieldName: 文档的字段名 | 获取文档中Item的值,且以字符串形式返回 |
| getDocItemValueAsDouble(docid, fieldName) | docid: 文档的id标识;fieldName: 文档的字段名 | 获取文档中Item的值,且以double形式返回 |
| getDocItemValueAsDate(docid, fieldName) | docid: 文档的id标识;fieldName: 文档的字段名 | 获取文档中Item的值,且以日期形式返回 |
| getDocItemValueAsInt(docid, fieldName) | docid: 文档的id标识;fieldName: 文档的字段名 | 获取文档中Item的值,且以整型形式返回 |
| findDocument(docid) | docid:文档的id标识 | 根据给定的docid,获取Document对象 |
| queryByDQL(dql) | dql:查询符合条件语句 | 根据dql查询符合条件的Document,结果以Collection对象返回 |
| queryBySQL(sql) | sql:查询符合条件语句 | 根据sql查询符合条件的Document,结果以Collection对象返回 |
| queryByDQLWithCache(dql) | dql:查询符合条件语句 | 根据dql查询符合条件的Document,结果以Collection对象返回,并启用缓存 |
| queryBySQLWithCache(sql) | Sql:查询符合条件语句 | 根据sql查询符合条件的Document,结果以Collection对应返回,并启用缓存 |
| findByDQL(dql) | dql:查询符合条件语句 | 根据DQL获取文档 |
| findBySQL(sql) | Sql:查询符合条件语句 | 根据SQL获取文档 |
| queryByDQLDomain(dql, domainName) | dql:查询符合条件语句domainName:企业域名称 | 根据dql和域名查询符合条件的Document,结果以Collection对象返回 |
| countByDQL(dql) | dql:查询符合条件语句 | 根据dql统计符合条件的Document数量 |
| countBySQL(sql) | sql:查询符合条件语句 | 根据sql统计符合条件的Document数量 |
| sumByDQL(dql, fieldName) | dql:查询符合条件语句fieldName:文档的字段名 | 根据dql汇总符合条件的Document的指定字段 |
| sumBySQL(sql) | sql:汇总符合条件语句 | 根据sql汇总符合条件的Document指定字段 |
| checkFieldUnique(fieldName, fieldValue, msg) | fieldName: 文档的字段名fieldValue:文档的字段值msg:提示信息内容 | 判断唯一性 |
| isFirtNodeByDocId(docid) | docid: 文档的id标识 | 获取指定文档是否处在第一个节点,返回值为:true|false |
| isCompleteByDocId(docid) | docid: 文档的id标识 | 获取指定文档是否审批完成,返回值为:true|false |
方法示例¶
1.getDocItemValue(docid, fieldName)
作用:实现getDocItemValue(docid, fieldName)函数的应用,获取指定文档的Item值
脚本示例:
//表单某字段值为指定文档的指定字段的值(值脚本)
(() => {
const docid = getCurrentDocument().getId();
const value = DOC.getDocItemValue(docid, "字段一");
return value;
})()
2.getDocItemValueAsString(docid, fieldName)
作用:实现getDocItemValueAsString(docid, fieldName)函数的应用,获取指定文档的Item值
脚本示例:
//表单某字段值为指定文档的指定字段的值(值脚本)
(() => {
const doc = getCurrentDocument();
const docid = doc.getId();
const value = DOC.getDocItemValueAsString(docid, "文档名称");
return value;
})()
3.getDocItemValueAsDouble(docid, fieldName)
作用:实现getDocItemValueAsDouble(docid, fieldName)函数的应用,获取指定文档的Item值
脚本示例:
//表单某字段值为指定文档的指定字段的值(值脚本)
(() => {
const doc = getCurrentDocument();
const docid = doc.getId();
const value = DOC.getDocItemValueAsDouble(docid, "文档金额");
return value;
})()
4.getDocItemValueAsDate(docid, fieldName)
作用:实现getDocItemValueAsDate(docid, fieldName)函数的应用,获取指定文档的Item值
脚本示例:
//表单某字段值为指定文档的指定字段的值(值脚本)
(() => {
const doc = getCurrentDocument();
const docid = doc.getId();
const value = DOC.getDocItemValueAsDate(docid, "文档日期");
return value;
})()
5.getDocItemValueAsInt(docid, fieldName)
作用:实现getDocItemValueAsInt(docid, fieldName)函数的应用,获取指定文档的Item值
脚本示例:
//表单某字段值为指定文档的指定字段的值(值脚本)
(() => {
const doc = getCurrentDocument();
const docid = doc.getId();
const value = DOC.getDocItemValueAsInt(docid, "文档数量");
return value;
})()
6.findDocument(docid)
作用:实现findDocument(docid)函数的应用,获取Document对象
脚本示例:
//根据指定的docid获取文档对象
(() => {
const id = getCurrentDocument().getId();//获取当前文档Id
const value = DOC.findDocument(id); //根据文档id获取文档对象
return value;
})()
7.queryByDQL(dql)
作用:实现queryByDQL(dql)函数的应用,查询文档记录(DQL)
脚本示例:
//表单某字段值为根据DQL姓名字段的值查询出对应的电话(值脚本)
(() => {
const user = getItemValue("DQL姓名");
let rtn = '';
if (user != null && user.trim().length > 0) {
const dql = "$formname='查询文档记录DQL and DQL姓名='" + user + "'";
const query = CURDB.queryByDQL(dql);
if (query != null) {
const iter = query.iterator();
if (iter != null && iter.hasNext()) {
doc = iter.next();
rtn = doc.getItemValueAsString("DQL电话");
}
}
}
return rtn;
})()
8.queryBySQL(sql)
作用:实现queryBySQL(sql)函数的应用,查询文档记录(SQL)
脚本示例:
(() => {
const user = getItemValue("SQL姓名");
let rtn = '';
if (user != null && user.trim().length > 0) {
const sql = "select * from tlk_查询文档记录SQL where item_SQL姓名='" + user + "'";
const query = CURDB.queryBySQL(sql);
if (query != null) {
const iter = query.iterator();
if (iter != null && iter.hasNext()) {
doc = iter.next();
rtn = doc.getItemValueAsString("SQL电话");
}
}
}
return rtn;
})()
9.queryByDQLWithCache(dql)
作用:实现queryByDQLWithCache(dql)函数的应用,带缓存查询文档记录(DQL)
脚本示例:
//主子表单,主表单某字段值为当前子文档列表某字段值总和 (值脚本)
(() => {
const docid = getId();
const w1 = " and $parent.$id = '" + docid + "'";
let temp1 = "";
const dql1 = "$formname = '带缓存查询文档记录DQL子表'" + w1;
const subdocs1 = CURDB.queryByDQLWithCache(dql1);
if (subdocs1 != null && subdocs1.size() > 0) {
println("subdocs1----> " + subdocs1.size());
for (var iter1 = subdocs1.iterator(); iter1.hasNext();) {
const subdoc1 = iter1.next();
temp1 += subdoc1.getItemValueAsString("缓存子单价");
println("temp1-----> " + temp1);
}
}
return temp1;
})()
10.queryBySQLWithCache(sql)
作用:实现queryBySQLWithCache(sql)函数的应用,带缓存查询文档记录(SQL)
脚本示例:
//主子表单,主表单某字段值为当前子文档列表某字段值总和 (值脚本)
(() => {
const docid = getId();
let temp = "";
const sql = "select * from tlk_带缓存查询文档记录SQL子表 where parent='" + docid + "'"
const subdocs = CURDB.queryBySQLWithCache(sql);
if (subdocs != null && subdocs.size() > 0) {
println("subdocs----> " + subdocs.size());
for (const iter = subdocs.iterator(); iter.hasNext();) {
const subdoc = iter.next();
temp += subdoc.getItemValueAsString("缓存子单价");
println("temp-----> " + temp);
}
}
return temp;
})()
11.findByDQL(dql)
作用:实现findByDQL(dql)函数的应用,查找文档对象(DQL)
脚本示例:
//两个表单A、B,B表单某字段值为A表单某字段值 (值脚本)
(() => {
const dql = "$formname = '查找文档A对象DQL'";
const datas = CURDB.findByDQL(dql);
println(datas);
const temp = datas.getItemValueAsString("A编号");
return temp;
})()
12.findBySQL(sql)
作用:实现findBySQL(sql)函数的应用,查找文档对象(SQL)
脚本示例:
//两个表单A、B,B表单某字段值为A表单某字段值 (值脚本)
(() => {
const sql = "select * from tlk_查找文档A对象SQL"
const datas = CURDB.findBySQL(sql);
println(datas);
const temp = datas.getItemValueAsString("A编号");
return temp;
})()
13.queryByDQLDomain(dql, domainName)
作用:实现queryByDQLDomain(dql, domainName)函数的应用,根据域名查询文档集合(DQL)
脚本示例:
//两个表单A、B,B表单某字段值为查询出A表单的文档个数 (值脚本)
(() => {
const dql = "$formname= '根据域名查询文档A集合DQL'";
const doc = CURDB.queryByDQLDomain(dql, "testdemo");
const value = doc.size();
return value;
})()
14.countByDQL(dql)
作用:实现countByDQL(dql)函数的应用,根据域名查询文档集合(DQL)
脚本示例:
//两个表单A、B,B表单某字段值为查询出A表单的文档个数 (值脚本)
(() => {
const dql = "$formname='统计文档个数DQL'";
const t_count = CURDB.countByDQL(dql);
let rtn = 0;
if (t_count > 0) {
rtn = t_count;
}
return rtn;
})()
15.countBySQL(sql)
作用:实现countBySQL(sql)函数的应用,根据域名查询文档集合(SQL)
脚本示例:
//两个表单A、B,B表单某字段值为查询出A表单的文档个数 (值脚本)
(() => {
const sql = "select * from tlk_统计文档个数SQL";
const t_count = CURDB.countBySQL(sql);
let rtn = 0;
if (t_count > 0) {
rtn = t_count;
}
return rtn;
})()
16.sumByDQL(dql, fieldName)
作用:实现sumByDQL(dql, fieldName)函数的应用,根据dql汇总符合条件的Document的指定字段(DQL)
脚本示例:
//两个表单A、B,B表单某字段值为A表单某字段值总和 (值脚本)
(() => {
const dql = "$formname = '字段汇总A表单DQL'";
const value = CURDB.sumByDQL(dql, "A单价");
return value;
})()
17.sumBySQL(sql)
作用:实现sumBySQL(sql)函数的应用,根据sql汇总符合条件的Document指定字段(SQL))
脚本示例:
//两个表单A、B,B表单某字段值为A表单某字段值总和 (值脚本)
(() => {
const sql = "select sum(item_A单价) from tlk_字段汇总A表单SQL";
const value = CURDB.sumBySQL(sql, "A单价");
return value;
})()
18.checkFieldUnique(fieldName, fieldValue, msg)
作用:实现checkFieldUnique(fieldName, fieldValue, msg)函数的应用,判断字段的唯一性(校验脚本)
脚本示例:
//判断表单某字段值是唯一的 (校验脚本)
(() => {
const value = getItemValueAsString("唯一校验名称");
const msg = "名称:" + value + "已经存在,请输入其它内容。";
const rtn = checkFieldUnique("唯一校验名称", value, msg);
return rtn;
})()
19.isFirtNodeByDocId(docid)
作用:实现isFirtNodeByDocId(docid)函数的应用,获取当前文档是否处在第一个节点,返回值为:true|false
脚本示例:
//判断当前文档是否处在第一个节点,如果是某控件值为当前登录用户,否则为空
(() => {
const docid = getItemValueAsString("文档编号");
const isFirstNode = isFirtNodeByDocId(docid);
const value = getItemValueAsString("文档内容");
if (isFirstNode) {
if (value != null && value.trim().length <= 0) {
value = getWebUser().getName() + " --当前文档处在第一个节点";
}
} else {
value = "";
}
return value;
})()
20.isCompleteByDocId(docid)
作用:实现isCompleteByDocId(docid)函数的应用,获取当前文档是否审批完成,返回值为:true|false
脚本示例: