Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: webchild am 04.03.04 - 11:17:31
-
...a document must be selected
Ich verwende eine Dialogbox um eine Maske zu öffnen. Diese Dialogbox wird über eine Gemeinsame Aktion aufgerufen.
Die oben genannte Meldung erscheint wenn ich diese Aktion aus einer kategorisierten Ansicht starte und nicht ein Dokument sondern eine Kategorie ausgewählt habe.
Kann man das irgendwie umgehen?
Danke, Krista
-
... mir fällt da nix ein :'(
-
Ich vermute, Du rufst das über einen Button auf ?
Dann könnte man z.B. mit @IsAvailable prüfen, ob ein bestimmtes Feld vorhanden ist. Wenn dann eine Kategorie gewählt ist, gibt die Formel False zurück, das kannst Du abprüfen.
Also so in etwa :
@If(@IsAvailable(Subject); DialogBox; @Prompt([OK];"Fehler";"Bitte wählen Sie ein Dokument aus."))
-
Guter Tipp, abe statt Subject würde ich Form als Feld vorziehen, da das meistens da ist. Wenn nicht, sollte dann aber $TITLE da sein (wenn die Maske im Dokument gespeichert ist).
Andreas
-
Subject war nur nen Beispiel, ich kenne ja die DB nicht ;)
Aber stimmt schon, ein so gut wie immer vorhandenes Feld wäre natürlich geschickter.
-
Oder Script statt Formel benutzen, da man da ein temporäres Wegwerfdokument der Diabox zur Verfügung stellen kann.
-
@Semeaphoros
Wie?
Reicht ein create.Document das man dann an die Dialogbox übergibt?
Danke, Krista
-
Hi,
hier eine allgemeingültige Lösung:
@If(@Text(@DocumentUniqueID) != "00000000000000000000000000000000"; @Dialogbox("Testmaske"); @Prompt([OK];"Fehler";"Bitte wählen Sie ein Dokument aus."))
Axel
-
Krista: Ja, die Dialogbox-Methode hat einen fakultativen Parameter für das Dokument und da kann man genau sowas drunterschieben. Wenn man dann das Doc nicht speichert, verschwindet es auch wieder.
-
Ich habe in die Aktion den Aufruf eines Agenten gepackt und in diesen den folgenden Scriptteil geschrieben, damit funktioniert der Aufruf der Dialogbox immer ohne Meldung und das wollte ich. :D
Dim s As New NotesSession
Dim uiws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set doc =db.CreateDocument
Call uiws.DialogBox("Maskenname", True, True, True, True,_
True, False, "Auswahlfelder konfigurieren",doc,True)
Danke an alle, Krista
-
.... und genau so habe ich das gemeint ... :D
-
;D
@Semeaphoros
Das habe ich so interpretiert und noch mal herzlichen Dank an dich!
Weil ich auch ein ziemlicher Newbie in LS bin, schreibe ich immer ausführlich meine Lösungen in dieses Forum, damit auch andere Unbedarfte wie ich davon profitieren!
Grüße, Krista