以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  再问权限管理  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=69197)

--  作者:dj68301367
--  发布时间:2015/6/1 12:05:00
--  再问权限管理

图片点击可在新窗口打开查看此主题相关图片如下:权限管理.jpg
图片点击可在新窗口打开查看

如上图,规格确认和单价确认二列 只要管理员组才可以编辑
一、规格确认打勾,BOM组人员就不可以编辑(且BOM员不可看到单价)
二、单价确认打勾后,核价员不可编辑

但二者不可以有相互影响。(也就是规格确认勾打上了,单价列也可以编辑)

--  作者:大红袍
--  发布时间:2015/6/1 13:04:00
--  

看完权限管理一章 http://www.foxtable.com/help/topics/2253.htm

 


--  作者:dj68301367
--  发布时间:2015/6/1 15:08:00
--  
看完了,自己写的代码,调试有问题:看了一下代码应该是这一行有问题                Case <>"物料编码","物料名称","物料规格","单位"
规格确认没有打勾,物料名称和物料规格,单位都不能编辑,只能编辑物料编码
请各位高手指教,代码太长,能优化吗?



Tables("物料总表").Cols("单价").Visible=False
Tables("物料总表").Cols("单价确认").Visible=False
Select Case user.Group
    
    Case "bom"
        If e.Row("规格确认")=True Then
            e.Cancel=True
        ElseIf e.Row("规格确认")=False Then
            Select Case e.Col.Name
  1.                 Case <>"物料编码","物料名称","物料规格","单位"
                    e.Cancel=True
            End Select
        End If
        
    Case "ck"
        Tables("物料总表").Cols("单价").Visible=True
        Tables("物料总表").Cols("单价确认").Visible=True
        If e.Row("单价确认")=True Then
            e.Cancel=True
        Else
            Select Case e.Col.Name
                Case <> "单价"
                    e.Cancel=True
            End Select
        End If
        
    Case <>"gl","BOM","Ck"
        If user.Group<>"GL" Then            
            Select Case e.Col.Name
                Case "规格确认","单价确认"
                    e.Cancel=True
            End Select
        ElseIf user.Group="gl"
            Tables("物料总表").Cols("单价").Visible=True
            Tables("物料总表").Cols("单价确认").Visible=True
            e.Cancel=True
        End If
End Select

--  作者:Bin
--  发布时间:2015/6/1 15:10:00
--  
Select Case e.Col.NamE
            Case "物料编码","物料名称","物料规格","单位   " 
            Case Else       
                    e.Cancel=True
            End Select

--  作者:大红袍
--  发布时间:2015/6/1 15:18:00
--  

1、

 

prepareEdit事件

 

If e.Row("单价确认") = True Then

    If user.Group = "核价" Then e.Cancel = True

End If

If e.Row("规格确认") = True Then

    If user.Group = "Bom" Then e.Cancel = True

End If

 

afteropenproject事件

 

If user.Group = "Bom" Then

    Tables("物料总表").Cols("单价").Visible=False

End If


--  作者:dj68301367
--  发布时间:2015/6/1 15:41:00
--  

1、

 

prepareEdit事件

 

If e.Row("单价确认") = True Then

    If user.Group = "核价" Then e.Cancel = True

End If

If e.Row("规格确认") = True Then

    If user.Group = "Bom" Then e.Cancel = True

End If



 If user.Group = "Bom" Then e.Cancel = True ‘   如果这样写的话,那就变成核价员可以修改BOM员的基本参数了


--  作者:大红袍
--  发布时间:2015/6/1 15:44:00
--  

If e.Col.Name <> "单价确认" Then

    If user.Group = "核价" Then e.Cancel = True

End If