您好:
1、流程历史中某个节点审批人的信息是存放在T_ACTORHIS表中的,您可以通过参考如下代码实现:
var opts=$TOOLS.createOptions();
var userProcess = getUserProcess();
var doc = getCurrentDocument();
var domainid = getDomainid();
var nodeName="流程审批"; //流程节点名称
var sql="select id,actorid as item_actorid,name as item_name,'" + domainid + "' as domainid from T_ACTORHIS where NODEHIS_ID in (select ID from t_relationhis where docid='"+doc.getId()+"' and startnodename='"+nodeName+"')";
println(sql+"=====sql===");
var datas = queryBySQL(sql);
for (var it = datas.iterator(); it.hasNext();) {
var d = it.next();
var userid = d.getItemValueAsString("actorid");
var username = d.getItemValueAsString("name");
opts.add(username,userid);
}
opts;
这个是只有审批过的审批人信息才能取到。
2、至于你说的那个循环的问题,假设A节点有a,b两个审批人,且开始时A节点审批人是a,通过上述脚本
首次未循环的情况下,B节点回退时是拿到的审批人是a,若循环之后拿到的具体是A节点本次审批的审批人还是拿到两个审批人,可以通过上述脚本尝试一下,关于这个循环的问题我这边还没测试过,暂时不能确定。 |