Formelfehler vermeiden

Wie sichere ich mich gegen Formelregeln ab, die zwar syntaktisch in Ordnung sind, aber dennoch nicht funktionieren, weil zum Beispiel verschiedene Wertetypen (Text mit Datum) verglichen werden.


(Auszug aus dem iQ-Suite-Log)



Im Hilfsfeld steht im Falle eines Fehlers eine entsprechende Fehlermeldung, bei fehlerfreien Abfragen nimmt es die Werte „false“ oder „true“ an.
Sollte ein Fehler („@IsError“) aufgetreten sein, dann wird das Ergebnis „false“, ansonsten gibt es das Ergebnis der eigentlichen Abfrage („true“ oder „false“ ) wieder.
Damit ist sichergestellt, dass die Regelformel nur die erlaubten Werte „true“ oder „false“ zurückgeben kann und nicht zum Hängen des Regelwerkes führt.

Ein schönes Beispiel für eine derartige Abfrage finden Sie auch in den Beispielregeln der iQ.Suite:
Formelregel: NoBodyDom7
Formula:
_isAvailable :=@isavailable(body);
_HasText := @trim(@Abstract([ABBREV]; 1000; ""; "body" ))!="";
_Hasp7matta:= @contains( @lowercase( @AttachmentNames(0));"smime.p7" );
_isEmpty:=@If( !_isAvailable | ( !_HasText & !_Hasp7matta) ;@TRUE;@FALSE);
@If(@IsError(_isEmpty);@false;_isEmpty);