使用interop.domino.dll(C#)在指定用户$Contacts视图创建联系人问题
解决Lotus Notes联系人未显示在$Contacts视图的问题
我来帮你搞定这个问题!你创建的联系人跑到Recently Archived文件夹而没出现在$Contacts视图里,核心原因是没有给文档指定正确的联系人表单,导致Notes无法识别它为标准联系人文档,自然不会被$Contacts视图收录,甚至可能触发归档规则被移走。
具体解决方案
1. 给联系人文档添加Form字段
Lotus Notes的$Contacts视图是通过表单来筛选文档的,默认选择公式只会包含使用Contact表单的文档。你需要在代码中明确设置这个字段:
修改后的代码片段如下:
NotesDatabase _localDatabase = _lotusNotesServerSession.GetDatabase("servername", "mail/username.nsf", false); if(!_localDatabase.IsOpen) { _localDatabase.Open(); } NotesDocument contact = _localDatabase.CreateDocument(); // 关键:指定联系人表单,这是让文档出现在$Contacts视图的核心设置 contact.ReplaceItemValue("Form", "Contact"); contact.ReplaceItemValue("First Name","Test"); contact.ReplaceItemValue("Last Name", "Contact "); contact.ReplaceItemValue("Mail Address", "testcontact@domain.com"); contact.ReplaceItemValue("Full Name", "Test Contact"); bool issuccess = contact.Save(true,false,false);
2. 额外检查项(可选)
- 确认
$Contacts视图的选择规则:打开数据库设计,查看$Contacts视图的选择条件,确保包含SELECT Form = "Contact"(默认情况下Notes的邮件数据库都是这个规则)。 - 检查归档规则:如果文档还是被移到归档文件夹,查看数据库的归档设置,确认是否有自动归档非联系人文档的规则,调整规则避免误归档新创建的联系人。
这样修改后,新创建的联系人文档会被Notes识别为标准联系人,自动出现在$Contacts视图中,不会再被归档到Recently Archived文件夹啦。
内容的提问来源于stack exchange,提问作者aishwarya ksdaishu
相关产品推荐
相关产品推荐

