Beiträge von Joachim.A

    Hallo ich bin über die Ansicht gegangen und es funktioniert jetzt. :)
    Ich habe nur noch ein Problem. Wenn ich 2 Dokumente habe mit dem Status = "0" schickt es auch 2 Dokumente ab,
    aber das zweite Dokument enthält im maildoc auch den Inhalt des ersten Dokumentes bzw. des Mails mit dem Status = "0".
    Wie könnte ich das maildoc nach dem Senden leeren bzw. den inhalt löschen ohne speichern.



    Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim view As NotesView
    Dim rtitem As NotesRichTextItem
    Dim maildoc As NotesDocument

    Set db = session.CurrentDatabase
    Set view = db.GetView("(Lookup Nummer)")
    Set doc = view.GetFirstDocument
    Set maildoc = New NotesDocument( db )
    Set rtitem = New NotesRichTextItem( maildoc, "Body" )

    While Not ( doc Is Nothing )

    If(doc.Status(0) = "0") Then

    'MsgBox(doc.Status(0))


    maildoc.Form = "Memo"
    maildoc.SendTo = doc.AusgeliehenVon
    maildoc.Subject = "Here's the document you wanted"

    Call rtitem.AppendText( "Bitte geben Sie die folgende Resource wieder zurück" )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( "Typ: " + doc.Typ(0) )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( "Name: " + doc.Name(0) )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( "Nummer: " + doc.DocNumber(0) )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( "Link zum Dokument: " )
    Call rtitem.AppendDocLink(doc, "link zum Dokument")

    Call maildoc.Send( False )

    Set doc = view.GetNextDocument( doc )

    Else

    Set doc = view.GetNextDocument( doc )

    End If
    Wend
    End Sub


    Vielen Dank im Voraus

    Hallo taurec vielen Dank für deine schnelle Antwort.


    Ich habe zuerst ein Button in der Maske "Resource" erstellt und das ist der Code den Button.


    Function postSaveMAEintritt(uidoc As NotesUIDocument)

    Dim db As NotesDatabase
    Dim profile As NotesDocument
    Dim ws As New NotesUIWorkspace
    Set uidoc = ws.CurrentDocument
    Dim session As New NotesSession
    Dim doc As NotesDocument
    Dim maildoc As NotesDocument
    Dim rtitem As NotesRichTextItem
    Dim MailGesendet As NotesItem

    Set doc = uidoc.Document

    If doc.Getitemvalue("Status")(0) = "0" Then

    MsgBox("Hall")
    Set db = doc.Parentdatabase
    Set profile = db.Getprofiledocument("DBProfile", "Main")
    Set maildoc = New NotesDocument(db)
    Set rtitem = New NotesRichTextItem( maildoc, "Body" )
    maildoc.form = "Memo"
    maildoc.Subject = "Test"
    maildoc.sendto = doc.AusgeliehenVon

    Call rtitem.AppendText( "Bitte geben Sie die folgende Resource zurück." )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( "Name: " + doc.Name(0) )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( "Typ: " + doc.Typ(0) )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( "Nummer: " + doc.DocNumber(0) )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( "Link zum Vorgang:" )
    Call rtitem.AddNewLine( 2 )
    Call rtitem.AppendText( doc.Notesurl )

    maildoc.Send(False)
    MsgBox("Test")
    Call doc.Save(True,True)
    Call uidoc.Close(True)
    Print("Ihr Antrag wurde erfolgreich gesendet")
    End If

    End Function



    Klappt super alles bestens. Mail kommt an wenn Status = 0 und bei 1 kommt nichts. Alles wunderbar.


    Nur ich habe jetzt einen Agenten erstellt und diesen Code eingefügt und den versucht manuell zu starten.
    Ich habe die Meldung bekommen. Der Agent ist durch ... Dokumente durchgelaufen ...
    aber keine Mail bekommen.


    Wüsstest du was der Fehler sein könnte?

    Hallo Leute,


    ich hätte dazu auch mal eine Frage.


    Ich habe eine Datenbank, wo man Autos ausleihen kann. Beim Ausleihen bzw. bei der Rückgabe wird der Status in der Maske "Auto" von 0 bzw. 1 auf 1 bzw.0 geändert.
    Bei der Ausgabe gibt man einen Datum ein "anwisierendes Rückgabedatum".
    Meine Frage wäre wie könnte ich es am besten machen, damit wenn das "anwisierendes Rückgabedatum" fällig ist, eine Mail an den Ausleiher rausgeht?


    Agent, der jeden Abend das Rückgabedatum überprüft und dann eine mail rausschickt ???


    Vielen Dank im Voraus

    Hallo Leute,


    ich habe da eine kurze Frage.


    Ich habe ein Feld, wo das Barcode drinn ist und ich möchte das Barcode in Word drucken. Ich erstelle mit LotusScript ein Word Dokument und Etikettendruck. Das funktioniert.
    Nur wenn ich das Feld angebe zum Beispiel "Barcode" öffnet sich Word und erstellt diesen Etikettendruck und fügt den Inhalt zum Beispiel "609195" als Zahl ein, aber nicht als Barcode (Schriftart). Wenn ich die Zahlen markiere und das Schriftart in Word ändere in "Free 3 of 9 Extended (also Barcode)" dann funktioniert es einwandfrei ohne Probleme.


    Meine Frage ist es möglich, die Schriftart mit Lotusscript schon vorab automatisch einzustellen.?

    Hallo also ich habe ein Feld im DBProfile "Test" und in der Maske "Maske" ein Feld "Test_123".
    Im Feld "Test" (DBProfile) sind Mehrfachwerte erlaubt und jedes Wert wird in einer neuen Zeile geschrieben und in der Maske "Maske" im Feld "Test_123" bildet sich aus diesen Werten eine Liste (Dialogliste). Im Moment habe ich im Feld "Test" zur Auswahl "Notebook" : "Smartphone" und wenn ich jetzt als Vorgabewert Wert "Notebook" schreibe und es sich aber nach einer Zeit ändert, dann muss ich es ja nocheinmal im Designer ändern.


    Ich will, dass der Vorgabewert der erste Wert des Feldes "Test" in der ersten Zeile ist.

    Also hier der Code. Ich bekomm die Fehlermeldung "Typ Misstach" in der Zeile "
    count = count +Cint(doc.DokumentenNummer(0))+1"


    Sub Querysave(Source As Notesuidocument, Continue As Variant)
    Dim uiws As New notesuiworkspace
    Dim uidoc As notesuidocument
    Set uidoc = uiws.currentdocument
    Dim DokumentenNummer As String
    DokumentenNummer = uidoc.fieldgettext("DokumentenNummer")
    If DokumentenNummer = "" Then
    Dim session As New notessession
    Dim db As notesdatabase
    Set db = session.currentdatabase
    Dim view As notesview
    Set view =db.getview("(Lookup Nummer)")
    Dim doc As notesdocument
    Set doc = view.GetLastDocument
    Dim count As Integer
    count = count +Cint(doc.DokumentenNummer(0))+1
    'count = count+1
    'Set doc = view.getnextdocument(doc)
    Dim ausgabe As String
    ausgabe = Cstr(count+1)
    Call uidoc.fieldsettext("DokumentenNummer", ausgabe)
    End If
    End Sub


    Ich hätte auch noch eine kleine Zwischenfrage. Wie gebe ich einer Dialogliste als Vorgabewert den ersten Wert in der Liste`?

    Ich bekomme jetzt eine Fehlermeldung "Overflow" in der Zeile "counter=counter+cint(doc.dokumentennummer(0))+1".


    Sub Querysave(Source As Notesuidocument, Continue As Variant)
    Dim uiws As New notesuiworkspace
    Dim uidoc As notesuidocument
    Set uidoc = uiws.currentdocument
    Dim DokumentenNummer As String
    DokumentenNummer = uidoc.fieldgettext("DokumentenNummer")
    If DokumentenNummer = "" Then
    Dim session As New notessession
    Dim db As notesdatabase
    Set db = session.currentdatabase
    Dim view As notesview
    Set view =db.getview("(Lookup Nummer)")
    Dim doc As notesdocument
    Set doc = view.GetLastDocument
    Dim count As Integer
    Do Until doc Is Nothing
    count = count +Cint(doc.DokumentenNummer(0))+1
    'count = count+1
    'Set doc = view.getnextdocument(doc)
    Loop
    Dim ausgabe As String
    ausgabe = Cstr(count+1)
    Call uidoc.fieldsettext("DokumentenNummer", ausgabe)
    End If
    End Sub

    Hallo ich weiß, dass meine Fragen langsam nerven, aber ich hoffe, dass ist die letzte Frage.


    1) Ich habe in einer Maske ein Feld ("Nummer") berechnet wird Sie im QuerySave.
    Der Quellcode funktioniert auch so. Also das Feld bekommt auch die Nummern geliefert.
    Nur wenn ich ein Dokument von der Datenbank lösche zum Beispiel, dass Dokument mit der Nummer
    50005 und die Datenbank hat schon 30 Dokumente (50030), dann erstellt mir es beim Nächsten mal
    die 50030 nocheinmal doppelt.
    Meine Frage wäre dazu. Wie kann ich vor dem Übergeben des Wertes an das Feld überprüfen,
    ob die Nummer schon vergeben ist oder die Ansicht ist absteigend sortiert einfach das erste
    Wert nehmen + 1. Wie kann ich den ersten Wert der Ansicht auslesen?


    Dim uiws As New notesuiworkspace
    Dim uidoc As notesuidocument
    Set uidoc = uiws.currentdocument
    Dim docnumber As String
    docnumber = uidoc.fieldgettext("DokumentenNummer")
    If docnumber = "" Then
    Dim session As New notessession
    Dim db As notesdatabase
    Set db = session.currentdatabase
    Dim view As notesview
    Set view =db.getview("(Lookup Nummer)")
    Dim doc As notesdocument
    Set doc = view.getfirstdocument
    Dim count As Long
    count = 50000
    Do Until doc Is Nothing
    count = count+1
    Set doc = view.getnextdocument(doc)
    Loop
    Dim ausgabe As String
    ausgabe = Cstr(count+1)
    Call uidoc.fieldsettext("DokumentenNummer", ausgabe)
    End If


    2)