PostOpen

  • Hallo an alle, ich habe eine kleine Frage.


    Ich erstelle ein Doc aus einen View, mache response und oeffne es dann.


    Code
    Call doc.MakeResponse(parent)Call	ws.EditDocument(True,doc)


    In der Maske mit der ich das Doc erstelle gibt es im PostOpen event
    den folgenden code:

    Code
    If source.IsNewDoc Then
    	Call DocOpen ("doc_broj",1,source)
    End If


    Das Problem ist das es nicht zum postOpen kommt.


    Wieso?


    Und was kann ich anedern damit es klapt?


    Danke

  • bist dir sicher das der postopen nicht ausgeführt wird? hast da mal einfach nen print eingebaut? oder ist einfach IsNewDoc nicht true? könnte ich mir vorstellen, da du das dokument ja in script schon vorher erzeugst ...

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Ja das isNewDoc ist nicht True, der kode im if then... wird garnicht ausgefuehrt.


    Vieleicht macht eine der zwei folgenden Zeilen das doc zum nicht newDoc:
    Call doc.MakeResponse(parent)
    Call ws.EditDocument(True,doc)


    Danke


    EDIT
    P.S.

    Zitat

    könnte ich mir vorstellen, da du das dokument ja in script schon vorher erzeugst ...


    Ich mach

    Code
    Set doc =  New NotesDocument(db)


    Und danach die Felder fuehlen und dan den code den ich zuvor gepostet hab

  • Das verstehe ich aber es ist halt so.


    Ich koennte das response doc doch garnicht erstellen wenn ich nicht makeResponse machen wuerde?


    Aber save mache ich nicht.
    Ein einfacher button macht den code den ich im untitled.zip hab, und wenn es zum postOpen kommt ist das doc nicht isNewDoc.


    Kann es an den einstellungen der Maske liegen?
    Wenn ich das doc nur schliesse ohne zu speichern dan wird es nicht gespeichert. Es verschwindet weil es nicht gespeichert ist.


    Danke

  • Ja das habe ich, davor und danach. Und ich habe es beim debuggen beobachtet. Beim postOpen ist source.isNewDoc=False


    Es liegt nicht am DocOpen denn es kommt garnicht zum docOpen. Ich habe das docOpen ins QuerySave reigetan und dort laueft es toll.


    Danke fuer deine zeit

  • Wenn du im Debugger siehst das IsNewDoc False ist dann muss es eben doch am DocOpen liegen. Vielleicht verwendest du ja dort etwas was im PostOpen nicht möglich ist und durch entsprechende Fehlerbehandlung nicht angezeigt wird

  • Ich bin der Meinung das es garnicht zum DocOpen kommt! Wie kann es dan irgendwas machen?
    Ich habe MsgBox source.isNewDoc vor die if Schleife gestellt und es kommt False.
    Also wird die funktion DocOpen garnicht aufgerufen.Hab ich Recht?


    Hab es auch mit OnLoad versucht aber es geht nicht.


    Der code kommt nicht zur der Zeile DocOpen.


    Ich poste mal das DocOpen, da sind kommentare in Kroatisch, die Funktion oeffnet ein doc und nach dem werten im doc gibt sie eine nummer zurueck die danach als DocNummer benuzt wird


    Danke

  • If source.IsNewDoc Then
    Call DocOpen ("doc_broj",1,source)
    End If


    --> da IsNewDoc = false ist, wird der code natürlich nicht ausgeführt.


    würde folgendes machem:
    beim create des dokuments einfach ein temporäres feld anlegen
    -> doc.neuesdoc = 1


    das dann im PostOpen abfragen
    If source.document.neuesdoc(0) = 1 Then
    Call DocOpen ("doc_broj",1,source)
    End If


    und dann noch das item removen
    call source.document.removeitem("neuesdoc")


    so müsste es gehen ...

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)