天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
楼主: 网络菜菜

[已解决] 提交默认全部角色入选,而无法手动选人

[复制链接]
yaya 发表于 2024-3-15 10:11:07 | 显示全部楼层
网络菜菜 发表于 2024-3-15 09:35
请参见附图。谢谢工程师

”申请人“角色的ID---从流程那里的不是角色id哦,那个是节点的id哦。
 楼主| 网络菜菜 发表于 2024-3-15 15:39:41 | 显示全部楼层
本帖最后由 网络菜菜 于 2024-3-15 15:49 编辑
yaya 发表于 2024-3-14 18:44
这个是根据特定部门和角色来获取审批人的脚本,可以试试。
(function(){
        var userId = getWebUser().ge ...


工程师,您好,我如果用这个代码,会出现下图错误



如果我修改代码如下 ,打印输出,会无定义
(function(){
        var userId = getWebUser().getId();
        var rolename="申请人";//角色名称
    var roleid=getRoleIdByName(rolename);    //根据角色名称获取角色id
    var dptid = getWebUser().getDefaultDepartment();   //部门id
    println(roleid);
})()



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2024-3-15 15:50:37 | 显示全部楼层
本帖最后由 yaya 于 2024-3-15 15:53 编辑
网络菜菜 发表于 2024-3-15 15:39
工程师,您好,我如果用这个代码,会出现下图错误


有申请人这个角色的吗。是角色,不是流程节点那里的节点名称哦。
 楼主| 网络菜菜 发表于 2024-3-15 16:18:42 | 显示全部楼层
本帖最后由 网络菜菜 于 2024-3-15 16:22 编辑
yaya 发表于 2024-3-15 15:50
有申请人这个角色的吗。是角色,不是流程节点那里的节点名称哦。


没有这个角色,那可以用发起人吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2024-3-15 16:46:14 | 显示全部楼层
网络菜菜 发表于 2024-3-15 16:18
没有这个角色,那可以用发起人吗?

这个可以获取当前登录用户的默认部门呀。
 楼主| 网络菜菜 发表于 2024-3-15 17:02:54 | 显示全部楼层
yaya 发表于 2024-3-15 16:46
这个可以获取当前登录用户的默认部门呀。

获取当前用户的计算,就不是发起人的主管领导,可能计算为上一级提交者的主管领导。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| 网络菜菜 发表于 2024-3-15 17:24:52 | 显示全部楼层
又从论坛抄到段代码

(function(){
    var loginNo = "";
    var loginName = "";
    var curDoc = getCurrentDocument();
    loginNo = curDoc.getAuthor().getLoginno();
//    loginName = curDoc.getAuthor().getname():
    println(loginNo);
})()

可以打印输出作者的loginno,不过不是中文的(有些非标准的同事可能改成手机号或者其它标识),不知能否获得中文名,应该用什么getXXXXX()函数,注释的是“编译时出错”。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2024-3-15 17:36:16 | 显示全部楼层
网络菜菜 发表于 2024-3-15 17:24
又从论坛抄到段代码

(function(){

getName()   
 楼主| 网络菜菜 发表于 2024-3-18 11:59:24 | 显示全部楼层
工程师,您好!

我已通过脚本调试查出主管领导,代码如下:
(function(){
    var loginNo = "";
    var loginName = "";
    var dptid = "";
    var curDoc = getCurrentDocument();
    loginNo = curDoc.getAuthor().getLoginno();
    loginName = curDoc.getAuthor().getName();
    dptid = curDoc.getAuthor().getDefaultDepartment();
    println(loginNo);
    println(loginName);
    println(dptid);
    var dsName = "售后管理系统库";
    var id = COUNTER.genUUID();
    var sql = "SELECT ITEM_USERID FROM oa5.`tlk_主管领导导入` WHERE ITEM_DEFAULTDEPARTMENT = '" + dptid + "'";
    var list = queryByDSName(dsName, sql);
    var USERID = "";
    for(var itor = list.iterator();itor.hasNext();){
        var item = itor.next();
        USERID += "<p>主管领导:" + item.get('ITEM_USERID') + "</p>";
    }   
    println(USERID);
})()

但当放入流程通过脚本选人时,却如下图提示出错,请问是哪个环节出错呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2024-3-18 13:52:30 | 显示全部楼层
网络菜菜 发表于 2024-3-18 11:59
工程师,您好!

我已通过脚本调试查出主管领导,代码如下:

审批人脚本那里要返回用户对象哦。
http://www.teemlink.com/bbs/foru ... =%C9%F3%C5%FA%C8%CB

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 15:15

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表