Domino 9 und frühere Versionen > ND7: Entwicklung
Problem mit IsNumeric
m3:
1) Wo steht der von Dir gepostete Code.
2) Bitte poste den Code, der in den Vorgabewert, Translation und Validation Events ausgeführt wird.
LN4ever:
Kann es zufällig sein, daß der Hund bereits in der Zeile begraben ist
If Not Isnumeric(mIOT_Spend) Then ...
die da heißen müßte
If Not Isnumeric(doc.mIOT_Spend(0)) Then ...
Aber grundsätzlich gilt schon: du schreibst nicht im Mindesten, wo es wirklich klemmt; nach deinem Fünfzeiler Code wußte man schon einmal, daß es sich vermutlich um eine Maske (und nicht einen Agenten z.B.) handelt, in der der Fehler bei der Bearbeitung (und nicht beim Öffnen eines Dokuments im Lesemodus) auftritt (da kommt deine Prüfung mit IsNumeric normalerweise ohnehin zu spät, weil das Frontend mit seinen Fehlermeldungen zuerst zuschlägt), wie die jetzt beigegebenen Fehlerkommentare auch deutlich zeigen.
Vermutlich bildest du eine Summe aus Zahlen (denn dort taucht typischerweise Fehler 1 auf).
Letztes Jahr hatte ich auch einmal ein Riesenproblem mit einem Feld. Es wollte und wollte einfach nicht klappen. Ich hab viel reingesteckt, aber es kam nix dabei heraus. Dabei wußte ich genau: das Problem lag an der Wurzel. Kein Tip konnte helfen.
Es war ein Kartoffelfeld, und ich hatte Wühlmäuse.
Gruß
Norbert
koehlerbv:
--- Zitat von: ewald am 02.04.07 - 15:20:48 ---Und es sind 2 Fehlermeldungen die kommen:
1.
Cannot convert text to a number
2.
Notes Error - field didn't pass validation formula
--- Ende Zitat ---
Dann hatte ich ja zu 100% Recht :)
Du musst jetzt tatsächlich "nur" noch Deinen Konflikt Backend versus Frontend auflösen. Ansätze habe ich ja schon beschrieben - lass uns einfach wissen, wo Du noch Unterstützung benötigst.
Bernhard
ewald:
Hab jetzt mein Problem so halbwegs im Griff:
Das Nummernfeld in der Form (um das es ja geht) hab ich per default mit 0 vorbelegt.
In der Input validation des Feldes frag ich dann schon mal per Formel ab, ob der Wert numerisch ist oder nicht:
@If(@IsNumber(mIOT_Spend); @Success;
@Failure("Only numeric values are allowed."))
Das funktioniert!
Denke mal, damit ist mein Frontendproblem gelöst, denn das Document lässt sich nicht speichern,solange der Wert nicht nummerisch ist.
Das Problem ist jetzt nur noch: Es gibt einen Button, der eine Mail notification
versendet mit einem DocLink drin (geht über LotusScript).
Wenn ich das Document einmal korrekt mit einer Zahl in dem Feld gespeichert habe, dann aber aus der Zahl wieder Characters mache und die Mail notification verschicken will, dann muss ich ja auch in dem Script prüfen, ob in dem Nummernfeld auch noch ne Nummer drinsteht. Das mach ich damit:
If Not Isnumeric(doc.mIOT_Spend(0)) Then
Messagebox "Nur Zahlen erlaubt.",MB_OK+MB_ICONSTOP, BoxTitle$
uidoc.gotofield("mIOT_Spend")
Continue = False
Exit Function
End If
Das funktioniert auch soweit, d.h., wenn ich die Characters wieder reinschreibe, wird die Notification nicht verschickt, die Exit Function schlägt zu. Nur kommt anstatt meiner Fehlermeldung der Notes Error
Variant does not contain a container.
Wie krieg ich denn das noch weg?
Grüsse Ewald
koehlerbv:
Dafür brauchst Du doch nur einen ErrorHandler (der Dir scheinbar sowieso fehlt), der auf diesen Fall (dann ist Err = 184) (auch) reagiert.
Ein simples Beispiel (aus einem Code von mir vom letzten Wochenende):
--- Code: --- Exit Function
ErrorRoutine:
Select Case Err
Case ErrNotAContainer: Resume Next
Case Else
Call ErrorHandler ("ValidateConfiguredFields")
End Select
Exit Function
--- Ende Code ---
Das mit Resume Next muss natürlich auch zur Situation passen - bei Dir wäre das offensichtlich eher ein Exit Function (oder was immer Du da treiben willst).
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln