lotus中表单内reader域的问题
5.0.8版本的domino服务器环境了,想改其中一个表单的reader域,以前的reader域赋值是采用:
FIELD Reader := @Unique(@Trim(Reader:@UserName)来进行的,每当某个操作者点击某些按钮时,按钮内部就写了上面这行代码,这样就能保证该用户能阅读该文档。
这样使用后Reader域的值样式为:
"CN=用户1/OU=部门1/O=公司"
"CN=用户2/OU=部门2/O=公司"
"CN=用户n/OU=部门n/O=公司"
现有一需求:由于用户可能变更部门,即"CN=用户1/OU=部门1/O=公司"会变成"CN=用户1/OU=部门x/O=公司",我希望即使人员的部门发生变动,但他仍然能够阅读历史文档!
我的做法是:
FIELD Reader := @Unique(@Trim(Reader:@UserName)
FIELD Reader := @Unique(@Trim(Reader:"CN="+@Name([CN];@UserName)+"/OU=*/O=公司")))
即多加了一行代码,让最终reader域的值样式为:
"CN=用户1/OU=部门1/O=公司"
"CN=用户1/OU=*/O=公司"
"CN=用户2/OU=部门2/O=公司"
"CN=用户2/OU=*/O=公司"
"CN=用户n/OU=部门n/O=公司"
"CN=用户n/OU=*/O=公司"
但是发现,不能达到想要的效果,我应该如何解决这个问题?
注:不需要人员的部门变更后能查看历史数据,只需考虑增加本功能后新增的数据即使部门变更了也能看到。
[解决办法]
个人意见,在names库中人员信息建议不直接带部门,这样的话,问题就迎刃而解了~
现在你的做法貌似无法实现想要的效果,现在我们项目组的做法是刷新所有文档,不过非常费时费力~~
[解决办法]
我通常是用group来实现的,即:
1.在names库中创建一个group,把要访问文档的人员添加到该group中
2.在表单添加读者域,域的类型为计算。域的公式是用@dblookup以group名称为关键字到names库中查出该group的所有成员。
3.在某一视图中创建一个刷新按钮其命令为@Command([ToolsRefreshAllDocs])
4.当员工信息变动时,只需对group成员进行修改,然后点击刷新按钮即可。
[解决办法]
就用
FIELD Reader := @Unique(@Trim(Reader:@Name([CN];@UserName))
不管你部门怎么变,@Name([CN];@UserName)这个是不会变的。存这个值,用户也能看见文档,不信你试试。
[解决办法]
直接用administrator里面的命令去改OU啊,这样一来,所有数据库的读者域会跟着改的
[解决办法]
是啊,直接在Admin 端做Rename就不用改Reader域,系统自己会做的。
[解决办法]
[解决办法]
每个部门建一个群组
[解决办法]
关注中...........!
[解决办法]
用角色控制比较简单