2011-10-21 46 views
2

是否有人知道是否可以更改一系列定期会议中的某个文档? 我用C#API改变其中之一,它改变系列中的所有文件(例如,5个文档在系列将一个保存()调用期间被修改)Lotus Notes中的经常性日历条目

var document = view.GetFirstDocument(); 
if (document != null) 
{ 
    do 
    { 
     var item = document.GetFirstItem("Repeats"); 
     var repeat = tmpItem != null ? Convert.ToInt32(tmpItem.Text) : 0; 

     if(repeats) 
     { 
      document.ReplaceItemValue("myVal", "1"); //it change all my 5 docs after first save 
      document.Save(true, false); 
     } 
     document = view.GetNextDocument(document); 
    } 
    while (document != null); 
} 

回答

2

从“Lotus Notes Calendar and Scheduling explained! Part 1”:

重复会议的实例文档可以当椅子重新安排一些情况下可以拆分成多个文件。考虑一个重复的会议,每周重复一次,持续五周。如果主席将第一个和第二个实例推进一个小时,则所有五个实例的单个响应文档现在分成两个响应文档:一个用于第一个和第二个实例,另一个用于其余实例。

并从“IBM Lotus Notes and Domino Calendaring & Scheduling Schema”:

重复事件不止一次随着时间的推移计划越来越被以父子关系至少两个音符表示。父注释由它的ApptUNID项(这是它的注释通用ID)标识,并且子注释由与父项相同的ApptUNID和原始的RepeatInstanceDates标识。 ApptUNID和RepeatInstanceDates项形成唯一标识特定重复实例的键值对。本文的重复模型部分将介绍更多细节。

那么你基本上需要做的就是找到事件的子文档($ CSFlags conatins“i”和$参考父母UNID)和更改的日期/时间创建一个新的(第二)子文档,从现有的儿童文件IIRC中删除这个特定的日期/时间条目。 在这种情况下,我总是在Notes Client中手动执行此操作,然后将通过我的代码创建的那些字段与创建的字段进行比较。

1

在你的代码回路通过查看和更改视图中可用的所有文档。您需要选择您想要更改的文档。

编辑: 重复条目是在视图中多次显示的文档。因此,您可能多次更新同一文档。比较系列中所有文档的UniversalID以确保。

如果使用Lotus Client更改其中一个条目,它将询问您是否要更新所有条目,如果选择“仅此实例”条目将保存在新文档中。因此,重复条目可以是单个文档或文档的组合。

+0

对不起我的错误。我循环查看所有文档 - 正确。但是随着第一篇文档的更改,在获得这些文档之前,所有文档都会被更改。我的意思是在一次调用ReplaceItemValue(“myVal”,“1”); c#api改变了整个系列 –

+0

这没有什么意义。在一个文件上替换一个项目不会影响其他文件,我想不出任何方式,你会设置一个代理或其他触发代码来改变这些其他文件。只是为了确定,我会看到当你执行代码时会发生什么。 –

+0

确定这里是一个没有做的代码/ while 'string id =“974E390DCF9D14F5C125793000468DA4”; ///系列中的第一个文档 var d = UserDb.GetDocumentByUNID(id); \t \t \t \t d.ReplaceItemValue(“mmRepeat”,“”); \t \t \t \t d.Save(真实的,真实的,真正的);' –

0

我可以给你的最好的建议和真正唯一的建议是研究邮件模板中的LotusScript代码,并确切了解当用户更改重复约定中的一个条目时它的作用。 Lotus没有以任何其他方式记录它,但是模板代码都是开源的,并且它是最终的权威。您的任务是与他们在模板中执行的操作相兼容 - 否则很可能您的代码会产生副作用,导致尝试使用Notes客户端对日历事件系列采取其他操作的用户出现问题你的代码已经运行。

+0

很抱歉,IBM的IBM Lotus Notes和Domino Calendaring&Scheduling Schema实际上有非常好的文档:http://www.lotus.com/ldd/ddwiki.nsf/dx/cs_schema_toc – leyrer

+0

啊,那很好。当我想要的时候从来没有可用的,但那是不久前。谢谢。 –