方法示例
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);
}
})()