Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Egon am 12.08.04 - 13:54:58

Titel: Maske in den Bearbeitungsmodus setzen
Beitrag von: Egon am 12.08.04 - 13:54:58
Eine Maske soll durch einen Button für kurze Zeit in den Bearbeitungsmodus gesetzt und anschließend sofort gespeichert werden. Wie funktioniert das? ::)
Titel: Re:Maske in den Bearbeitungsmodus setzen
Beitrag von: TMC am 12.08.04 - 13:58:01
Gib uns doch ein paar mehr Details.
- Warum das ganze ?
- Formel oder Script ?
- Wie definierst sich "kurze Zeit" ?
Titel: Re:Maske in den Bearbeitungsmodus setzen
Beitrag von: Egon am 12.08.04 - 14:08:06
Durch ein Script in einen Button wird eine Maske geöffnet. In dieser Maske ist ein Feld welches durch einen DBLookup berechnet wird. Die Daten für den Lookup kommen aus einer Ansicht, die mit Hilfe einer anderen Maske (SM) erzeugt werden. Der Button befindet sich in der Maske (SM). Damit die Datenbank als Schablone genutzt werden kann, muss ich sicherstellen, dass bereits vorhandene Daten mit der neuen Schablone betrachtet und weiterverarbeitet werden können. Das funktioniert nur, wenn jedes bereits vorhandene Dokument mit der neuen Schablone geöffnet und gespeichert wird. Ich möchte aus verschiedenen Gründen keinen Agenten benutzen. Stattdessen möchte ich durch das Auslösen des Buttons zurerst die bereits im Frontend geöffnete Maske in den Editmodus setzen, speichern und dann die 2. Maske aufgehen lassen. Das mit den Aufgehen der 2. Maske funktioniert schon, nur eben das Setzen von SM in den Editmodus nicht! ???
Titel: Re:Maske in den Bearbeitungsmodus setzen
Beitrag von: Tode am 12.08.04 - 14:35:09
@Command( [EditDocument] ; "1" );
-tuewasimmerDuwillst-
@Command( [FileSave] );

Aber ich denke mir, der Befehl den Du eigentlich suchst ist
@Command( [ToolsRefreshSelectedDocs] )

Aber da Du nicht schreibst, was DU eigentlich erreichen willst, muss Das erst mal genügen...

Tode
Titel: Re:Maske in den Bearbeitungsmodus setzen
Beitrag von: Egon am 12.08.04 - 14:45:44
Hier ist mein Script

Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Set db = s.CurrentDatabase
Dim doc As New NotesDocument(db)    
doc.Form = "Maske"
Set uidoc = ws.EditDocument(True, Doc)

Da muss jetzt nur noch so eine Art EditDocument für die Maske SM und ein speichern dieser hinein. Dies allerdings bevor die 2. Maske (hier Maske) geöffnet wird.
Titel: Re:Maske in den Bearbeitungsmodus setzen
Beitrag von: Egon am 13.08.04 - 07:34:39
Hier ist mein Script

Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Set db = s.CurrentDatabase
Dim doc As New NotesDocument(db)    
doc.Form = "Maske"
Set uidoc = ws.EditDocument(True, Doc)

Da muss jetzt nur noch so eine Art EditDocument für die Maske SM und ein speichern dieser hinein. Dies allerdings bevor die 2. Maske (hier Maske) geöffnet wird.

Ich habe mein Script nochmal geändert

Sub Click(Source As Button)
Dim s As New NotesSession
Dim workspace1 As New NotesUIWorkspace
Dim editUIdoc As NotesUIDocument
Dim editdoc As NotesDocument
Set editUIdoc = workspace1.CurrentDocument
editUIdoc.EditMode = True
Set editdoc = editUIdoc.Document
Call editdoc.Save(True,True)

'Messagebox" huhu !!!"

Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument

Set db = s.CurrentDatabase
Dim doc As New NotesDocument(db)
doc.Form = "Neue_Maske"
Set uidoc = ws.EditDocument(True, Doc)
End Sub

Dieses Script setzt eine bestehende Maske in den Editmodus und soll sie danach speichern. Die 2. Aufgabe es Scriptes ist es eine 2. Maske im Bearbeitungsmodus aufgehen zu lassen. Leider funktioniert das Script noch nicht richtig. Das mit dem Speichern der 1. Maske klappt nicht. Leider brauch ich aber dieses Feature, weil beim Speichern der 1. Maske ein Wert in eine Ansicht abgelegt wird, der später für die 2. Maske als berechneter Wert benötigt wird.