2

一連の定期的な会議でドキュメントの1つを変更できるかどうか誰かが知っていますか?それらの1つをc#apiで変更し、シリーズ内のすべてのドキュメントを変更しました(たとえば、シリーズ内の5つのドキュメントは1回のsave()呼び出し中に変更されます)

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);
}
4

3 に答える 3

2

LotusNotesカレンダーとスケジューリングの説明!パート1」から:

議長が一部のインスタンスを再スケジュールする場合、繰り返し会議のインスタンスドキュメントを複数のドキュメントに分割できます。週に1回、5週間繰り返される繰り返しの会議を考えてみましょう。議長が1番目と2番目のインスタンスを1時間進めると、5つのインスタンスすべての単一の応答ドキュメントが2つの応答ドキュメントに分割されます。1つは1番目と2番目のインスタンス用で、もう1つは残りのインスタンス用です。

そして、「IBM LotusNotesとDominoCalendars&SchedulingSchema」から:

繰り返されるイベントは、時間の経過とともに複数回スケジュールされ、親子関係の少なくとも2つのメモで表されます。親ノートはそのApptUNIDアイテム(ノートユニバーサルID)によって識別され、子ノートは親と同じApptUNIDおよび元のRepeatInstanceDatesによって識別されます。ApptUNIDアイテムとRepeatInstanceDatesアイテムは、特定のリピートインスタンスを一意に識別する値のキーペアを形成します。詳細については、このペーパーの「リピートモデル」セクションで説明しています。

したがって、基本的に行う必要があるのは、イベントの子ドキュメント($ CSFlags conatins"i"および$Refは親UNID)を見つけ、変更された日付/時刻の新しい(2番目の)子ドキュメントを作成して、この特定の日付/を削除することです。既存の子ドキュメントIIRCからの時間エントリ。このような場合、私は常にNotesクライアントで手動でそれを行い、その方法で作成されたフィールドをコードで作成したフィールドと比較します。

于 2011-10-22T10:43:41.720 に答える
1

コードでは、ビューをループして、ビューで使用可能なすべてのドキュメントを変更します。変更するドキュメントを選択する必要があります。

編集:繰り返しエントリは、ビューに複数回表示されるドキュメントです。そのため、同じドキュメントを複数回更新している可能性があります。シリーズ内のすべてのドキュメントのUniversalIDを比較して確認してください。

Lotus Clientを使用してエントリの1つを変更すると、すべてを更新するかどうかが尋ねられます。「このインスタンスのみ」を選択すると、エントリは新しいドキュメントに保存されます。したがって、繰り返しエントリは、単一のドキュメントまたはドキュメントの組み合わせにすることができます。

于 2011-10-21T11:59:51.940 に答える
0

私があなたに与えることができる最善のアドバイス、そして本当に唯一のアドバイスは、メールテンプレートのLotusScriptコードを調べて、ユーザーが繰り返し予定の1つのエントリを変更したときにそれが何をするかを正確に確認することです。Lotusは他の方法でそれを文書化していませんが、テンプレートコードはすべてオープンソースであり、究極の権威です。あなたのタスクは、テンプレートで行うことと互換性があることです-そうでない場合、コードに副作用があり、Notesクライアントを使用してカレンダーイベントシリーズで追加のアクションを実行しようとするユーザーに問題が発生する可能性がありますコードが実行されました。

于 2011-10-21T23:32:59.017 に答える