Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LisaS am 22.03.06 - 12:32:38

Titel: @Command([Compose]-Parent verifizieren?
Beitrag von: LisaS am 22.03.06 - 12:32:38
Hallo,
ich komm mal wieder nicht weiter....
ich habe in einer View zwei Action-Buttons, die jeweils mit
Code
@Command([Compose]; ""; "DocX")
und
Code
@Command([Compose]; ""; "DocY")
Documente erstellen.
Das Problem ist nur, dass DocX nur als Antwortdukument von Doks mit einer bestimmten Form erstellt werden darf.
Und DocY nur als Antwortdokument von DocX erstellt werden darf.
Es sollte also eine Fehlermeldung oder ähnliches erscheinen, wenn man versucht eines der beiden Doks
bei einem anderen Parent als bestimmt zu erstellen.
Wie kann ich das Problem lösen, gibt es evtl. in LS eine Lösung? :-:
Please help ???
Gruß Hitcher
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: klaussal am 22.03.06 - 12:43:55
Die Schaltflächen nicht in der Ansicht, sondern im entsprechenden Doc-Typ selber unterbringen.
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: ascabg am 22.03.06 - 12:44:23
Hi,

Kannst Du die Button nicht verstecken, in Abhaengigkeit, auf welchem Dokument der "Cursor" (Balken) steht?

Andreas
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: LisaS am 22.03.06 - 12:47:05
@Andreas:
Das wäre eine gute möglichkeit, aber wie geht dass?...

@Klauss:
Das könnte mann machen, aber die User sollten nicht so viel klicken müssen.
Man muss die User ja bei Laune halten ;D

Danke schonmal für die schnellen Antworten.
Gruß
Hitcher
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: Axel am 22.03.06 - 12:50:21
Hi,

Kannst Du die Button nicht verstecken, in Abhaengigkeit, auf welchem Dokument der "Cursor" (Balken) steht?

Andreas

Wie das gehen soll würde mich mal interessieren.


Axel
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: koehlerbv am 22.03.06 - 12:54:27
Mit LS ist das aus einer Ansicht heraus kein Problem:
Set docParent = session.DocumentContext

Bernhard
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: Axel am 22.03.06 - 12:58:51
Seit wann kann man in einer Hide-When - Formel Script verwenden? 


Axel
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: koehlerbv am 22.03.06 - 13:00:07
Nicht hide-when, Axel - ermitteln, wo der Ansichtscursor stand, als die Aktionsschaltfläche gedrückt wurde.

Bernhard
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: ascabg am 22.03.06 - 13:01:33
Hi,

ich dachte eigentlich mehr an

Action1 (DocX) => HideWhen = @Trim(Form) != "Form1"
Action2 (DocY) => HideWhen = @Trim(Form) != "DocX"

Und in den Eigenschaften der Ansicht "Verbergen-Formeln von Aktionen bei jedem Dok'wechsel pruefen" (siehe Bild)

Andreas
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: Thomas Schulte am 22.03.06 - 13:13:55
Andreas hat recht das geht damit ganz einfach.
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: Axel am 22.03.06 - 13:27:57
Hi,

ich dachte eigentlich mehr an

Action1 (DocX) => HideWhen = @Trim(Form) != "Form1"
Action2 (DocY) => HideWhen = @Trim(Form) != "DocX"

Und in den Eigenschaften der Ansicht "Verbergen-Formeln von Aktionen bei jedem Dok'wechsel pruefen" (siehe Bild)

Andreas


Welches Bild?

Die Option kannte ich noch nicht, allerdings scheint mir das Ganze nicht unbedingt zuverlässig zu funktionieren.

Ich habe das mal mit einer Ansicht und einer Aktion in der Aktionsleiste probiert. Ausgeblendet wird mit die Aktion, aber nicht wieder eingeblendet. Dafür verschwindet die gesamte Aktionsleiste aus der Ansicht wenn der Button wieder eingeblendet werden soll.

Fazit: Ist anscheinend wieder so ein halbherzig implementiertes Feature.


Axel
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: LisaS am 22.03.06 - 13:53:28
@andreas:

Ich habe jetzt deine Formeln eingestetz und das funktioniert auch im 6er Client. Leider nicht im 5er...
Leider haben noch einige User 5er Clients.
Im 6er verschwinden die Buttons auf nimmerwiedersehen, wenn man keinen "leeren" Button die ganze Zeit eingeblendet lässt.
Gruß
Hitcher

@Bernhard:
Die Möglichkeit ist auch gut, aber ich weiß nicht, wie man aus dem backend ein Dokument im Frontent öffnet, ohne es vorher zu speichern.
Gruß
Hitcher
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: koehlerbv am 22.03.06 - 14:00:23
Warum solltest Du das vorher speichern müssen? Im Backend erstellen, erforderliche Felder füllen, es zur Response erklären und mit NotesUIWorkspace.EditDocument im FrontEnd öffnen.

Bernhard
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: ascabg am 22.03.06 - 14:14:37
Hi,

Sorry.

Hatte vergessen das Bild mit anzuhaengen.

Das Problem mit der "verschwindenden" Aktionsleiste habe ich bei mir deshalb nicht, das ich diese Variante nur dann anwende, wenn ich mind. 1 Button permanent eingeblendet habe.

Andreas
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: LisaS am 22.03.06 - 14:21:44
@all:
habe das jetzt so gemacht:
LS

Code
Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace	
	Dim session As New NotesSession
	Dim pdoc As notesdocument
	Dim doc As NotesDocument
	Set pdoc = session.DocumentContext
	Set db = session.CurrentDatabase
	Set doc = db.CreateDocument
	If pdoc.form(0)="Form1" Then
		doc.Form = "FormX"
		Call doc.MakeResponse(pdoc)
		Call ws.EditDocument(True, doc)
	Else
		Messagebox "Bitte wählen Sie ein Form1-Dokument aus!"
		Exit Sub
	End If
End Sub

Ich danke Euch allen für die tolle Hilfe, ich habe wieder richtig was gelernt! O0

Gruß
Hitcher
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: koehlerbv am 22.03.06 - 14:25:19
Warum machst Du aus zwei Knöppchen bei der Gelegenheit einen? Dann brauchst Du noch npch prüfen, ob Du es mit einem erlaubten Hauptdokument zu tun hast und je nach Form erzeugst Du dann Response 1 oder 2.
Nur so als Idee ...

Bernhard
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: Axel am 22.03.06 - 14:27:50
Hi,
Das Problem mit der "verschwindenden" Aktionsleiste habe ich bei mir deshalb nicht, das ich diese Variante nur dann anwende, wenn ich mind. 1 Button permanent eingeblendet habe.

Aber eines ist dabei auch noch zu bedenken:

Formulare auswerten, wenn sich Dokumente ändern
Eine Ansicht kann über zugeordnete Aktionen, wie beispielsweise Anzeigen/Verbergen-Formeln, verfügen, mit denen eine Ansicht beim Öffnen ausgewertet wird. In manchen Fällen kann es wünschenswert sein, dass eine Aktion jedesmal ausgewertet wird, wenn sich ein Dokument in einer bestimmten Ansicht ändert. 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.

Axel
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: LisaS am 22.03.06 - 14:29:28
@Bernhard:

Ja, dass könnte ein Knöpfchen sparen, danke.
Titel: Re: @Command([Compose]-Parent verifizieren?
Beitrag von: koehlerbv am 22.03.06 - 14:36:37
Der User wird es Dir danken, da es für ihn einfacher wird.

Bernhard