1

変更タスクが期日を過ぎた場合にのみ、電子メール通知を設定しようとしています! 電子メールは、変更タスクを割り当てられた人にのみ送信する必要があります。

これは私がやっていることです:

1)これはスケジュールされたジョブのスクリプトです:

      var gr = new GlideRecord('change_task');
      gr.addQuery('due_date','<=', gs.nowDateTime());
      gr.query();


      var count = gr.getRowCount();
      if (count > 0)
      {
        gs.eventQueue("change_task.duedate_reminder", gr, gs.getUserID(), gs.userName());
      }

2)「change_task.duedate_reminder」という名前のレジストリにイベントを作成しました

3) 上記のイベントが発生したときに電子メール通知を作成しました。受信者として「aasigned_to」を使用!!

これはエラー ログ メッセージです。

「getEventTarget() が無効なレコード reference.change_task で呼び出されました。イベント: change_task.duedate_reminder が削除された可能性があります」

4

1 に答える 1

2

countが 0 より大きい場合はgr.next()、コレクション内の各レコードをロードするために呼び出す必要があります。それ以外の場合、gr渡すインスタンスにはgs.eventQueue(...)結果が取り込まれません (eventQueue は、取り込まれた単一の GlideRecord のみを処理します)。

レコードのコレクションを想定している可能性がある場合は、次のように繰り返す必要があります。

gr.query();
while (gr.next()){
   gs.eventQueue("change_task.duedate_reminder", gr, gs.getUserID(), gs.userName());
}
于 2014-02-22T01:38:37.650 に答える