>

다음 에이전트가 단추를 클릭하면 실행되도록하려고합니다. 에이전트 작업은 사용자가 문서 (이 경우 분개)를 날짜 변경이 필요한지 확인하는 것입니다. 그래서 한 번에 여러 문서를 만들려고합니다. Notes 응용 프로그램에서 비슷한 Lotusscript를 실행했지만 제대로 작동하는 것처럼 보였지만 Xpage에서 실행하는 방법을 모르겠습니다. 코드 :

Sub Initialize
Dim session As New NotesSession 
Dim db As NotesDatabase
Dim UIdoc As NotesUIDocument
Dim doc As NotesDocument 
Dim Workspace As New NotesUIWorkspace
Set db = session.CurrentDatabase
Set UIdoc = workspace.CurrentDocument
Dim Radio As String
Dim String1 As String
Dim Counter As Integer
Print("Repeat Agent Triggered and Variables Initialized")
String1 = UIdoc.FieldGetText("SubjectTX")
Radio = UIdoc.FieldGetText( "RepeatValueTX" )
Dim ret As Variant 
Dim Newdate As New NotesDateTime(UIdoc.FieldGetText("DiaryDateDT")) 
Print(Radio)
Print(String1)
Print("Select Case...")
Select Case Radio
    Case "Day": 
        Print("Case Day in use")
        For Counter = 1 To 7
            Call Newdate.AdjustDay( 1 )
            Set doc = db.CreateDocument
            doc.SubjectTX = "Day Revision " + String1
            doc.DiaryDateDT = NewDate
            Call doc.Save( True, True )
        Next
    Case "Week":
        Print("Case Week in use")
        For Counter = 1 To 4
            Call Newdate.AdjustDay( 7 )
            Set doc = db.CreateDocument
            doc.SubjectTX = "Week Revision:" + String1
            doc.DiaryDateDT = NewDate
            Call doc.Save( True, True )
        Next
    Case Else: 
        Print("No Case or Saving and Closing")
End Select
   Print("exited switch, Saving and Closing now")
   Call UIdoc.Save()
   Call UIdoc.Close()

엔드 서브

에이전트가 "제한된 조작 허용", "웹 사용자로 실행", 대상 : 없음, "에이전트 목록 선택"으로 설정되어 있습니다.

에이전트를 실행하는 자바 스크립트

database.getAgent("Repeatagent").run()

아마도 여기에 중요한 것이 빠져있을 수 있습니다. 더 좋은 방법이 있다면 알려주세요!

노트 메뉴에 익숙하지 않아서 도움말 메뉴에서 여러 가지를 함께 제공하므로 해결책이 있으면 매우 광범위하게 설명하십시오.

감사합니다

  • 답변 # 1

    이 에이전트를 Java Bean으로 변환하고 Xpage의 querysave 이벤트에서 직접 호출하는 것이 좋습니다.

    Lotusscript 에이전트가 여전히 마음에 들면 백엔드 에이전트의 NotesUIWorkspace에 액세스 할 수 없으므로 UI ​​클래스를 백엔드 (NotesUIDocument->NotesDocument)로 변경해야합니다. 이 경우 문서 컨텍스트를 상담원에게 전달하십시오.

  • 답변 # 2

    두 가지 해결해야 할 문제가 있습니다 :

    서버에서 트리거되는

    에이전트에는 백엔드 클래스 만 포함될 수 있습니다. 에이전트에 NotesClient 전용 인 uidoc이 포함되어 있습니다

    ui 클래스에서 값을 얻으려고합니다

    큰 두통을 피하려면 간단한 함수로 JavaScript 또는 Java로 해당 코드를 다시 작성하십시오. 세션과 데이터베이스가 최상위 개체로 있습니다. XPage의 단추에서이를 호출하고 값을 매개 변수로 인계하십시오.

  • 이전 c# - Unity가 Systemdatadll을로드 할 수 없습니다
  • 다음 vba - 오류 이동시 - 오류 메시지 가져 오기 -2147024809