Hallo,
ein externer Berater hatte mal ein Script (Agent) in unserem NAB geschrieben, da ich aber kein großer Entwickler bin habe ich ein paar Fragen dazu.
Die user bekamen eine Info Mail, in der ein solcherLink war:
notes:///C1256FF60044C418/C7A4040F19B6662AC125713E003F66FF/607175AB03EF7205C1256FF7003ED802
Daraufhin kamen der User in diese Maske:
siehe Bild Maske
Diese hat er dann ausgefüllt und abgespeichert und schon waren im NAB sein Personendokument gepflegt.
So da ich den netten Herren nicht mehr fragen kann, möchte ich gerne Wissen, wie komme ich an die Maske, die muss doch im NAB sein. Ich muss diese noch ergänzen.
Hier das Script:
Public Sub AgentControl()
On Error Goto LabelError
Const CheckFormName = "Person"
Const CheckEmptyFieldName = "XXOfficePhoneNumber"
Const FieldNameSendTo = "FullName"
Const ZimsSpecialViewName = "(PEform)"
Dim Session As NotesSession, IsSessionOnline As Integer
Dim DB As NotesDatabase, FormView As NotesView
Dim DBCol As NotesDocumentCollection, DBDoc As NotesDocument
Dim DocCounter As Integer, MailCounter As Integer, IgnoreCounter As Integer
Dim MailDoc As NotesDocument, MailDocBodyItem As Variant
Dim SendTo As String, CheckFormValue As String, CheckEmptyFieldValue As String
Dim PicView As NotesView, PicDoc As NotesDocument
Dim PicDocRTItem As NotesRichTextItem
Set Session = New NotesSession
IsSessionOnline = Not Session.IsOnServer
Set DB = Session.CurrentDatabase
Set PicView = DB.GetView("(BodyPic)")
Set PicDoc = PicView.GetFirstDocument
Set PicDocRTItem = PicDoc.GetFirstItem("Body")
Set FormView = DB.GetView(ZimsSpecialViewName)
If FormView Is Nothing Then
Call SUBAgentLOG(("Ansicht """ & ZimsSpecialViewName & """ nicht gefunden - Abbruch!!"), IsSessionOnline)
Exit Sub
End If
Set DBCol = DB.UnprocessedDocuments
Set DBDoc = DBCol.GetFirstDocument()
Do
If DBDoc Is Nothing Then Exit Do
DocCounter = (DocCounter + 1)
CheckFormValue = GetDocValues(DBDoc, "Type", 0)
CheckEmptyFieldValue = GetDocValues(DBDoc, CheckEmptyFieldName, 0)
SendTo = GetDocValues(DBDoc, FieldNameSendTo, 0)
If Not (CheckFormValue = CheckFormName) Or Not (CheckEmptyFieldValue = "") Or SendTo = "" Then
IgnoreCounter = (IgnoreCounter + 1)
Goto LabelLoop
End If
Set MailDoc = New NotesDocument(DB)
Set MailDocBodyItem = New NotesRichTextItem (MailDoc, "Body")
Call MailDocBodyItem.AppendText("Sehr geehrte Damen, sehr geehrte Herren,")
Call MailDocBodyItem.AddNewLine(2)
Call MailDocBodyItem.AppendText("es ist geplant das Domino Directory als zentrale Kommunikationsdatenbank zu verwenden. Bitte aktualisieren Sie hierzu Ihre Kontaktinformationen. ")
Call MailDocBodyItem.AddNewLine(2)
Call MailDocBodyItem.AppendText("Bitte verwenden Sie folgenden Link um Ihre Daten zu aktualisieren. Vielen Dank für Ihre Mithilfe. ")
Call MailDocBodyItem.AddNewLine(2)
Call MailDocBodyItem.AppendText(("notes:///" & DB.ReplicaID & "/" & FormView.UniversalID & "/" & DBDoc.UniversalID & " "))
Call MailDocBodyItem.AddNewLine(2)
Call MailDocBodyItem.AppendText("Mit freundlichen Grüßen,")
Call MailDocBodyItem.AddNewLine(1)
Call MailDocBodyItem.AppendText("Ihre IT-Administration")
Call MailDocBodyItem.AddNewLine(2)
Call MailDocBodyItem.AppendText("Hotline +49 211 222")
REM Call MailDocBodyItem.AppendRTItem(PicDocRTItem)
MailDoc.SendTo = SendTo
MailDoc.Form = "Memo"
MailDoc.DeliveryReport = "N"
MailDoc.Importance = "1"
MailDoc.DeliveryPriority = "H"
MailDoc.Subject = ("Ihre Kontaktdaten im Domino Directory")
On Error Goto LabelMailSendError
Call MailDoc.Send(0)
MailCounter = (MailCounter + 1)
LabelLoop:
On Error Goto LabelError
Set DBDoc = DBCol.GetNextDocument(DBDoc)
Loop
Call SUBAgentLOG(("OK!! // Gelesene Dokumente = " & _
Cstr(DocCounter) & " // ... davon ignoriert = " & _
Cstr(IgnoreCounter) & " // Versendete Mails = " & _
Cstr(MailCounter)), IsSessionOnline)
Exit Sub
LabelMailSendError:
IgnoreCounter = (IgnoreCounter + 1)
Resume LabelLoop
LabelError:
Call SUBAgentLOG(("Unerwarteter Fehler in Routine ""AgentControl"": Zeile " & Trim$(Cstr(Erl)) & _
"; Fehler = " & Trim$(Cstr(Err)) & " --> " & Error$(Err)), IsSessionOnline)
Resume LabelExit
LabelExit:
End Sub
und wie kann ich das Script erst selbst testen ?
Danke vorab für eure Hilfe !
LG Trudi