Autor Thema: If uidoc.save Is True Then ...  (Gelesen 2790 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
If uidoc.save Is True Then ...
« am: 14.12.03 - 20:44:26 »
Hi,

eigentlich was alltägliches:
Ein Dokument wird neu erstellt, verschiedene Felder werden ausgefüllt.
In den Input Validations mancher Felder stehen Validierungsformeln à la
"@If(Quan = "";@Failure("Leer!");@Success)"

Nun ist da noch ein Button, der ein Script enthält, welches das Dok weiter bearbeitet (Felder setzt etc.).
Ziemlich am Anfang (nach den dims und sets) steht:
uidoc.save

Problem:
Wenn ein Pflichtfeld nicht ausgefüllt ist, kommt
1) die erwartete @Failure-Box
2) danach zusätzlich eine Notes-Meldung: "NotesUIDocument: Save cancelled"

Wie kann ich die 2. Meldung unterdrücken?

Ich meine was in er Art wie:
.....
If uidoc.save Is True Then
Else
   Exit Sub
End If
.....

Wie kann man das realisieren?

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:If uidoc.save Is True Then ...
« Antwort #1 am: 14.12.03 - 21:28:05 »
ErrorHandling, da uidoc.save keinen Rückgabewert liefert.

Code
On Error xxxx goto SaveErrorHandler
call uidoc.save
On Error xxxx goto ErrorHandler
   .....

EndOfSub:
exit sub

SaveErrorHandler:
Resume EndOfSub

ErrorHandler:
rem normaler Handler

End Sub
wobei xxxx für die betreffende Fehlernummer steht, die zu eruieren ist.


Andere Möglichkeiten wäre das Ausgliedern der Verifizierungen entweder ins QuerySave oder sogar in eine eigene Validierungsroutine fürs gesamte Formular, die dann nur bei Bedarf aufgerufen wird (damit lässt es sich allenfalls auch als Entwurf speichern).

HTH
Jens
« Letzte Änderung: 14.12.03 - 21:28:59 von Semeaphoros »
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:If uidoc.save Is True Then ...
« Antwort #2 am: 14.12.03 - 21:34:27 »
Danke für den Tipp, der hilft mir sehr weiter  :)

Grüße,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:If uidoc.save Is True Then ...
« Antwort #3 am: 07.01.04 - 12:03:52 »
Ich habe genau dasselbe Problem und komme nicht weiter, weil ich nicht weiß, welche Nummer diese Fehlermeldung hat.
Wie kriege ich die raus?
Es wird keine Nummer audgegeben sondern einfach nur  "NotesUIDocument: Save cancelled"   ???
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:If uidoc.save Is True Then ...
« Antwort #4 am: 07.01.04 - 12:14:33 »
Dann mach doch einen allgemeinen Error-Handler (On Error Goto ...) und printe dort die Variable Err aus, dann hast Du die Nummer.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:If uidoc.save Is True Then ...
« Antwort #5 am: 07.01.04 - 12:21:08 »
Danke.
Habe gerade noch eine andere Möglichkeit entdeckt:Im Notes-Verzeichnis: lsxuierr.lss da steht drin dass die Nummer für o. g. Fehler 4411 ist.
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:If uidoc.save Is True Then ...
« Antwort #6 am: 07.01.04 - 12:49:42 »
Stimmt, da gibt es eine Liste, dazu gibt es glaub ich auch eine Referenz in der Hilfe, wenn ich mich richtig erinnere. Funktioniert aber nur, wenn man die englischen Fehlermeldungen hat .... leider.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:If uidoc.save Is True Then ...
« Antwort #7 am: 08.01.04 - 14:33:04 »
Funktioniert aber nur, wenn man die englischen Fehlermeldungen hat

@Semeaphoros: Wie meinst du das?
Ich habe zwar einen deutschen Client, aber solche Fehler sind bei mir immer in english!
Nicht etwa, dass ich damit Probleme hätte, aber kann man das umstellen/einstellen?
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:If uidoc.save Is True Then ...
« Antwort #8 am: 08.01.04 - 15:14:02 »
Gute Frage, hab keine Ahnung, welche Fehlermeldungen in Deutsch kommen, aber es kommen mehr als genug normalerweise, da keine Nummern dabeistehen, ist es dann immer schwierig, die Originalmessage rauszufinden, die englische. Scheint so, dass die LotusScript Meldungen nicht übersetzt wurden, wusste ich auch nicht.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz