CS下如何在视图分类信息

TopCat 2008-09-22 03:22:08
比如请假系统,每个文档都有申请者部门的域,现在要求各部门主管只能看到自己部门员工的请假申请,不能看到其他部门的员工的请假申请

考虑到用读者域放角色来做,不过公司有100多个部门,而且部门随时可能变化,觉得用角色不太可行

还考虑过用视图选择,根据用户的部门信息来筛选视图的文档,但是CS下在视图层不能得到当前用户的 @username ,所以也就没办法知道用户的部门信息

应该如何在CS下实现视图分类权限的功能呢?
...全文
170 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnscns 2008-10-16
  • 打赏
  • 举报
回复
嵌入的的确有限制,如果有两个以上分类的话,还只能用读者域来控制了
oliverfive 2008-10-14
  • 打赏
  • 举报
回复
如果是这样,建议用读者域控制。
TopCat 2008-10-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cnscns 的回复:]
看看@username的帮助,有两种方法可以实现你的需求:
1. 用私有视图,但是比较麻烦的是,如果视图有什么改动,刷新设计比较麻烦,而且如果视图是存在服务器上的,私有视图多了难免会对性能造成一定的影响。
2. 用嵌入视图来实现。把视图嵌入到page或者form中,在嵌入的时候有一个选项是:Show Single Category,你做一个视图,第一列是From,排序,然后在form 或者page的show single category里面写上@username即可。

Whe…
[/Quote]

嗯,我把视图嵌入到page或者form中,能按照单个的分类显示
不过显示单个分类里,能用文本和公式,但是如果是要显示2个分类以上,怎么做呢?
比如部门A ,下面有2个课 B和C,那么部门A的部门经理,应该能够看到课 B和C的所有员工的请假记录
按照显示单个分类,那么只能显示课B或者课C
TopCat 2008-10-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lijm2816 的回复:]
用这种表单$$ViewTemplate for 视图名,表单上得到用户信息@username,再得到他的部门信息。
用view.SelectionFormula="select " +searchstr改变视图的选择条件。
[/Quote]

不是web应用,是CS模式
oliverfive 2008-10-06
  • 打赏
  • 举报
回复
CNSCNS的正解。
qiuz655 2008-09-30
  • 打赏
  • 举报
回复
6楼的方法比较简单,只要将请假人员的的主管记录在请假单上,赋予读者或作者权限就可以了。视图不用分类。
飘着的棉花糖 2008-09-28
  • 打赏
  • 举报
回复
考虑到用读者域放角色来做,不过公司有100多个部门,而且部门随时可能变化,觉得用角色不太可行

为什么不可行?

你可以在names库中建立各个部门的群组,在ACL中用群组来和角色关联,之后在文档读者域中来放角色,每次部门调整的时候只要在names库中对应调整该群组人员即可,这也不是很麻烦的是吧!
cnscns 2008-09-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 TopCat 的回复:]
再顶
[/Quote]

你没看二楼的回复吗?
g007008 2008-09-27
  • 打赏
  • 举报
回复
可以在填写请假单时 将需要有读者权限的人员记录在请假单上.例如请假人员的 部门主管 最高主管根据请假人员信息记录在请假单上. 这样就不需要 部门的角色了
TopCat 2008-09-25
  • 打赏
  • 举报
回复
再顶
cnscns 2008-09-23
  • 打赏
  • 举报
回复
看看@username的帮助,有两种方法可以实现你的需求:
1. 用私有视图,但是比较麻烦的是,如果视图有什么改动,刷新设计比较麻烦,而且如果视图是存在服务器上的,私有视图多了难免会对性能造成一定的影响。
2. 用嵌入视图来实现。把视图嵌入到page或者form中,在嵌入的时候有一个选项是:Show Single Category,你做一个视图,第一列是From,排序,然后在form 或者page的show single category里面写上@username即可。

When a formula runs on a server, the agent signer is considered the current user. Using @UserName on a local database or in a private view in a server-based database returns the user's name. You should not use @UserName in a public view, doing so produces unpredictable results. Also, if the field that you are referencing changes, you will get unpredictable results because the index has to be rebuilt to accommodate the new information.One use for @UserName is to display only those documents relevant to the current user. For example, your Service Request database could use @UserName in the private view named Assignments to display each technician's assignments, weeding out everyone else's:
SELECT @UserName=AssignedTo
However, the user can still design a different private view that retrieves all documents, so don't depend on @UserName as a security mechanism.
For an alternative way to display only documents relevant to the current user, see "To show a single category in an embedded view."
If you are using Release 5 and have an alternate name as well as a primary name, it is best to store the alternate name in the document as author information when using the extended feature of @UserName.
lijm2816 2008-09-23
  • 打赏
  • 举报
回复
用这种表单$$ViewTemplate for 视图名,表单上得到用户信息@username,再得到他的部门信息。
用view.SelectionFormula="select " +searchstr改变视图的选择条件。

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧