LotusScript Dokumente im Hintergrund speichern

  • Set view =db.getview("(Lookup Nummer)")


    Mach es dir nicht so schwer.
    Wenn die View bereits nach der Nummer sortiert ist, dann nicht die gesamte View durchiterieren, sondern einfach
    set doc=v.getlastdocument
    counter=counter+cint(doc.dokumentennummer(0))+1


    Dann bekommt das 31. Dokument auch die Nummer 50031 und wenn 2 Dokumente gelöscht werden, bekommt ein neues Dokument immernoch die 50032 zugewiesen.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • 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

  • 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`?

  • Dann benutz doch bitte mal den Script Debugger um zu schauen was im entsprechenden Dokument steht.


    Und zu deiner zweiten Frage: Indem du im Parameter Vorgabewert den entsprechenden Wert mitgibst

  • Auch da gilt genau die gleiche Antwort.


    Wobei mir gar nicht klar ist was jetzt auf einem ein DBProfile damit zu tun hat.


    Bitte gewöhne dir doch mal eine vollständige Beschreibung an und vor allem auch was du zur Eingrenzung von Fehlern/Problemen schon übernommen hast.


    Und auch wenn dir Fragen gestellt werden, daß du diese dann auch beantwortest.


    Ansonsten macht es einfach keinen Spass mehr zu antworten

  • 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.

  • Und genau da gilt auch meine Aussage von vorher weiterhin.


    Und wenn du wissen willst wie man von einer Liste einen bestimmten Eintrag bekommen kann, dann solltest du auch genau das fragen.


    Stichwort @Subset