方法示例
1.getOptionsByDQL(dql, keyFieldName, blankFirst)
示例(实现getOptionsByDQL(dql, keyFieldName, blank)函数的应用,返回符合查询条件语句的文档中keyFieldName字段的所有值集合,作为下拉框控件的选项)

//表单某控件的选项为指定表单指定指定字段的值
(function () {
    var opts = $TOOLS.createOptions();
    var dql = "$formname ='获取当前软件下的所有角色'";
    var n = getOptionsByDQL(dql, "角色", true);
    return n;
})()

2.getWorkingDayCount(startDate, endDate)
示例(实现getWorkingDayCount(startDate, endDate)函数的应用,获取相隔工作天数)

//表单某控件为两个指定日期相隔的工作天数
(function () {
    var starttime = getItemValueAsDate("开始日期");
    var deadline = getItemValueAsDate("结束日期");
    if (starttime != null && deadline != null) {
        var startDate = format(starttime, "yyyy-MM-dd HH:mm:ss");
        var endDate = format(deadline, "yyyy-MM-dd HH:mm:ss");
        var retvar = getWorkingDayCount(startDate, endDate);
    }
    return retvar;
})()

3.getWorkingTimesCount(startDate, endDate)
示例(实现getWorkingTimesCount(startDate, endDate)函数的应用,获取相隔工作小时数)

//表单某控件为两个指定日期相隔的工作小时数
(function () {
    var starttime = getItemValueAsDate("开始日期");
    var deadline = getItemValueAsDate("结束日期");
    if (starttime != null && deadline != null) {
        var startDate = format(starttime, "yyyy-MM-dd HH:mm:ss");
        var endDate = format(deadline, "yyyy-MM-dd HH:mm:ss");
        var retvar = getWorkingTimesCount(startDate, endDate);
    }
    return retvar;
})()

4.isWorkingTime(currentDate)
示例(实现isWorkingTime(currentDate)函数的应用,判断输入的时间是否为工作时间)

//表单中有一个日期控件,日期的格式为年月日时分,然后单行文本框的值脚本写代码,
//根据日期控件的值是否为工作时间来确实给单行文本框不同的值,具体的代码如下(第二个方法中的第二个参数是工作日历的id)
(function () {
    var value = getItemValueAsDate("时间");
    var rtn = "";
    if (value != null) {
        var datevalue = $TOOLS.DATE_UTIL.getDateTimeStr(value);
        if (isWorkingTime(datevalue)) {
            rtn = "当前输入的时间是该用户的工作时间";
        } else {
            rtn = "当前输入的时间是该用户的非工作时间,用户可以自由安排";
        }
    }
    return rtn;
})()

5.isWorkingTimeByCalendar(currentDate, calendarId)
示例(实现isWorkingTimeByCalendar(currentDate, calendarId)函数的应用,判断输入的时间是否为工作时间)

//表单中有一个日期控件,日期的格式为年月日时分,然后单行文本框的值脚本写代码,
//根据日期控件的值是否为工作时间来确实给单行文本框不同的值,具体的代码如下(第二个方法中的第二个参数是工作日历的id)
(function () {
    var value = getItemValueAsDate("时间");
    var rtn = "";
    if (value != null) {
        var datevalue = $TOOLS.DATE_UTIL.getDateTimeStr(value);
        if (isWorkingTimeByCalendar(datevalue, '11e2-05e6-8f8919db-8903-4be494916f5a')) {
            rtn = "当前输入的时间是该用户的工作时间";
        } else {
            rtn = "当前输入的时间是该用户的非工作时间,用户可以自由安排";
        }
    }
    return rtn;
})()

6.createPdf(fileName,formId)
示例(实现createPdf(fileName,formId)函数的应用,返回pdf路径)

(function(){      
    var fileName = "我是pdf";  
    var formId = "AJDI0_ADA_ADARQ_QE";
    //调用生成pdf方法
    createPdf(fileName,formId);         
})()

7.recordSignatrueAmounts()
示例(实现recordSignatrueAmounts()函数的应用)

(function () {
    //调用记录当前节点需要签章的数量方法
    recordSignatrueAmounts();
})()

8.isSignature(position)
示例(实现isSignature(position)函数的应用,返回是否已经签章)

(function () {
    var position = "主管签章";
    //判断该位置是否已经签章方法
    var result = isSignature(position);
})()

9.checkSignatureAmounts()
示例(实现checkSignatureAmounts()函数的应用)

(function () {
    //调用检查当前节点是否全部签章了方法
    checkSignatureAmounts();
})()

10.deleteSignatures(deleteDocId)
示例(实现deleteSignatures(deleteDocId)函数的应用)

(function () {
    var deleteDocId = "AJDI0_ADA_ADARQ_QE";
    //调用删除回退节点内的签章方法
    deleteSignatures(deleteDocId)
})()

11.sendDingdingMessage(title,description, touser, url, doc, type)
示例(实现钉钉发送消息)

//消息类型为text时,title和url可传空,消息为oa时,url可传空
(function () {
    var doc = getCurrentDocument();
    sendDingdingMessage("标题1", "内容1", "manager1234", "https://www.baidu.com/", doc, "link");
})()
文档更新时间: 2022-11-03 06:56   作者:admin