Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 17.03.06 - 16:31:28

Titel: LN-Meldung bei Validierung im QuerySave
Beitrag von: Alexis am 17.03.06 - 16:31:28
Hallo Forum,

kann man die Lotus Notes Meldung "NoteUIDocument Save cancelled" bei der Validierung von Feldern im QuerySave unterbinden?

Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument	
Set uidoc = ws.CurrentDocument
If uidoc.FieldGetText("SupportCenter") = "" Then 
Messagebox "Please select Support Center"		
continue = False
End If
End Sub

Alexis
Titel: Re: LN-Meldung bei Validierung im QuerySave
Beitrag von: koehlerbv am 17.03.06 - 16:33:20
Das spricht dafür, dass Du auch Validierungsformeln verwendest. Man sollte sich da auf ein Verfahren einigen.
Im QuerySave kannst Du aber zu Beginn den Errorstatus abfragen und ggf. QuerySave gleich verlassen.

Bernhard
Titel: Re: LN-Meldung bei Validierung im QuerySave
Beitrag von: Alexis am 17.03.06 - 16:50:21
Sorry Berhard,

auch mit

Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
	
On Error Goto Errhandle
	
Set uidoc = ws.CurrentDocument
If uidoc.FieldGetText("SupCenter") = "" Then 
Messagebox "Please select Support Center"		
continue = False
End If
	
Errhandle:
Messagebox "Error" & Str(Err) & ": " & Error$
End Sub

bekomme ich den Errorcode 0 zurück
danach die besagte LN-Meldung.

???

Da muss wohl was anderes noch mitspuken.

Alexis

Titel: Re: LN-Meldung bei Validierung im QuerySave
Beitrag von: koehlerbv am 17.03.06 - 16:59:16
Nach dem Continue = False fehlt noch ein Exit Sub, Du nimmst also den Fehlerstatus weiter mit, anstatt ihn zu zerstören. QuerySave wird so "normal" verlassen - mit der Kenntnis über einen Fehler.

HTH,
Bernhard
Titel: Re: LN-Meldung bei Validierung im QuerySave
Beitrag von: Alexis am 17.03.06 - 17:20:51
Hallo Bernhard,

auch wenn ich nerve:

Exit Sub hilft auch nicht!

Interessanterweise klappt es, wenn ich über das Schließen des Workspaces (X) gehe.

Alexis
Titel: Re: LN-Meldung bei Validierung im QuerySave
Beitrag von: koehlerbv am 17.03.06 - 17:32:04
Du nervst nicht, Alexis. Aber nachvollziehen kann ich diesen Fehler nicht - zumindest, wenn das gepostete der ganze Code ist.

Bernhard
Titel: Re: LN-Meldung bei Validierung im QuerySave
Beitrag von: it898ur am 20.03.06 - 09:55:01
Hallo ich kenne den Fehler, wenn das Speichern des Frontends durch ein Script aufgerufen wird
==> uidoc.save()
Nach einem Fehler im QuerySave mag diesen Script dann nicht weiterarbeiten, da das Speichern ja verboten wurde. Hier hilft nur das Speichern via Formel und mit
@if(@command([FileSave])
den Fehler abfangen oder die Fehlerprüfung in eigenes Script auslagern und dieses zu Prüfung der Bedingungen aufrufen und auswerten.

André
Titel: Re: LN-Meldung bei Validierung im QuerySave
Beitrag von: Alexis am 20.03.06 - 11:00:05
Hallo,

ich habe das Problem dadurch gelöst, dass ich den Button zum Saven (was für eine Sprache!) durch @Formelsprache ersetzt habe und im QuerySave die Validierungen in Script realisiert habe.

Danke für Euer Mitdenken.

Alexis