Problem mit EditDocument

  • Hallo,


    ich habe ein Problem mit dem Befehl "EditDocument".


    Ich erzeuge ein neues Dokument, speichere es ab und öffne ein zweites Dokument, was ein Antwortdokument vom ersten ist. Dabei muss das Dok1 noch offen bleiben.


    Button im ersten Dokument:
    @Command([FileSave]);
    @Command([Compose]; "Dok2");


    Das erste Dokument, was noch offen ist, möchte ich später aktualisieren und dann abspeichern, nachdem das Dok2 ausgefüllt ist.
    Hier der Code


    Code
    If dokument.ComputeWithForm(True, False) Then
    If dokument.IsUIDocOpen Then
    'Das Dokument ist geöffnet. Dann muss es in der sichtbaren Instanz aktualisiert werden.
    Dim arbeitsumgebung As New WotesUIWorkspace
    Dim arbeitsdokument As NotesUIDocument
    Set arbeitsdokument = arbeitsumgebung.EditDocument(True, dokument, , , True, False)


    Das letzte "False" bei EditDocument besagt ja, das er das offene Dokument anspringen soll. Das macht er aber nicht. Er öffnet das Dok1 ein zweites mal, aktualisiert das, speichert es ab und schließt es dann. Wenn danach das erste Dok1 geschlossen wird, erzeugt er ein Konfliktdokument.


    Warum springt er nicht in das schon offene Dok1?


    Kann mir jemand einen Tipp geben?


    Vielen Dank
    René


    EDIT: Das Problem tritt nur auf, wenn das Dok1 gerade erstellt wird. wenn es einmal geschlossen wird und wieder geöffnet, und dann erzeuge ich Dok2, funktioniert das alles

    nichts ist unmöglich, aber auch gar nichts wenn man genug Zeit und Geld hat

    • Offizieller Beitrag

    Warum machst Du das auf 2 Schritte?
    Passe den Code so an, dass der schon im ersten Dokument läuft.


    Beschreibe mal, was Du erreichen willst.
    Ich verstehe es so, dass Du ein Antwortdokument erstellen willst, dabei soll der Fokus auf dem aktuellen Dokument bleiben. Sprich das Antwortdokument soll im Hintergrund im UI geöffnet werden.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hallo Diali,


    nein, das Antwortdokument muss erst vom User bearbeitet und ausgefüllt werden.


    Erst wenn er das speichert wird das Hauptdokument aktualisiert.


    Das ganze wird von einer Skripbibliothek ausgeführt. Da es auf viele andere Prozesse zugreift.


    Das komische ist ja, wenn das Dok1 mal geschlossen war und ich es wieder öffne, das es dann funktioniert.


    Gibt es ein Unterschied zwischen speichern und Speicher/schließen/öffnen?

    nichts ist unmöglich, aber auch gar nichts wenn man genug Zeit und Geld hat

    • Offizieller Beitrag

    anscheinend gibt es da einen Unterschied.


    Dann würde ich in der Schaltfläche im 1. Dokument noch das Dokument schließen und in dem Script wieder öffnen.


    Alternativ kannst Du auch in der Schaltfläche von Dokument 1 dieses Dokument schließen und wieder öffnen. Dafür musst Du den Code wahrscheinlich auf Script umbauen.


    Gruß
    Dirk

  • Ich habe es so gelöst, das ich die UNID in der Notes.ini speichere, einen Agenten starte, der schließt Dok1 und öffnet es über die UNID wieder. Danach starte ich Dok2 und alles funktioniert.


    Ist zwar nicht schön, aber funktioniert.


    Danke für die Unterstützung.


    René

    nichts ist unmöglich, aber auch gar nichts wenn man genug Zeit und Geld hat

    • Offizieller Beitrag

    beachte, dass die notes.ini eventuell keine gute Idee ist.


    Angenommen ich öffne 2 Dokumente im Client und benutze dann die Schaltfläche nacheinander in beiden Dokumenten.
    Überlege, wann genau die UNID in die ini geschrieben wird und wann diese wieder ausgelesen wird.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Sehr guter Einwand.


    Werde das später nochmal abändern. Aber jetzt können die Mitarbeiter erstmal ohne Probleme arbeiten.


    Ich habe es ihnen mitgeteillt, das sie nur ein Dokument öffnen sollen. Da es im Moment nur 2 Leute sind, geht das vorrübergehend.


    Danke nochmal

    nichts ist unmöglich, aber auch gar nichts wenn man genug Zeit und Geld hat