计数器函数¶
方法清单¶
| 函数名 | 参数 | 说明 |
|---|---|---|
| countNext(countLabel) | countLabel: 字符串型参数 | 每次调用时指定计数器都会自动增长1(根据计算器名,以0为基元),可用作生成增长序列号 |
| getLastCount(countLabel) | countLabel: 字符串型参数 | 根据计数器名称获取计数器的当前计数值 |
| countNext2(headText, isYear, isMonth, isDay, digit) | headText: 作为前缀的字符串isYear: boolean型,前缀中是否包含年份isMonth: boolean型,前缀中是否包含月份isDay: boolean型,前缀中是否包含日期digit:整数型,指定计数器序列号的位数,如长度不足在计数值前面补0; | 返回"前缀 +年月日+ 计数器的下一个计数值" |
| getLastCount2(headText, isYear, isMonth, isDay, digit) | headText:作为前缀的字符串 isYear: boolean型,前缀中是否包含年份 isMonth: boolean型,前缀中是否包含月份 isDay: boolean型,前缀中是否包含日期digit: 数值型,指定随机序列号的位数 | 返回"前缀 +年月日+ 计数器的当前计数值" |
| resetCounter(base) | base: 字符串型参数 | 重置计数器的值,使其归0 |
方法示例¶
1.countNext(countLabel)
作用:实现countNext(countLabel)函数的应用,获取计算器的下一个增长序列值
脚本示例:
//表单某字段值为计算器的下一个增长序号 (值脚本)
(() => {
const rtn = getItemValue("序号");
if (rtn != null && rtn.trim().length <= 0) {
rtn = COUNTER.countNext("test");//计算器的下一个增长序列值
}
return rtn;
})()
2.getLastCount(countLabel)
作用:实现getLastCount(countLabel)函数的应用,获取计算器的当前计数值
脚本示例:
//表单某字段值为计算器当前计数值 (值脚本)
(() => {
const prefix = "TestID";
const val = getItemValue("商品编号");
let val2 = '';
if (val != null && val.trim().length <= 0) {
const code = COUNTER.getLastCount(prefix);
if (code <= 0) {
code = countNext(prefix);
}
val2 = prefix + code;
const dql = "$formname='计算器的当前计数值' and 商品编号='" + val2 + "' and $id <>'" + getId() + "'";
const datas = queryByDQL(dql);
if (datas != null && datas.size() > 0) {
const seq = countNext(prefix);
val2 = prefix + seq;
}
}
return val2;
})()
3.countNext2(headText, isYear, isMonth, isDay, digit)
作用:实现countNext2(headText, isYear, isMonth, isDay, digit)函数的应用,获取新自动编号
脚本示例:
//表单某字段值为新的自动编号 (值脚本)
(() => {
const prefix = "TestCode";
const value = getItemValue("自动编号");
if (value != null && value.trim().length <= 0) {
value = COUNTER.countNext2(prefix, true, true, false, 4);
}
return value;
})()
4.getLastCount2(headText, isYear, isMonth, isDay, digit)
作用:实现getLastCount2(headText, isYear, isMonth, isDay, digit)函数的应用,自动编号的最后编号
脚本示例:
//表单某字段值为计数器自动编号的最后编号 (值脚本)
(() => {
const prefix = "QJDTEST";
const val = getItemValue("商品编号");
if (val != null && val.trim().length <= 0) {
const code = COUNTER.getLastCount(prefix);
if (code <= 0) {
val = countNext2(prefix, true, false, false, 4);
} else {
val = COUNTER.getLastCount2(prefix, true, false, false, 4); //自动编号的最后编号
}
}
return val;
})()
5.resetCounter(base)
作用:实现resetCounter(base)函数的应用,重置计数器的值,使其归0
脚本示例:
//计数器的新的自动编号大于10后,就重置计数器 (值脚本)
(() => {
const prefix = "SPID";
const val = getItemValue("商品编号");
if (val != null && val.trim().length <= 0) {
const code = getLastCount(prefix);
if (code <= 0) {
val = countNext2(prefix, true, false, false, 5);
} else if (code > 10) {
COUNTER.resetCounter(prefix); //重置计数器的值
val = countNext2(prefix, true, false, false, 5);
} else {
val = getLastCount2(prefix, true, false, false, 5);
}
}
return val;
})()