跳转至

计数器函数

方法清单

函数名 参数 说明
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;
})()