Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: webchild am 04.03.04 - 11:17:31

Titel: Dialogbox cannot be used in this context;...
Beitrag 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
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: klaussal am 04.03.04 - 11:21:56
... mir fällt da nix ein  :'(
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: Driri am 04.03.04 - 11:23:09
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."))
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: Glombi am 04.03.04 - 11:39:25
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
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: Driri am 04.03.04 - 11:57:32
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.
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: Semeaphoros am 04.03.04 - 11:59:05
Oder Script statt Formel benutzen, da man da ein temporäres Wegwerfdokument der Diabox zur Verfügung stellen kann.
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: webchild am 04.03.04 - 12:02:03
@Semeaphoros
Wie?
Reicht ein create.Document das man dann an die Dialogbox übergibt?

Danke, Krista
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: Axel am 04.03.04 - 12:38:47
Hi,

hier eine allgemeingültige Lösung:

@If(@Text(@DocumentUniqueID) != "00000000000000000000000000000000"; @Dialogbox("Testmaske"); @Prompt([OK];"Fehler";"Bitte wählen Sie ein Dokument aus."))


Axel
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: Semeaphoros am 04.03.04 - 12:56:17
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.
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: webchild am 04.03.04 - 14:49:22
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
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: Semeaphoros am 04.03.04 - 15:24:10
.... und genau so habe ich das gemeint ...   :D
Titel: Re:Dialogbox cannot be used in this context;...
Beitrag von: webchild am 04.03.04 - 15:35:17
 ;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