1.
将$KeepPrivate设置为"1"可以禁止用Notes Client打印、拷贝、转发文档。这不是一个安全特性,因为用户可以拷贝数据库到本地,然后用代理清除$KeepPrivate域。
2.
$FormulaClass条目的作用
------------------------------------
在Notes的视图(视图也是文档)中有个域名叫$FormulaClass,这个域可以决定视图显示的内容。
如果我们使用方法改变了$FormulaClass的值,那么视图中显示的内容会让你大吃一惊。
------------------------------
值(文本) |
描述(视图的显示内容)
------------------------------
1
|文档
------------------------------
2
|未知
------------------------------
4
|表单和子表单
------------------------------
8
|视图,文件夹和导航器
------------------------------
16
|数据库标题
------------------------------
32
|设计集合(概要信息)
------------------------------
64
|ACL文档(编译格式)
------------------------------
128
|未知
------------------------------
256
|未知
------------------------------
512
|代理
------------------------------
1024
|共享域
------------------------------
1548
|所有设计元素
------------------------------
3.
我们知道简要表文档是不能显示到视图中的。
-----------------
但是事情不是绝对的。
-----------------
我发现$Name域是简要表文档的一个标志(是不是唯一标志,还有待确定,不过,我现在认为是唯一标志)。让我们来研究一下简要表文档。使用@command([editProfile];$profileform)以及使用db.getprofileDocument($profileform)这种方法创建的简要表文档都有一个域$Name,这个域的值是有规律的。
比如 $profileform = "myprofile" ,则 $Name = "$profile_009myprofile_"
如果使用了用户名的简要表文档 @command([editProfile];$profileform;@username), $profileform = "myprofile"
aaa = @username ,则$Name = "$profile_009myprofile_"+ aaa
------------
在上面的示例(你可以很容易的检查一下,是不是这样。),说明了简要表文档的 $Name 的组成。另外,我们还发现数字009可能是变动的,实际上这个数字是$profileform的字符串的长度。
好了,这样我们可以把一个现有的文档(在视图中显示的文档)改为一个简要表,并且它将一直显示在视图中,你信不信?
你只需使用Script在这个普通文档中增加一个名叫$Name的Item,并且$Name的值是上面描述的组成形式。就可以了。
赶快试一试吧!
--------------
另外每个简要表文档都含有一个域"$NoPurge",注意到了没有?
--------------
将$KeepPrivate设置为"1"可以禁止用Notes Client打印、拷贝、转发文档。这不是一个安全特性,因为用户可以拷贝数据库到本地,然后用代理清除$KeepPrivate域。
2.
$FormulaClass条目的作用
------------------------------------
在Notes的视图(视图也是文档)中有个域名叫$FormulaClass,这个域可以决定视图显示的内容。
如果我们使用方法改变了$FormulaClass的值,那么视图中显示的内容会让你大吃一惊。
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
3.
我们知道简要表文档是不能显示到视图中的。
-----------------
但是事情不是绝对的。
-----------------
我发现$Name域是简要表文档的一个标志(是不是唯一标志,还有待确定,不过,我现在认为是唯一标志)。让我们来研究一下简要表文档。使用@command([editProfile];$profileform)以及使用db.getprofileDocument($profileform)这种方法创建的简要表文档都有一个域$Name,这个域的值是有规律的。
比如 $profileform = "myprofile" ,则 $Name = "$profile_009myprofile_"
如果使用了用户名的简要表文档 @command([editProfile];$profileform;@username), $profileform = "myprofile"
aaa = @username ,则$Name = "$profile_009myprofile_"+ aaa
------------
在上面的示例(你可以很容易的检查一下,是不是这样。),说明了简要表文档的 $Name 的组成。另外,我们还发现数字009可能是变动的,实际上这个数字是$profileform的字符串的长度。
好了,这样我们可以把一个现有的文档(在视图中显示的文档)改为一个简要表,并且它将一直显示在视图中,你信不信?
你只需使用Script在这个普通文档中增加一个名叫$Name的Item,并且$Name的值是上面描述的组成形式。就可以了。
赶快试一试吧!
--------------
另外每个简要表文档都含有一个域"$NoPurge",注意到了没有?
--------------
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim designViewNote As NotesDocument
Set db=session.CurrentDatabase
Set view=db.GetView("Sys_AllDesign")
Set designViewNote=db.GetDocumentByUNID(view.UniversalID)
designViewNote.RemoveItem "$Collection"
designViewNote.ReplaceItemValue "$FormulaClass",Cstr(&H020C)
designViewNote.Save True,True
End Sub
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim designViewNote As NotesDocument
Set db=session.CurrentDatabase
Set view=db.GetView("Sys_AllDesign")
Set designViewNote=db.GetDocumentByUNID(view.UniversalID)
designViewNote.RemoveItem "$Collection"
designViewNote.ReplaceItemValue "$FormulaClass",Cstr(&H020C)
designViewNote.Save True,True
End Sub