Web: leidige lfd.Nummer und InViewEdit

  • Hallo,
    kurz vor der Verzweiflung - vielleicht gibts ja jemand der mir damit helfen kann:
    In meiner Web-Anwendung sollen mehrere Felder meiner Dokumente wie mit InViewEdit bearbeitbar sein. Dazu hab ich mir eine Sample-DB von William Be (http://notesweb2.blogspot.com/2006/06/inviewedit-on-web.html) ausgeliehen und angepasst. Die hat am Anfang auch schonmal sehr gut funktioniert.
    Darin hab ich dann ein Knöpfchen zum Anlegen neuer Dokumente eingebaut und jetzt fängt das leidige lfd.-Nr.-Problem an. Dafür rufe ich folgenden Agenten als WebQuerySave auf:


    Sub Initialize
    Dim s As New notessession
    Set db = s.currentdatabase
    Set view = db.getview("Abw_sort_nach_lfd")
    Call view.refresh
    Set doc = view.getfirstdocument
    If doc Is Nothing Then
    number = 1
    Else
    number = Cint(doc.lfd_nr(0)) + 1
    End If
    Set doc = source.document
    doc.lfd_nr = number
    Call doc.save(True,False,True)
    End Sub


    (Dasselbe verwende ich für den NotesClient als QuerySave und da funktionierts einwandfrei)


    Wenn ich jetzt im Web ein Dokument anlege sagt mir die Conosle Agent 'WebSave' error: Variant does not conain an object!
    Das Dokument ist zwar da, allerdings ganz ohne Nummer


    Die Designelemente von WebInViewEdit scheinen jetzt auch nur noch oberflächlich zu funktionieren - es wird tatsächlich nichts mehr gespeichert. Auch die neu angelegten Dokumente sehe ich erst wenn ich den Browser beende und die Datenbank neu öffne.


    Ich hoffe es weiss jemand rat... :-?


    Herbert :-?

  • Na ganz einfach:


    Wo weist du denn Source bitte etwas zu ?


    Im Notes Client wird dir bei Source das aktuelle Dokument zur Verfügung gestellt.
    Im Web musst du es selber zuweisen (NotesSession.DocumentContext)


    Wenn du in den Agenten noch ein gescheites ErrorHanbdling eingebaut hättest, hättest du auch genau gewusst an welcher Zeile es hängt

  • OK, großer Meister!
    Ich hab ja zugegeben, daß ich da noch Lehrling bin und hab mich auch für die prompte Lösung des eine Teils bedankt.


    Ich setz es jetzt auf erledigt, obwohl ich immer noch nicht weiß, warum sich die Web-Ansicht, bzw. Maske nicht mehr aktualisiert oder besser gesagt überhaupt nix mehr speichert.
    Es waren zwei Sachen, bei denen ich mir nicht sicher war/bin, ob die eine die andere behindert/behindern kann, d.h. eine Änderung in der Web-Ansicht ('InViewEdit') möchte dann mit einem Agenten (UpdateDoc) ein vorhandenes Dokument speichern -> greift da nicht das WebQuerySave? Hmmm...


    Wenns hier nicht passt oder nervt, dann such ich halt wieder allein weiter...


    Herbert

  • Reagier doch nicht so empfindlich.


    Ich wollte dir nur nen Tip geben wie du solche einfachen Probleme in Zukunft vermeiden kannst.


    Und das damit dein Problem noch nicht gelöst ist, hattest du bis jetzt noch nicht erwähnt, daher mein Hinweis auf das Themenpräfix.


    Wenn du aber schon so eine schöne Vorlage hast, wieso verwendest du diese dann nur zum Teil und baust deinen Code nicht in den dort schon funktionierenden mit ein ?

  • Es lag daran, daß ich eine schon seit Jahren funktionierende Notes-DB jetzt kurzfristig in einem Teil, d.h eigentlich nur einer Ansicht für nicht Notes-Anwender verfügbar machen muß. Ich weiß nicht, wie genau in der DB jedes einzelne Teil funktioniert und hab vorsichtshalber gedacht ich bau nur lieber die paar Elemente der Vorlage da mit dazu. Ging Anfangs auch einwandfrei, aber nach dem ich heute die komplette DB mit der Server-ID signiert hab (glaub zumindest seitdem), speichert die Web-Ansicht nichts mehr.


    Sorry, aber das klang etwas genervt - was aber auch sein kann, daß ich das bin, weil ich nicht darauf komm was da sein könnt...

  • Zumindest die Elemente aus der Beispieldatenbank solltest du komplett übernehmen inkl. der JavaScript Elemente und des Agenten.


    Wenn du den Agenten nämlich so nimmst wie er da drin ist, dann ist auch dein Aktualisierungsproblem gelöst

  • Auch wenn das wohl schon tausendfach in den abzählbaren brauchbaren Foren dieser Welt zu Notes / Domino geschrieben steht:
    Dieser Code für laufende Nummern ist unsicher und damit unbrauchbar. SO kann man das für eine verteilte Umgebung wie LND nicht machen.
    Und: Bitte nicht fragen: Warum, wieso und wie anders. Wie gesagt - das haben wir schon in dreistelliger Anzahl immer und immer wieder durchgekaut,


    Bernhard