Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: jor am 27.03.06 - 07:47:04

Titel: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: jor am 27.03.06 - 07:47:04
Hallo zusammen,

naja, ein Fehler ist es nicht wirklich, eigentlich ja nur ein wohl gemeinter Hinweis von LN, aber ich würde ihn trotzdem gern unterbinden.
Und zwar: In einer Ansicht habe ich eine Aktion hinterlegt, über die ich eine Teilmaske öffne. Wenn in dieser Ansicht ein Dokument ausgewählt ist, dann ist alles propper, steht der Auswahlrahmen aber auf einer Kategorie, dann kommt ein Hinweisfenster hoch, mit dem Text: @DialogBox kann in diesem Kontext nicht...blabla, ein Dokument muss ausgewählt sein!
Wie kann ich die Meldung abfangen bzw. umgehen? Kann ich mir das eventuell ausgewählte Dokument heranziehen und auswerten?
( Mit OnError usw. hat es nicht hingehauen )


Gruß
Volker
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: DerAndre am 27.03.06 - 07:55:34
Hi hat Du es schon mit dieser Abfrage versucht?

@IsCategory

In der Hilfe ist das ganz gut Beschrieben.

Gruss

André
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: jor am 27.03.06 - 08:02:18
Hi André,

nö, habe ich noch nicht. Ich werde gleich mal nachschauen, denn ich denke es ist bestimmt eine gute Idee, die Abfrage direkt in der Aktion zumachen.

Danke für deinen Tipp!

Gruß
Volker
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: jor am 27.03.06 - 08:24:28
@André,

mit "IsCategory" komme ich nicht wirklich weiter, zum einen weil ich in einer NotesUIView stehe während der Abfrage, und zweitens möchte ich ja nicht eine Spalteneigenschaft abfragen sondern ich möchte das aktuelle Dokument in der geöffneten Ansicht abgfragen bzw. heranziehen.


Hast du noch eine andere Idee, oder jemand anders einen Vorschlag?
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: Axel am 27.03.06 - 08:31:44
Du kannst die DocID des markierten Dokumentes ermitteln. Wenn du auf einer Katergorie stehst, wird als ID 00000.... zurückgeliefert.


Axel
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: DerAndre am 27.03.06 - 08:41:34
Hi Volker,

hatte ich auch gerade gesehen mit der Spalteneingenschaft  ::)

Axels Tip hört sich gut an.

André
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: Axel am 27.03.06 - 08:45:44
Das Ganze kann z.B. so aussehen:

Code
@If(@Text(@DocumentUniqueID) = "00000000000000000000000000000000"; 
        @Prompt([OK]; ""; "Kategorie"); 
        @Prompt([OK]; ""; "Dokument")
)

Um das Nachzählen zu ersparen, es sind 32 Nullen.   ;)

Axel
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: jor am 27.03.06 - 08:55:11
Hi Axel, hi André,

also da bleibt mir die Spucke weg! Es funzt wie gewünscht! Danke!  :) :)
( Nur zur Info: Unter Script funzt das mit der DocID aber nicht so gut, da man immer eine DocID geliefert bekommt "To get: caretNoteID$ = notesUIView.CaretNoteID" )

Jep, jetzt kann die Woche beginnen...  ;)
Danke, Volker
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: Axel am 27.03.06 - 09:04:43
Eine Scriptlösung könnte beispielsweise so aussehen:

Code

...
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
	
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
	
Set doc = collection.GetFirstDocument
If doc Is Nothing Then
	Messagebox "Zum Anlegen einer Kontaktperson muss der Markierungsrahmen" + Chr$(10) + _
	"auf einem Firmen- oder Kontaktdokument stehen.", 48, "Adressen"
	Exit Sub
Else
	#Hier steht der Code zum anlegen einer Kontaktperson
End If  'If doc Is Nothing Then
...

Der Code ist ein Auszug aus einer Ansichtenaktion.

Axel
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: jor am 27.03.06 - 09:16:08
Hi Axel,

mit "Set collection = db.UnprocessedDocuments" habe ich vorab schon versucht meine Anforderung umzusetzen, hatte aber nicht gefunzt, da ich immer ein Dokument geliefet bekam. Warum... das weiss ich jetzt auch nicht mehr, war aber so  :( Ich hatte ähnlichen Vorschlag schon im Forum gefunden.

Danke nochmal, auch für die zweite Lösung per Script!
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: ..Andreas.. am 27.03.06 - 09:34:38
Seit R6 gibt es bei den Eigenschaften der Ansichten unter Options (i) die Option "Evaluate actions for every document change". Ist diese aktiviert, so reicht eine "normale" Verbergeformel (form != "XYZ") für die Aktion aus, um die Aktion erst gar nicht anzuzeigen, wenn kein "richtiges" Dokument ausgewählt ist.

Andreas
Titel: Re: Hinweis beim Öffnen einer Teilmaske unterdrücken
Beitrag von: Axel am 27.03.06 - 10:01:53
Dabei ist aber zu bedenken, dass die Performace erheblich in den Keller gehen kann.

Zitat
...
Aktivieren Sie in diesen Fällen "Verbergen-Formeln von Aktionen bei jedem Dokumentenwechsel prüfen". Bedenken Sie dabei, dass sich das Aktivieren dieser Option erheblich auf die Leistung Ihrer Anwendung auswirken kann.
...

Außerdem wird die Aktion zwar ausgeblendet, aber, wenn es in der Aktionsleiste nur diese eine Aktion gibt, nicht wieder eingeblendet.

In meinen Augen ist diese Option so nicht zu gebrauchen.

Axel