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