Beiträge von Johnny67

    Ein Nutzer hat sehr viele Ordner in seiner Mail-Datenbank angelegt. Nun hat er ein wichtiges Dokument in der Ansicht "Alle Dokumente", weiß aber nicht mehr, in welchen Ordner er dieses Dokument gelegt hat. Aufgrund der Anzahl der Ordner und darin befindlicher Dokumente kann ich nicht ernsthaft empfehlen, einfach alle Ordner durchzusehen.
    Gibt es eine Möglichkeit, herauszufinden, in welchem Ordner sich ein Dokument befindet?

    Ja, das funktioniert bei mir so.


    In der versteckten Ansicht lfnr befindet sich nur ein Dokument. Es könnten sich auch mehrere dort befinden, aber das Script wird nur das letzte verwenden. Das vorhandene (oder letzte) Dokument enthält nur die laufende Nummer, diese wird um 1 hochgezählt und sofort wieder abgespeichert. Es wird in dieser Ansicht, die nur zum Zählen genutzt wird, kein weiteres Dokument erzeugt sondern das vorhandene geändert.


    Anschließend wird die gleiche Nummer im aktuellen Dokument gesetzt.

    Danke für die Hinweise.


    Das Problem mit dem Cache vom Profildokument tritt leider tatsächlich auf.


    Ich habe es jetzt doch über eine zusätzliche View gelöst.


    Sub Querysave(Source As Notesuidocument, Continue As Variant)
    If Not source.isnewdoc Then Exit Sub
    Dim s As New notessession
    Set db = s.currentdatabase
    Set view = db.getview("(lfnr)")
    Call view.refresh
    Set doc = view.getlastdocument
    If doc Is Nothing Then
    number = 1
    Else
    number = Cint(doc.lfnr(0)) + 1
    End If
    doc.lfnr = Cstr(number)
    Call doc.save(True, True)
    Set doc = source.document
    doc.lfnr = Cstr(number)
    End Sub


    Die Idee mit dem save(False,False) greife ich vorerst nicht auf, weil es mir bei dieser Applikation nicht notwendig erscheint. Trotzdem danke für den Tipp.

    Vielen Dank für die Antworten. Habe es jetzt mit einem allgemeinen Profildokument gelöst, so daß weiterhin eine einheitliche fortlaufende Nummer vergeben wird. Eine Ansicht benötige ich nun nicht mehr, und einzelne Belegnummernkreise waren nicht gewünscht.


    Die Datenbank liegt nur auf einem Server, wird weder auf andere Server noch auf die Clients repliziert, so daß hierfür keine Vorkehrungen notwendig sind.


    dnotes: welche Warnhinweise meinst Du? Ich freue mich über jeden weiteren Tipp.

    Folgendes Problem:


    Ich hatte bisher die für unsere Anwendung benötigte laufende Nummer (lfnr) mit folgendem Script generiert:




    Sub Querysave(Source As Notesuidocument, Continue As Variant)
    If Not source.isnewdoc Then Exit Sub
    Dim s As New notessession
    Set db = s.currentdatabase
    Set view = db.getview("Meine Ansicht")
    Call view.refresh
    Set doc = view.getlastdocument
    If doc Is Nothing Then
    number = 1
    Else
    number = Cint(doc.lfnr(0)) + 1
    End If
    Set doc = source.document
    doc.lfnr = Cstr(number)
    End Sub



    Nun kam aber die Forderung dazu, daß jeder nur noch Dokumente aus seinem eigenen Zuständigkeitsbereich sehen soll. Dies konnte ich in diesem Fall sehr einfach lösen, indem ich ein Leser-Feld erzeugt habe, das nur "[Admin]" enthält. Somit gilt das vorher bereits vorhandene Autoren-Feld auch für das Lesen.


    Jetzt zum eigentlichen Problem: Seit dieser Änderung werden auch die Laufenden Nummern, die eigentlich eindeutig sein sollten, nur noch aus den Dokumenten berechnet, die man auch sehen kann. Dadurch sind Nummern mehrfach.


    Nun benötige ich eine andere Möglichkeit, die laufenden Nummern zu erzeugen.


    Kann mir jemand helfen?