找回密码
 注册成为天翎用户
查看: 2050|回复: 14

[已解决] Script 错误

[复制链接]
jqfang 发表于 2014-10-18 09:01:00 | 显示全部楼层 |阅读模式
本帖最后由 kharry 于 2014-10-27 18:41 编辑

这是路径进入脚本,emily.yen 登录应该不能通过,但实际通过了,请帮忙看下哪里有错? 谢谢

var author=getCurrentDocument().getAuthor();    // getItemValueAsString("Name")
println(author+"================author=========");
var audi =author.getSuperior();
var audiname = audi.getName ();
var travelby=getItemValueAsString("TravelBy2");

var companyname=getItemValueAsString("Company");  

println(audiname+"=====audiname====");
var flag=false;

if(author!="emily.yen" && author!="william.chio" && author!="tim.sung" && author!="phil.phang" && author!="paresh.patil."){

      flag=true;       

}else if(author==tim.sung && travelby!="Travel Overseas By Airplane" && author!="emily.yen" && author!="william.chio" && author!="phil.phang" && author!="paresh.patil."){
           flag=true;
}else if(author==phil.phang && travelby!="Travel Overseas By Airplane" && author!="emily.yen" && author!="william.chio" && author!="tim.sung" && author!="paresh.patil."){
          flag=true;
}else if(author==paresh.patil && travelby!="Travel Overseas By Airplane" && author!="emily.yen" && author!="william.chio" && author!="tim.sung" && author!="phil.phang"){
          flag=true;
}

flag;
nice 发表于 2014-10-20 09:57:56 | 显示全部楼层
1.这个你写在的是  <路径进入条件脚本>内?
2.把你的println(author+"================author=========");告诉我们!
3.flag;的前面加入  println(flag+"状态" );  看看输出是什么 发上来!
回复

使用道具 举报

 楼主| jqfang 发表于 2014-10-20 14:06:26 | 显示全部楼层
QQ图片20141019230119.jpg
回复

使用道具 举报

jack 发表于 2014-10-20 14:39:31 | 显示全部楼层
回复 3# jqfang


    您应该用audiname 去比较,这个才是name,author是用户对象。您检查一下代码。
回复

使用道具 举报

 楼主| jqfang 发表于 2014-10-21 02:23:26 | 显示全部楼层
见图,审批人1组批准后,有3种可能,实际要求是自动实现:
1。 当提交人在Branchhead role中并且TravelBy是overseas时,到3a
2。当提交人在Controller role中时, 到3b
3。当是其他提交人,或提交人在Branchhead role中并且TravelBy不是overseas时, 到3c。
上面script是3的进入脚本,现在情况是所有提交者都到了3c。估计3个进入脚本都有错,请求帮助!


QQ图片20141020105755.jpg
回复

使用道具 举报

jack 发表于 2014-10-21 10:05:22 | 显示全部楼层
回复 5# jqfang


    您可能没理解我说的意思。我是说您用author这个变量跟字符比较是错误的,所有的判断结果返回值都会是false,您应该用authorname这个变量,这个才是用户名称
回复

使用道具 举报

 楼主| jqfang 发表于 2014-10-21 12:59:40 | 显示全部楼层
我已改成authorname=author.getName(); 还是不对,可能有其他问题,麻烦帮忙远程看下,谢谢!
回复

使用道具 举报

kharry 发表于 2014-10-22 14:00:40 | 显示全部楼层
author是当前作者  如果要跟字符串比较  应该用author.getName();
authorname 楼主是获取author的上级   

楼主应该在判断里面确定好是用什么东西比较
这个问题并不复杂
回复

使用道具 举报

 楼主| jqfang 发表于 2014-10-22 14:22:45 | 显示全部楼层
var author=getCurrentDocument().getAuthor();    // getItemValueAsString("Name")
var authorname=author.getName();
println(authorname+"================authorname=========" );
var travelby=getItemValueAsString("TravelBy2" );
var companyname=getItemValueAsString("Company" );  
var flag=false;
if(authorname!="emily.yen" && authorname!="william.chio" && authorname!="tim.sung" && authorname!="phil.phang" && author!="paresh.patil" ){
      flag=true;       
}else if(authorname==tim.sung && travelby!="Travel Overseas By Airplane" && authorname!="emily.yen" && authorname!="william.chio" && authorname!="phil.phang" && authorname!="paresh.patil" ){
           flag=true;
}else if(authorname==phil.phang && travelby!="Travel Overseas By Airplane" && authorname!="emily.yen" && authorname!="william.chio" && authorname!="tim.sung" && authorname!="paresh.patil" ){
          flag=true;
}else if(authorname==paresh.patil && travelby!="Travel Overseas By Airplane" && authorname!="emily.yen" && authorname!="william.chio" && authorname!="tim.sung" && authorname!="phil.phang" ){
          flag=true;
}
println(flag+"================flag===============");
flag;
回复

使用道具 举报

 楼主| jqfang 发表于 2014-10-22 14:24:27 | 显示全部楼层
var flag = false;
var val = "Controller";
var roles = getWebUser().getRoles();
for(var it = roles.iterator();roles!=null && it.hasNext();){
   var role = it.next();
   var roleName=role.getName();
   if(val.equals(roleName)){
                flag = true;
                break;
   }
}
flag;
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-14 01:34

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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