2011-10-21 44 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

啊,那很好。當我想要的時候從來沒有可用的,但那是不久前。謝謝。 –