Documentinhalt überschreiben

  • Hallo ich habe eine kleine Anfängerfrage. Ich möchte ein Dokument, welches ich über einen Agenten in der DB hinterlege, verändern.
    Problem ist, dass ich nur den Befehl "createDocument" kenne womit, wie der Name schon sagt, neue Dokumente erzeugt werden. Ich möchte allerdings nur einen Status speichern. Entweder "online" oder "offline". Der Dokumentinhalt soll demzufolge immer durch den aktuellen Status überschrieben werden.


    Unter SQL funktioniert das Ganze mit dem "update" - Befehl. Wie macht man das nun unter Domino??


    Schonmal Danke für eure Hilfe!
    Mathias

  • Unter Notes ist da die Vorgehensweise:


    - Dokument holen (über einen Schlüssel oder die DokumentID)
    Methoden GetDocumentByKey einer NotesView oder GetDocumentByUNID einer NotesDatabase
    - Werte verändern
    NotesDocument.ReplaceItemValue
    - Dokument abspeichern
    NotesDocument.Save


    Die genaue Syntax und Beispiele dazu findest du in der Designer Hilfe

  • danke für die schnelle antwort! was genau stellt denn der key dar??
    enthalt er den namen der view an sich oder den namen einer spalte der view?


    meine view besitzt zwei spalten:


    (1) Berater : Privatkundenberater, Businesskundenberater
    (2) Status : online, offline

  • ok dann versuch ich mich mal an dem Agenten:





    Ist dieser Ansatz korrekt oder muss ich noch etwas beachten?

  • ok ich denke mal so:


    Code
    If StatusDoc.Save(True, True) Then
    		Print |erfolgreich übertragen|
    Else
    		Print |Fehler beim Speichern aufgetreten.| ' Fehlermeldung
    	End If
    
    
    End Sub


    wie muss das ganze denn aussehen wenn ich den status vom businesskundenberater verändern möchte?

  • so hier nochmal das ganze, warn ein paar fehler drin die ich jetzt alle behoben habe.



    Trotzdem funktioniert es nicht. Der Status wird nicht verändert :(

  • doch schon, ich habe den status selbst verändert.


    hier die funktion die 100%ig funktioniert:


    Code
    function SavePrivatBStatus(stat){
    var savePrivatBStatus = stat;
    var privatB = "Privatkundenberater";
    var url = '/' + $('WebDBName_').value + '/Status1?OpenAgent'; 
    var postArguments =  'Berater=' + privatB + '&Status=' + savePrivatBStatus;
    alert(postArguments);
    callServer('POST', url, false, 1000, [..] , 'application/x-www-form-urlencoded', undefined, postArguments); // asynchron, 1 s Time-Out
    }


    in der maske habe ich den bestehenden online status auf offline gesetzte. dieser status wird dann an die oben stehende Funktion übergeben...

  • Die Funktion ist aber eine JavaScript Funktion, während dein Agent mit LotusScript arbeitet.
    Und LotusScript kann keine JavaScript Funktionen aufrufen oder sogar einen Rückgabewert von dieser bekommen.

  • wieso, ich übergebe doch mit der javascript funktion lediglich den status an den agenten. der agent speichert den status über "getPostParameter("Status")" in einer string variable.


    ich wollte damit nur zeigen das der status korrekt an den agenten übergeben wird. ich verstehe jedoch nicht warum der agent das dokument nicht aktualisieren tut.

  • wo erscheint denn die ausgabe der msgbox?? im webbrowser?


    jedenfalls erhalte ich damit keine ausgabe:


    Code
    If Not (Statusdoc Is Nothing) Then
    		Messagebox "$" & Statusdoc.GetItemValue ("Status"),, "Status"
    	Else
    		Messagebox "By Category " + key,, "Not found"
    	End If
  • okay danke!


    hier ein auszug aus der notes.nsf:


    16.08.2006 11:45:32 HTTP Server: Started
    16.08.2006 11:45:35 Client Execution Security is enabled.
    16.08.2006 12:07:44 Unable to failover replica ID (C1257126:00325EE2) from server CZJNOTES01/Jena/Zeiss/DE to any other cluster member
    16.08.2006 13:38:38 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 13:52:57 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 13:55:25 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 13:57:01 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 14:16:00 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 14:17:29 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 14:19:16 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 14:29:31 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 14:31:46 HTTP Server: Agent 'Status1' error: Object variable not set
    16.08.2006 14:35:56 HTTP Server: Agent 'Status1' error: Object variable not set



    das sieht eindeutig danach aus das der agent ein problem mit einer varibale hat... hmmmm


    -------


    Works as Crosspost


    -------