NotesURl in Zwischenablage kopieren

    • Offizieller Beitrag

    zur Zeit funktioniert:
    - ein Agent (LotusScript) schreibt einen String in ein temp. Dokument (neues Mail). Nach dem notesUIDocument.Copy wird das Dokument wieder gelöscht.
    - es dürfen keine BS-API-Aufrufe benutzt werden (BS- und BS-Versions-Unabhängigkeit)
    - der Agent muss in jede DB kopiert werden
    - in der Symbolleiste wird dann der Agent in der jeweiligen DB ausgeführt


    Ich will/muss aber von dem Agenten wegkommen, weil ich diesen Agenten in gekauften DBs nicht einfügen kann/darf.
    Habe ind er Symbolleiste folgenden Code eingefügt

    PHP
    tr := "/";
    t := "notes:";
    srv := @Name([CN]; @Subset(@DbName;1));
    db := @ReplaceSubstring(@ReplicaID;":";"");
    view :=  "0";
    doc := @Text(@DocumentUniqueID);
    NotesURL := t + tr + tr + srv + tr + db + tr + view + tr + doc;
    @Prompt([Ok]; ""; NotesURL)


    Wie kann ich per @Funktion oder Befehl etwas in die Zwischenablage kopieren?
    Außerdem verwende ich hier noch die Standard-Ansicht. Wie bekomme ich die UniversalID der aktuell verwendeten Ansicht?


    Vielen Dank und 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

    2 Mal editiert, zuletzt von Diali ()

  • Hi Dirk,


    wenn du die URI noch temporär in ein Feld schreibst, kommst du via NotesUIDocument.GetSelectedText(FieldName) dran.


    An die ID der aktuellen View kommst du vermutlich nur über Umwege. Über NotesUIWorkspace.CurrentView.ViewName bekommst du den Namen, über die NotesNoteCollection.SelectViews kannst du dran drüberlaufen, bis du sie gefunden hast und dir dann die UNID ausgeben lassen.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

    • Offizieller Beitrag

    Danke für deinen Hinweis.


    Aber ich muss den Code in der Symbolleiste platzieren, da geht leider kein Script sondern nur @Funktion oder Befehl.


    Ich würde ja auch einen Agenten auf dem Server in einer leeren DB hinterlegen, der dann gestartet wird, nachdem im Symbol der Text temp. in die Notes.Ini geschrieben wurde. Allerdings kenne ich keinen Weg einen Agenten in einer anderen DB zu starten, als in der, auf der der Fokus sitzt.


    Gruß
    Dirk

  • NotesDatabase.GetAgent.Run


    Funktioniert bei mir auch von einer DB auf eine andere zugreifend.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

    • Offizieller Beitrag

    aber LotusScript kann ich nicht in einem Symbol in der Symbolleiste verwenden!


    Mein Problem ist, dass ich kein LotusScript verwenden kann. Mit LotusScript habe ich mehrere Lösungen, aber ich darf und kann in einige gekaufte Anwendungen keine Änderung am Design machen.


    Gruß
    Dirk

    • Offizieller Beitrag

    ein Anwender möchte in einer Web-Anwendung (z.B. Wiki) einen Link auf ein Notes-Dokument in irgend einer unserer Notes-Anwendungen einfügen.


    Dafür nutzen wir in unseren Anwendungen einen selbst geschriebenen Script-Agenten (CopyNotesURL2Clipboard) - funktioniert auch wunderbar.
    Jetzt kommt aber der Wunsch dies in allen Anwendungen zu nutzen und wie schon beschrieben kann / darf ich in einige Anwendungen nicht verändern. Damit bleibt mir nur dies komplett in die Symbolleiste auszulagern. In der Symbolleiste können nur @Funktionen und Befehle hinterlegt werden.
    Was mir noch fehlt ist:
    - Wie komme ich an die UniversalID der Ansicht? Hier kann ich nicht immer die Default-Ansicht verwenden, weil in den Ansichten manchmal Maskenformeln hinterlegt sind.
    - Wie kann ich meinen NotesURL-String in die Zwischenablage kopieren?


    Danke und Gruß
    Dirk

    • Offizieller Beitrag

    damit kann der Browser aber nichts anfangen. Die Web-Anwendungen basieren nicht auf Notes/Domino! Muss auch keine Webanwendung sein sondern kann auch ein Word-Formular usw. sein.


    Es wird die NotesURL benötigt (in der Form: notes://Server/ReplicaID/ViewID/DocumentUniqueID ).


    Danke und Gruß
    Dirk

    • Offizieller Beitrag

    bin einen Schritt weiter:


    So jetzt noch irgendwie die Frage nach dem Speichern unterdrücken und die ViewID auslesen.


    Danke und Gruß
    Dirk

    • Offizieller Beitrag

    Leider kann die Frage nach dem Speichern mit
    @SetField("SaveOptions; "0") oder
    FIELD SaveOptions := "0"
    nicht unterbunden werden.


    Hat jemand eine Idee warum dies nicht funktioniert und wie ich ggf. diese Abfrage nach dem Speichern unterdrücken kann?


    Danke und Gruß
    Dirk

  • Das kommt daher das die Abfrage hier nicht die Standard-Prüfung verwendet.


    Ich meine hier musst du mit dem ActionInProgress arbeiten.
    Aber welchen wert das Feld annehmen muss kann ich dir nicht mehr sagen

    • Offizieller Beitrag

    Habe versucht das Feld zu setzen => funktioniert nicht, d.h. ich kann mit @SetField oder FIELD kein Feld setzen - gar kein Feld setzen! Habe es mit verschiedenen vorhandenen und nicht vorhandenen Feldern versucht.


    Gruß
    Dirk

  • Die Funktionen funktionieren schon, nur er setzt die Feldwerte in das Dokument welches in der Ansicht gerade den Fokus hatte (von dem du die URI) haben willst.

    • Offizieller Beitrag

    stimmt, d.h. der Fokus wird beim Öffnen der Memo-Maske nicht auf die Memo-Maske gesetzt - ist aber schlecht.


    Kann ich den Fokus irgendwie auf die Memo-Maske umsetzen?


    Danke und Gruß
    Dirk

    • Offizieller Beitrag

    die Abfrage nach dem Speichern kommt noch. Das Feld SaveOptions wird nicht mehr in mein Quell-Dokument geschrieben. Benutze ich "nur speichern" im Dialog, wird das Dokument trotzdem nicht gespeichert, d.h. das Feld SaveOptions = "0" scheint zu funktionieren. Leider erscheint der Dialog noch.


    Danke und Gruß
    Dirk

  • Wie gesagt, SaveOptions allein reicht nicht, da es nicht die Standard-Abfrage ist.


    Hier die Lösung

    • Offizieller Beitrag

    Super - funktioniert
    MailSaveOptions musste ich noch löschen.


    Vielen Dank und Gruß
    Dirk