2017-08-16 71 views

回答

0

检查应用程序通过电子邮件发送的文档。如果您没有其他方式设置,您可以设置邮件日志来捕获它们。查找项目$ Title和$ Body。他们的存在表明文档包含存储的表单。你甚至可以设置一个选择公式:

SELECT @IsAvailable($Title) & @IsAvailable($Body) 
+1

根据你的回答,你可能想在该公式的一半中使用@IsAvailable($ Body) – Duston

+0

是的。感谢您的支持。纠正。 –

1

首先,一个数据库,它允许在文档中使用存储形式没有在图标注的$标志元素小写字母“f”。您可以使用

支持或存储在文件必须在$信息项,表示它的标志
Const NOTE_CLASS_ICON% = &H0010    '*** icon note 
Const SPECIAL_ID_NOTE& = &HFFFF0000  ' use in combination w/NOTE_CLASS when calling NSFDbGetSpecialNoteID 

Dim iconNoteId& 
Dim icondoc As NotesDocument 

iconNoteId = SPECIAL_ID_NOTE + NOTE_CLASS_ICON 
Set icondoc = db.Getdocumentbyid(iconNoteId) 
If InStr(icondoc.Getitemvalue("$Flags")(0), "f") > 0 Then 
    Print "Database DOES NOT support shared forms" 
Else 
    Print "Database supports shared forms" 
End If 

其次形式不能访问数据库中的图标。此项目是Rich Text,在IDE中不易查看。但是,通过同步的Oon Disk Project(ODP)使用该文件的DXL版本,您可以使用XML或文本编辑器查看该文件。它看起来像是第六个字符是正常形式的“I”和与文档一起存储的形式的“G”。

到目前为止,我还没有构建任何代码来实际测试或报告表单,因为关闭数据库级别的功能可修复存储表单造成的安全问题。

+0

我很确定表单和脚本也可以发送带有存储表单的文档,而不管表单设置如何。 –

+0

@RichardSchwartz - 这是正确的,但在数据库级关闭会阻止它。 – Newbs

+0

有趣。在databaseA中将其关闭会阻止数据库A中的脚本将数据库B打开为NotesDatabase对象,然后使用databaseB.CreateDocument并将该新文档与存储的表单一起发送?如果不是这样,那么“数据库”和“应用程序”之间的模糊界限使得知道如何回答这个问题更难一些! –

相关问题