Domino 9 und frühere Versionen > Entwicklung
Einsatzplan mit Kalender?
ata:
... wie gehst du denn der Reihe nach vor. Du müsstest im Querysave der Dialogmaske (Maskenevent) zum einen das Dokument speichern, dann die View refreshen...
Wie arbeitest du denn - Formel oder LS?
Toni
MKnost:
Weia, ist das kompliziert ::)
Ich habs nun (glaube ich) einfacher gestaltet....
Eine Rahmengruppe ("indexTermine"), Links eine Maske mit DatumPicker, ein Datumsfeld, ein Namensfeld und eine Schaltfläche "Speichern".
Rechts meine Kalenderansicht.
Ich kann nun Termine anlegen und sie werden auch sofort angezeigt, wenn ich auf die Schaltfläche klicke:
--- Code: ---@Command([FileSave]);
@SetTargetFrame("main");
@Command([OpenFrameSet]); "indexTermine");
--- Ende Code ---
Im DatumsFeld und im NamensFeld muss nun ein Wert eingegeben werden, daher hab ich als Eingabevalidierung
--- Code: ---@If("eDatum="");@Failure("Datum auswählen");@Success)
--- Ende Code ---
Genau das gleiche hab ich mit dem Namensfeld gemacht
--- Code: ---@If("eName="");@Failure("Name auswählen");@Success)
--- Ende Code ---
Klick ich nun ohne was auszuwählen auf die Schaltfläche "Speichern" greift auch die Eingabevalidierung, danach kommt aber sofort die Meldung "Möchten Sie dieses Dokument speichern".
Wie krieg ich nun diese Meldung weg bzw wo versucht das Programm, das Dokument zu schließen? Denn nach der EingabeValidierung sollte es doch eigentlich im Editmodus bleiben, oder?
Sorry das ich das ganze so kompliziert mach, aber ich kanns einfach nicht besser *heul* ;)
PS: Wenns irgendwie mit Formelsprache geht, dann nehm ich das lieber als Script...
Grüsse Micha
Axel:
Was für Code liegt denn hinter "Speichern"? Du solltest auch mal alle Maskenevents prüfen, ob da was entsprechendes drinsteht.
--- Zitat von: MKnost am 15.02.06 - 09:58:12 ---Wie krieg ich nun diese Meldung weg bzw wo versucht das Programm, das Dokument zu schließen?
--- Ende Zitat ---
Ich verlege die Validierung der Felder immer in den QuerySave-Event der Maske und benutze Script. Da habe ich wesentlich mehr Möglichkeiten zu reagieren.
Beisp.:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
If Source.FieldGetText("eName") = "" Then
Messagebox "Name auswählen", 16, "Fehler" 'Meldung ausgeben
Call Source.GotoField("eName") 'Zum Feld springen
Continue = False 'Speichern verhindern
Exit Sub 'Nur notwendig, wenn anschließend noch weiterer Code kommt
End If
...
End Sub
Axel
MKnost:
Moin Axel,
Ich hab das nun in Script umgeschrieben.... Hab also nur noch folgenden Code:
Im Masken-QuerySave
--- Code: ---Sub Querysave(Source As Notesuidocument, Continue As Variant)
If Source.FieldGetText("eDatum") = "" Then
Messagebox "Datum auswählen",26,"Fehler"
Call Source.GotoField("eDatum")
Continue = False
Exit Sub
End If
If Source.FieldGetText("eName") = "" Then
Messagebox "Name auswählen",26,"Fehler"
Call Source.GotoField("eName")
Continue = False
Exit Sub
End If
End Sub
--- Ende Code ---
und im Button "Speichern":
--- Code: ---Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Call uidoc.Save
End Sub
--- Ende Code ---
Wenn nun was nicht ausgefüllt ist, krieg ich immer die Meldung:
"NotesUIDocument: Save cancelled"
Ist mir ja schon klar, aber warum gibt er die Meldung aus??
Micha
koehlerbv:
Hast Du noch was in den Eingabevalidierungen zu stehen? Das Verhalten spricht dafür ...
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln