Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument 'Aktuelles Doc ( AntwortDoc )
Dim Vdoc As NotesDocument 'Hauptdokument des AntwortDocs
Dim item As NotesItem
Dim Dummy As Variant
Dim DummyString As String
Dim KGStatus As String
Dim VGStatus As String
Dim UnID As String
Set db = session.CurrentDatabase
Set doc = Source.Document 'UIDoc zu Backend-doc
UnID = doc.ParentDocumentUNID
Set Vdoc = db.GetDocumentByUNID(UnID) 'Vdoc wird zum Vaterdokument
Dummy = doc.GetItemValue("GesamtStatus")
KGStatus = Dummy(0)
If KGStatus <>4 Then
Goto Ende
End If
Dummy =""
Dummy = vdoc.GetItemValue("DocStatus3")
DummyString = Dummy(0)
If DummyString <>"" Then
VGStatus = "3"
Else
Goto Ende
End If
If KGStatus ="4" And VGStatus ="3" Then
Set item = vdoc.ReplaceItemValue("DocStatus1","1")
Set item = vdoc.ReplaceItemValue("DocStatus2","")
Set item = vdoc.ReplaceItemValue("DocStatus3","")
End If
Ende:
Call doc.Save(False, False )
Call Vdoc.Save(False, False )
End Sub
Das Läuft jetzt. Gibts da noch was was man besser machen könnte?Ob ich verbessern kann, bezweifle ich, aber mal ein Erfahrungsbericht.
doc.GetItemValue("GesamtStatus")(0) ..... vdoc.GetItemValue("DocStatus3")(0)
Wielange Programmiert ihr eigentlich schon?Lange genug um zu wissen, dass es immer besser geht.
Im Grunde ist es also immer eine Zahl.
Sub Initialize
Dim gSession As New NotesSession
Dim view As NotesView
Dim docA As NotesDocument
Dim docVater As NotesDocument
Dim currentDB As NotesDatabase
Dim mailDoc As NotesDocument
Dim mailPerson As String
Dim Dummy1 As Variant
Dim Dummy2 As Variant
Dim Dummy3 As Variant
Dim Dummy4 As Variant
Dim mailBetreff2 As String
Dim rtItem As NotesRichTextItem
Dim tmpForm As String
Const Ansicht1 ="AdminGeprüft"
Const mailName ="ExaminePersonAW"
Const mailBetreff1 ="Sie müssen das Dokument: "
Const mailBetreff3 =" noch prüfen."
Const mailInhalt1 ="Zu diesem Dokument wurden sie als Prüfer ermittelt."
Const mailInhalt2 ="Link zum Dokument"
Set gSession = New NotesSession
Set currentDB = gSession.CurrentDatabase
Set view = currentDB.GetView( Ansicht1 )
Set docA = view.GetFirstDocument
While Not docA Is Nothing
Dummy1 = docA.GetItemValue( "Form")
tmpForm = Dummy1(0)
If tmpForm = "NewRevi" Or tmpForm = "NeuesFormular" Then
Else
Goto Ende
End If
Dummy1 = docA.GetItemValue( mailName )
mailPerson = Dummy1(0)
Dummy1 = docA.GetItemValue("ISONameAW")
mailBetreff2 = Cstr(Dummy1(0))
Set mailDoc = currentDB.CreateDocument
Call mailDoc.ReplaceItemValue ( "Form", "Memo")
Call mailDoc.ReplaceItemValue ("SendTo", mailPerson)
Call mailDoc.ReplaceItemValue ("Subject", mailBetreff1+mailBetreff2+mailBetreff3)
Set rtItem = mailDoc.CreateRichTextItem ("Body")
Call rtItem.AppendText ( mailInhalt1 )
Call rtItem.AddNewline(1, True)
Call rtItem.AddNewline(1, True)
Call rtItem.AppendDocLink( docA, mailInhalt2)
Call rtItem.AppendText ( mailInhalt2 )
If mailPerson<>"" Then
Call mailDoc.Send (True)
End If
Set docA =view.GetNextDocument( docA )
Ende:
Wend
End Sub
Dim gSession As New NotesSession
Dim view As NotesView
Dim docA As NotesDocument
Dim docVater As NotesDocument
Dim currentDB As NotesDatabase
Dim mailDoc As NotesDocument
Dim rtItem As NotesRichTextItem
Const Ansicht1 ="AdminGeprüft"
Const mailName ="ExaminePersonAW"
Const mailBetreff1 ="Sie müssen das Dokument: "
Const mailBetreff3 =" noch prüfen."
Const mailInhalt1 ="Zu diesem Dokument wurden sie als Prüfer ermittelt."
Const mailInhalt2 ="Link zum Dokument"
Set gSession = New NotesSession
Set currentDB = gSession.CurrentDatabase
Set view = currentDB.GetView( Ansicht1 )
Set docA = view.GetFirstDocument
While Not docA Is Nothing
If docA.GetItemValue( "Form")(0) = "NewRevi" Or docA.GetItemValue( "Form")(0) = "NeuesFormular" Then
Set mailDoc = currentDB.CreateDocument
Call mailDoc.ReplaceItemValue ( "Form", "Memo")
Call mailDoc.ReplaceItemValue ("SendTo", docA.GetItemValue( mailName )(0))
Call mailDoc.ReplaceItemValue ("Subject", mailBetreff1+docA.GetItemValue("ISONameAW")(0)+mailBetreff3)
Set rtItem = mailDoc.CreateRichTextItem ("Body")
Call rtItem.AppendText ( mailInhalt1 )
Call rtItem.AddNewline(1, True)
Call rtItem.AddNewline(1, True)
Call rtItem.AppendDocLink( docA, mailInhalt2)
Call rtItem.AppendText ( mailInhalt2 )
Call mailDoc.Send (True)
Set docA =view.GetNextDocument( docA )
End If
Wend