Domino 9 und frühere Versionen > Entwicklung

Gemeinsamer Button für View und Form

(1/3) > >>

TMC:
Hi,

mich würde interessieren, wie man einen gemeinsamen Button erstellt für eine View und auch für eine Maske.

Als Beispiel nehme ich ein Weiterleitungs-Script

--- Code: ---Sub Click(Source As Button)
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = uiws.CurrentDocument
   Call uidoc.Forward
End Sub
--- Ende Code ---

Das funktioniert ja nur in einem Dokument.

Ist man in einer View, dann könnte man sowas machen:

--- Code: ---'Backend-Dims
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument

'Frontend-Dims
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

'Backend Database
Set db = session.CurrentDatabase

Set collection = db.UnprocessedDocuments 'Ausgewählte Doks in der Ansicht

Set doc = collection.GetFirstDocument 'Erstes Dokument

If doc Is Nothing Then Exit Sub
 
Set uidoc = uiws.EditDocument(false, doc ) 'Man ziehe sich das Backend ins Frontend
Call uidoc.Forward
--- Ende Code ---

Wie kann man denn diese beiden Scripts verschmelzen?

Also quasi abfragen, ob Buhtong aus Maske bzw. View gestartet wird?

Matthias

koehlerbv:
Naja, Du könntest zum Bleistift prüfen, ob Du entweder ein uidoc oder Unprocessed Documents greifen kannst und dann entsprechend entscheiden, welchen Code-Zweig Du verfolgen möchtest.
Das ganze riecht aber nach shared actions - und da schau mal in den letzten zwei, drei Tagen nach den Threads: Da gab' es deutliche "Warnungen vor dem Hunde" ;-(

Bernhard (wie immer grüssend von "Ober..." nach "Nieder..." )

TMC:
Du meinst also z.B.
If uidoc Is Nothing Then
 ... mein Backend Code
Else
 ... mein Frontend Code

etc. ?

Stimmt, werde ich gleich mal probieren, danke !

Deine Nase täuscht Dich nicht, habe mit Shared Actions aber noch nie schlechte Erfahrungen gemacht, wobei mich die Threads schon erschreckt haben.

Aber auch für normale Actions ist das interessant, man hat z.B. dieses "Forward"-Script und kann es dann sowohl in eine View-Action als auch in eine Masken-Action kopieren und braucht sich um nix zu kümmern.
Das wäre auch so ein Ziel für mich dabei ;-)

Matthias mit Grüßen von Nieder.... nach Ober...

Semeaphoros:
... und um die shared actions zu umgehen steckt man den Code in einen Agenten, den man dann vom Buhtong aus aufruft

koehlerbv:
... oder nimmt 'ne Lib ... Kommt wegen Performance immer auf die Codemengen an.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln