3

予定(カレンダーエントリ)を作成して、特定の招待者に自動的に配布する必要があります。

現在、2つの問題があります。

1)カレンダーエントリが椅子のカレンダーに表示されません。確認の通知を送信する必須の出席者として椅子を追加することでこれを回避しましたが、自動的に追加する方法を知りたいです。

2)招待者には招待状が送信されますが、確認できません。Lotusは、メールファイルに偶数が存在しないため、招待を処理できないというエラーをスローします。

私のコードはJAVAにありますが、必要に応じてLotusscriptまたはFormulaに移植できます。私はそれを機能させる必要があります。

import java.util.GregorianCalendar;

import lotus.domino.AgentBase;
import lotus.domino.Database;
import lotus.domino.Document;
import lotus.domino.Session;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

      try {
          Session s = getSession();
          Database db = s.getDatabase("server", "maildatabase.nsf", false);
          String user = s.getUserName();

          Document doc = db.createDocument();
          doc.replaceItemValue("Form", "Appointment");
          doc.replaceItemValue("AppointmentType", "3");
          doc.replaceItemValue("$PublicAccess", "1");

          doc.replaceItemValue("Subject", "New Meeting"); 
          doc.replaceItemValue("CALENDARDATETIME", s.createDateTime(new GregorianCalendar(2012, 7, 24, 9, 0)).getLocalTime());
          doc.replaceItemValue("Body", "an invitation");

          doc.replaceItemValue("StartDate", s.createDateTime("08/24/2012").getLocalTime());
          doc.replaceItemValue("EndDate", s.createDateTime("08/24/2012").getLocalTime());
          doc.replaceItemValue("StartTime", s.createDateTime("09:00:00 AM").getLocalTime());
          doc.replaceItemValue("EndTime", s.createDateTime("10:00:00 AM").getLocalTime());
          doc.replaceItemValue("StartDateTime", s.createDateTime(new GregorianCalendar(2012, 7, 24, 9, 0)));
          doc.replaceItemValue("EndDateTime", s.createDateTime(new GregorianCalendar(2012, 7, 24, 10, 0)));

          doc.replaceItemValue("RequiredAttendees", "Invitee/company");
          doc.appendItemValue("RequiredAttendees",user);

          doc.replaceItemValue("SendTo", "Invitee/company");
          doc.appendItemValue("SendTo",user);
          doc.replaceItemValue("EnterSendTo", "Invitee/company");
          doc.appendItemValue("EnterSendTo",user);
          doc.replaceItemValue("From", user);
          doc.replaceItemValue("Principal",user);
          doc.replaceItemValue("Chair", user); 
          doc.replaceItemValue("Location", "location test");


          doc.computeWithForm(true, false);
          doc.save(true,false,false);

          String sendTo = doc.getItemValueString("SendTo");
          doc.send(false, sendTo);

      } catch(Exception e) {
          System.out.print(e.getMessage());
       }
   }
}

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

2

すべての参加者にiCalendarファイルを送信できるかどうかを調べるのは興味深いことだと思います。ネット上にはいくつかの例がありますが、ここにいくつかあります:-c#経由でロータスノート8.5クライアントに予定の招待状を送信します-http : //www.dominoguru.com/pages/icalendar_domino-outlook.html

于 2012-08-27T23:19:36.917 に答える
1

私はこれをすることになった。これにより、ユーザーは日付を設定して招待状を手動で送信する必要がありますが、私が入手できる最も近いものです。スケジュールを変更するために全員が同じイベントに参加する必要があるため、iCalアタッチメントを使用できませんでした。

    @Command([Compose];"" : "mailfile.nsf";"Calendar Entry");
    @PostedCommand([EditGotoField];"Subject");
    @PostedCommand( [EditInsertText]; "Title" );
    @PostedCommand([EditGotoField];"EnterSendTo");
    @PostedCommand([EditInsertText]; "Bob Test");
    @PostedCommand([EditGotoField];"Location");
    @PostedCommand([EditInsertText]; "Location" );
    @PostedCommand([EditGotoField];"StartTime");
    @PostedCommand([EditInsertText]; @Text(@Time(9;0;0)));
    @PostedCommand([EditGotoField];"Body");
    @PostedCommand([EditInsertText];@UpperCase("Set Start and End Dates to: " + @Text(@Adjust(BidDay;0;0;-1;0;0;0))));
于 2012-08-29T13:52:39.713 に答える