加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂
 
发新话题
打印

[已解决] InStr问题( 此文章被查看:756次,被回复:5篇!! )

InStr问题

1、将修改操作的访问权限设为basic,
2、脚本:        Dim session
        Dim loginuser
        Dim worker
        set session = GetSession
        loginuser = session.GetUserLoginName
        worker = GetFieldValue("worker").GetValue
        state = GetFieldValue("Submitter").GetValue
        if InStr(worker,loginuser,1)  Then
            enttable_AccessControl = TRUE
        Else
            enttable_AccessControl = FALSE
        End If
3、期望:登陆者如果是负责人中的成员,享有修改权限
4、结果:无论是否是负责人中的成员,均无权限,提示类型不匹配
注:1、InStr(worker,loginuser)也试过
    2、LoginName中英文都试过,没用
    3、若不用InStr,用loginuser = worker可以,但好像负责人只能设为单用户

[ 本帖最后由 lilin 于 2007-12-16 15:05 编辑 ]


问题已经解决 [打开主题]
本主题的最佳答案为 [ 5 楼].



© 本文为 lilinSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

Instr应该没问题,你在worker取值语句后加上msgbox,看看取出的值是什么。
worker = GetFieldValue("worker").GetValue
msgbox worker



© 本文为 yunshanSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

楼主 state = GetFieldValue("Submitter").GetValue这句好像没有用到,我怀疑是因为 state这个变量引起的错误,因为state是CQ系统中保留的字段,最好换个名字。
好多情况下是不能使用系统保留的名称,如:submitter =GetFieldValue("Submitter").GetValue就会出错的。



© 本文为 zhangzhaoSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

引用:
原帖由 yunshan 于 2007-12-16 06:53 发表
Instr应该没问题,你在worker取值语句后加上msgbox,看看取出的值是什么。
worker = GetFieldValue("worker").GetValue
msgbox worker
我也怀疑是worker的问题
你看一下当前worker的值有没有取到

© 本文为 ljs53 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

worker = GetFieldValue("worker").GetValue
这句可能有问题,worker字段和worker变量重名是不行的,要换一个名字


最佳答案
该回答被楼主/管理员列为正解!

© 本文为 zhangzhao 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

我把worker,state变量名都换了,就好了。
同时:不是 InStr(worker,loginuser,1)  而是 InStr(worker,loginuser)

© 本文为 lilin 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

发新话题