方法示例
1.getId()
示例(实现getId()函数的应用,获取当前打开文档ID)

//表单某字段值为当前打开文档Id
(function () {
    var rtn = getItemValue("code");
    if (rtn == null || rtn.length() <= 0) {
        rtn = getId();
    }
    return rtn;
})()

2.getItemValue(fieldName)
示例(实现getItemValue(fieldName)函数的应用, 获取当前打开文档Item值)

//判断表单某控件值为空值,就为自动编号
(function () {
    var rtn = getItemValue("编号");
    if (rtn == null || rtn.trim().length() <= 0) {
        rtn = countNext2("TK", false, false, false, 5);
    }
    return rtn;
})()

3.getItemValueAsString(fieldName)
示例(实现getItemValueAsString(fieldName)函数的应用,获取当前文档Item值,且以字符串形式返回)

//判断表单某字段不能为空
(function () {
    var value = getItemValueAsString("编号");
    var retvar = "";
    if (value == null || value.trim().length() <= 0) {
        retvar = "编号字段必须填写!";
    }
    return retvar;
})()

4.getItemValueAsDate(fieldName)
示例(实现getItemValueAsDate(fieldName)函数的应用,获取当前文档Item值,且以日期形式返回)

//判断表单结束时间不能为空,且结束时间必须晚于开始时间
(function () {
    var starttime = getItemValueAsDate("开始日期");
    var deadline = getItemValueAsDate("结束日期");
    println("结束日期:" + deadline + "-----------");
    var retvar = "";
    if (deadline == null) {
        retvar = "结束时间必须填写!";
    } else {
        var starttime = format(starttime, "yyyy-MM-dd HH:mm:ss");
        var deadline = format(deadline, "yyyy-MM-dd HH:mm:ss");
        if (starttime != null && deadline != null) {
            if (starttime >= deadline) {
                retvar = "开始时间必须早于结束时间!";
            }
        }
    }
    return retvar;
})()

5.getItemValueAsDouble(fieldName)
示例(实现getItemValueAsDouble(fieldName)函数的应用,获取当前文档Item值,且以double形式返回)

//判断表单某字段值小于0时,默认值就为1
(function () {
    var value = getItemValueAsDouble("金额");
    println("金额:" + value + "----------");
    if (value < 0) {
        value = 1;
    }
    return value;
})()

6.getItemValueAsInt(fieldName)
示例(实现getItemValueAsInt(fieldName)函数的应用,获取当前文档Item值,且以整型形式返回)

//表单中有金额和数量两个字段,数量字段值为金额字段转为整型后的值,数量字段  (值脚本)
(function () {
    var value = getItemValueAsInt("金额");
    println("浮点型金额转化成整数数量:" + value + "-----------");
    return value;
})()

7.countSubDocument(formName)
示例(实现countSubDocument(formName)函数的应用,统计当前文档的子文档个数)

//表单为主子表单,主表单某控件值为当前文档的子文档个数 (值脚本)
(function () {
var formname = “被统计的子文档A表单”
var total = countSubDocument(formname);
return total;
})()
8.getCurrentDocument()
示例(实现getCurrentDocument()函数的应用,获取当前打开文档对象)

//在表单控件值脚本中获取当前文档对象
(function () {
    var doc = getCurrentDocument();
    return doc;
})()

9.getStateLabel()
示例(实现getStateLabel()函数的应用,获取当前文档的状态标签,返回当前文档的状态标签)

//表单某控件的显示与否根据文档的状态标签进行控制,隐藏脚本类似如下
(function () {
    var statelabel = getStateLabel();
    var rtn = true;
    if (statelabel.equals("流程登记"))//表单某控件的显示与否根据文档的状态标签进行控制
    {
        rtn = false;
    }
    return rtn;
})()

10.isFirtNode()
示例(实现isFirtNode()函数的应用,获取当前文档是否处在第一个节点,返回值为:true|false)

//判断当前文档是否处在第一个节点,如果是给单行文本框赋值为当前登录用户名,否则为空值(值脚本)
(function () {
    var doc = getCurrentDocument();
    var isFirtNode1 = doc.isFirtNode();
    println("是否处在第一个节点:" + isFirtNode1 + "--------------");
    var value = getItemValueAsString("单行文本框");
    if (isFirtNode1) {
        if (value != null && value.trim().length() <= 0) {
            value = getWebUser().getName();
        }
    }
    else { value = ""; }
    return value;
})()

11.sumSubDocument(formName, fieldName)
示例(实现sumSubDocument(formName, fieldName)函数的应用,根据子文档名和字段名,获取当前打开文档的子文档中字段的值总和)

//表单为主子表单,主表单某控件值为当前文档子文档某个字段值的总和(值脚本)
(function () {
    var formName = "被汇总字段值的子文档B";
    var fieldName = "金额";
    var value = sumSubDocument(formName, fieldName);
    return value;
})()

12.getParentDocument()
示例(实现getParentDocument()函数的应用,获取当前文档的父文档对象)

//主子表单,子表单控件的选项值根据父文档某控件的值改变,选项脚本类似如下
(function () {
    var value = "";
    var options = "0%;20%;40%;60%;80%;100%";
    var parent = getParentDocument();
    if (parent != null) {
        value = parent.getItemValueAsString("完成度");
        println("完成度:" + value + "---------------");
        if (value != null) {
            if (value == "0%") {
                value = ";20%;40%;60%;80%;100%";
            }
            if (value == "20%") {
                value = ";0%;40%;60%;80%;100%";
            }
            if (value == "40%") {
                value = ";0%;20%;60%;80%;100%";
            }
            if (value == "60%") {
                value = ";0%;20%;40%;80%;100%";
            }
            if (value == "80%") {
                value = ";0%;20%;40%;60%;100%";
            }
            if (value == "100%") {
                value = ";0%;20%;40%;60%;80%";
            }
            if (value != "") {
                options = "";
                options = value;
            }
        }
    }
    return options;
})()

13.getRelateDocument()
示例(实现getRelateDocument()函数的应用,获取关联的文档,当包含元素不存在父子关系时生效(在视图内容中使用DQL))

//子关联文档的数据根据主关联文档的字段值进行过滤
(function () {
    var dql = "$formname='fm_price' "; //子关联文档的表名
    var rdoc = getRelateDocument();
    if (rdoc != null) {
        var linkmanName = rdoc.getItemValueAsString("商机名"); //主关联文档的字段
        dql += " and 商机名='" + linkmanName + "'";
        dql += " and (商机名 <> null and 商机名 <> '')";
    }
    return dql;
})()

14.isComplete()
示例(实现isComplete()函数的应用,获取当前文档是否审批完成,返回值为:true|false)

//根据获取当前文档是否审批完成来判断单行文本框显示与否,如果审批完成就让其隐藏,反之则显示(隐藏脚本)
(function () {
    var com = isComplete();
    var rtn = false;
    if (com) {
        rtn = true;
    }
    return rtn;
})()

15.getParentFlowDoc()
示例(实现getParentFlowDoc()函数的应用,获取父流程文档对象)

//跨表单主子流程,子流程表单某控件值为父流程文档Id(值脚本)
(function () {
    var pfdocid = getItemValueAsString("获取ID");
    if (pfdocid == null || pfdocid.trim().length() <= 0) {
        var pfdoc = getParentFlowDoc();
        if (pfdoc != null) {
            pfdocid = pfdoc.getId();
        }
    }
    return pfdocid;
})()

16.getSubFlowDocList()
示例(实现getSubFlowDocList()函数的应用,获取子流程文档列表)

//跨表单主子流程,主流程文档某控件值为其子实例某字段值的总和(值脚本)
(function () {
    var subfdocs = getSubFlowDocList();   //获取子流程文档列表
    var rtn = 0;
    if (subfdocs != null) {
        for (var it = subfdocs.iterator(); it.hasNext();) {  //遍历文档
            var doc = it.next();
            rtn += doc.getItemValueAsDouble("子金额");  //字段值累加
        }
    }
    return rtn;
})()

17.getLastApprover()
示例(实现getLastApprover()函数的应用,获取当前文档的最后审批人对象)

//表单某字段值为当前文档的最后审批人对象名(值脚本)
(function () {
var lastApprover = getLastApprover();
if (lastApprover != null) {
rtn = lastApprover.getName();
}
return rtn;
})()
18.getLastApproverId()
示例(实现getLastApproverId()函数的应用,获取当前文档的最后审批人ID)

//表单某字段值为当前文档的最后审批人ID(值脚本)
(function () {
    var lastApproverid = "";
    if (getLastApprover() != null) {
        lastApproverid = getLastApproverId();
    }
    return lastApproverid;
})()

19.getLastApproverName()
示例(实现getLastApproverName()函数的应用,获取当前文档的最后审批人名称)

//表单某字段值为当前文档的最后审批人对象名(值脚本)
(function () {
    var lastApproverName = "";
    if (getLastApprover() != null) {
        lastApproverName = getLastApproverName();
    }
    return lastApproverName;
})()

20 .getLastApprovedTime()
示例(实现getLastApproverTime()函数的应用,获取当前文档的最后审批时间)

//流程提交时更新表单某字段值为当前文档最后审批时间等(动作执行后脚本)
(function () {
    var lastApprovedTime = "";
    if (getLastApprover() != null) {
        lastApprovedTime = getLastApprovedTime();
        var doc = getCurrentDocument();
        var contents = "审批人:" + getWebUser().getName();
        contents += "  审批时间:" + lastApprovedTime;
        doc.findItem("备注").setValue(contents);
        var process = getDocumentProcess();
        process.doUpdate(doc);
    }
})()
文档更新时间: 2022-11-03 06:37   作者:admin