跳转至

文档函数

方法清单

函数名 参数 说明
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

脚本示例:

//判断当前文档流程是否完成,返回值如果是true,表单某控件就隐藏,反之显示
(() => {
    const docid = getItemValueAsString("文档编号");
    const isCompleted = isCompleteByDocId(docid);
    const value = getItemValueAsString("文档内容");
    const rtn = false;
    if (isCompleted) {
        rtn = true;
    }
    return rtn;
})()