Sehr geehrter Herr Rubashkin,
Sie haben mit Ihrer Erwartung grundsätzlich recht: Wenn fachlich geprüft werden soll, ob ein Karteieintrag SONO-SD vorhanden ist und dessen Inhalt nicht a entspricht, muss die Bedingung aus zwei Teilen bestehen:
SONO-SD ist nicht leer / existiert- Inhalt von
SONO-SD ist ungleich a
Das aktuelle Verhalten erklärt sich dadurch, dass bei einem nicht vorhandenen Karteieintrag ein leerer Wert "" zurückgegeben wird. Dieser leere Wert ist logisch ebenfalls ungleich a, daher wird die Bedingung als erfüllt bewertet.
Der angegebene Karteieintrag wird also nicht ignoriert. Ein nicht gefundener Karteieintrag liefert jedoch einen leeren Rückgabewert, und dieser erfüllt die Bedingung ungleich a.
Wenn das Radar nur dann auslösen soll, wenn tatsächlich ein SONO-SD-Eintrag vorhanden ist, müsste zusätzlich geprüft werden, dass der Wert nicht leer ist.
Ich würde das Verhalten daher zunächst nicht eindeutig als Fehler bewerten, da die Bedingung technisch nachvollziehbar ausgewertet wird. Ich habe Ihre Anfrage aber an den zuständigen Programmierer weitergereicht, damit geprüft werden kann, ob dieses Verhalten auch programmiertechnisch so erwartet ist oder angepasst werden sollte.
Alternativ könnte man die Abrechnung auch direkt über eine Aktionskette lösen:
Auslöser: Kartei schließen/öffnen
Bedingung: $[x SONO-SD _ _ 1d NJ NJ2N JJNN _ U _]$ ist ungleich leer
Aktion: Ziffer abrechnen, sofern sie noch nicht auf dem Schein vorhanden ist
Damit würde der Zwischenschritt über die Früherkennung entfallen und die Ziffer direkt vorgeschlagen bzw. abgerechnet werden.
Freundliche Grüße
Joachim Stiegeler
