Foxtable(狐表)用户栏目专家坐堂 → 授权问题


  共有1800人关注过本帖树形打印复制链接

主题:授权问题

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
授权问题  发帖心情 Post By:2018/4/3 12:01:00 [只看该作者]

设置BeforeLoadInnerTable事件为:

If e.DataTableName = "订单" Then
e.Filter = "[_Identify] Is Null"
End If

2、在项目的LoadUserSetting事件中设置代码,加载用户负责的订单:

If User.Name = "张经理" Then
DataTables("订单").LoadFilter = ""
Else
DataTables("订单").LoadFilter = "业务员 = '" & User.Name & "'"
End
If
DataTables
("订单").Load()


求教:根据以上范例可设置订单表动态加载,若是一个项目中有两个及以上的动态加载要求怎么办?

就是说订单表要实现业务员只能处理自己负责的订单,同时其他表格也只能加载该业务员自己的行,该怎么弄?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/3 12:14:00 [只看该作者]

其它表格也需要有【业务员】列吧?或者是和【业务员】列相关。

 

然后代码这样写

 

If User.Name = "张经理" Then
    DataTables("订单").LoadFilter = ""
   
    DataTables("表A").LoadFilter = ""
   
    DataTables("表B").LoadFilter = ""
Else
    DataTables("订单").LoadFilter = "业务员 = '" & User.Name & "'"
   
    DataTables("表A").LoadFilter = "业务员 = '" & User.Name & "'"
   
    DataTables("表B").LoadFilter = "业务员 = '" & User.Name & "'"
End If
DataTables("订单").Load()

DataTables("表A").Load

DataTables("表B").Load

 


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/4/3 12:32:00 [只看该作者]

If User.Group = "经理" Then
    DataTables("合同评审").LoadFilter = ""
    DataTables("合同台账").LoadFilter = ""
Else
    DataTables("合同评审").LoadFilter = "合同承办人= '" & User.Name & "'"
    DataTables("合同台账").LoadFilter = "签约人 = '" & User.Name & "'"
End If
DataTables("合同评审").Load()
DataTables("合同台账").Load

合同评审和合同台账两个表,合同承办人和签约人是同一个,同时签约人是根据两个表的关联由表达式自动生成的。

运行显示
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.3.9.1
错误所在事件:加载[合同台账]失败!
详细错误信息:
至少一个参数没有被指定值。

什么问题?



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/3 12:35:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/4/3 13:53:00 [只看该作者]

解决了!谢谢


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/4/3 14:37:00 [只看该作者]

If User.Group = "经理" OrElse "财务" OrElse "统计" Then
    DataTables("合同评审").LoadFilter = ""
Else
    DataTables("合同评审").LoadFilter = "合同承办人= '" & User.Name & "'"  
End If
DataTables("合同评审").Load()

增加了“财务”和“统计”以后:
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.3.9.1
错误所在事件:项目,LoadUserSetting
详细错误信息:
从字符串“财务”到类型“Boolean”的转换无效。
输入字符串的格式不正确。

什么原因?




 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2018/4/3 14:43:00 [只看该作者]

select case user.group
case "经理","财务","统计"
DataTables("合同评审").LoadFilter = ""
case else
DataTables("合同评审").LoadFilter = "合同承办人= '" & User.Name & "'"  
end select
DataTables("合同评审").Load()

If User.Group = "经理" OrElse User.Group = "财务" OrElse User.Group = "统计" Then  要这样写,你可以参考用case 写

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:807 积分:5579 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/4/3 15:28:00 [只看该作者]

明白了,谢谢!

 回到顶部