KEINE Freigabe der macOS Version Sequoia für tomedo®
Alle Hinweise und Informationen finden Sie unter folgendem Link.

Ich werte mit der gezeigten Bedingung ein zusammengesetztes Textfeld eines CKE aus. 

Diese Bedingung soll eine Aktion nur dann auslösen, wenn im zusammengesetzten Textfeld (D1) in RIS ein Eintrag gemacht ist.

 

Leider funktioniert das nicht. Die Kette löst für diesen Teil der Bedingung immer aus, auch wenn dort kein Eintrag gemacht ist. 

Für den zweiten Teil, bei dem nur ausgewertet wird ob der Karteieintrag (BMI) im aktuellen Quartal angelegt wurde, funktioniert der Befehl. 

Kontrollkästchen, Textfelder oder Sores werden richtig ausgewertet.

 

Ist das ein Bug? Gibt es eine Erklärung dafür?

Gefragt in Frage von (35.2k Punkte)
Kategorie geändert von
0 Punkte

1 Antwort

kannst du noch einen Screenshot von der Syntax deines Textfeldes D1 posten?
Beantwortet von (27.5k Punkte)
0 Punkte

Eigentlich ganz simpel. Ich kombiniere da die Einträge aus Ankeuzfeldern und Mehrfachauswahlfeldern. Deshalb geht das auch nicht mit einem Scorefeld. Abhängig von den Einträgen werden am Ende automatisch die zutreffenden internistischen Diagnosen vorgeschlagen. Weil jede zusätzliche Aktionskette die Abläufe verzögert, möchte ich die Auslösung von bestimmten Bedingungen abhängig machen,  um meinen Workflow zu beschleunigen.

 

Ich tippe mal ins Blaue und behaupte, dass du hinter  der Syntax noch Leerzeichen stehen hast. Dann wäre dein Feld niemals leer wink

Eine andere gute Lösung habe ich leider nicht 

Enthält vielleicht das zusammengesetzte Textfeld immer ein Leerzeichen?

Super Idee, hatte ich tatsächlich auch einmal, dass ein Blank die Bedingung gestört hat. 

Eigentlich müsste alles in Ordnung sein. Habe den Eintrag noch einmal im Textverarbeitungsprogramm editiert und sogar neu geschrieben. Das Problem bleibt bestehen. Es ist zum verrückt werden.

Habe hier das Feld mal eingeblendet. Obwohl kein entsprechnder Eintrag im CKE ist, erscheint im eingeblendeten Feld ein Blank.

Wie der da hin kommt bleibt mir ein Rätsel.

 

 

Evtl ist das Leerzeichen in einer der Variablen drin.

Haben Sie einfach mal den "umgekehrten" Weg probiert: enthält e (oder irgendein Buchstabe der bei allen Möglichkeiten vorkommt). Ggf 2 Bedingungen dieser Art.
Das ist ein guter Ansatz, Das mit dem kleinen "e" ist auch eine tolle Möglichkeit, die ich auch schon mal auf die Schnelle genommen habe. Ist aber nur eine Krücke.

Im Feld D1 kann eigentlich nur etwas drin stehen, wenn ich ein relevantes  Feld im CKE ausgewählt oder befüllt habe.

Ich berichte.

Dann könntest du deine Bedingung einfach erweitern:

 

D1 ist nicht leer UND D1 ist nicht Leerzeichen laugh

 

@ Christian: Schick mir doch mal eben den CKE, dann schau ich drüber

# David Stenger

Der Tipp war wirklich gut und hat das Problem gelöst.

Ist aber für mich völlig unbefriedigend. Die Buchstaben a und e kommen in den ausgewählten Variablen vor, deshalb funktioniert der Auslöser jetzt so wie er soll. Eigentlich sollte er auslösen sobald irgendetwas im Textfeld steht. Löst aber auch aus, wenn nichts drin steht.Das mit den Buchstaben ist nur eine Workaround.

Vielen Dank für die wertvolle Anregung.

 

Lösung: Dein Feld B10 hat ein Leerzeichen vor der Syntax
D1 ist nicht leer UND D1 ist nicht Leerzeichen

funktioniert nicht.

Der Tipp von David Stenger löst zumindest das Problem. Trotzdem irgendwie unbefriedigend.

D1 ist nicht leer UND D1 ist nicht Leerzeichen funktioniert nicht.

Seltsam! Sollte eigentlich klappen. 

 

Aber wenn du B10 korrigierst, ist das Problem auch gelöst.

Super, ich frage mich nur wie Du das so schnell herausfindest. 

Es funktioniert tatsächlich. Ich muss wohl mal zum Augenarzt

Der Fehler steckt in der Vorauswahl, die ich eingestellt habe, damit ich den CKE nur aktualisieren brauche wenn es Änderungen gibt. Selbst wenn das Feld leer ist steht durch die Vorbefüllung der Blank drin, der wird übernommen.

Und hier die Lösung

Das Leerzeichen stand vor der Bedingung. Dank der Hilfe von Andreas Tenzer habe ich den Blank beseitigen können.

Aber der Tipp mit den Buchstaben ist enorm wichtig und leider auch unverzichtbar, denn sobald man ein zusammengesetztes Textfeld auswertet, welches auf einem if kommando basiert und man keinen Rückfallwert definiert, ist das Feld nur scheinbar leer. Dieses scheinbar leere Feld läßt sich nicht mit der Bedingung „ist leer“ auswerten. Auch wenn man den Blank entdeckt hat,  kann man den weder beseitigen noch auswerten. Dafür benötigt man dann die häufigsten Buchstaben um das Problem zu lösen.
also das Thema lässt mir keine Ruhe, ich habe deswegen nochmals gegengetestet.

Folgende Fälle:

1. "zusammengesetztes Textfeld auswertet, welches auf einem if kommando basiert und man keinen Rückfallwert definiert, ist das Feld nur scheinbar leer"

--> kann ich so nicht bestätigen
--> bei mir erkennt es das Feld als leer, auch wenn kein Rückfallwert definiert ist (Aktionsketten löst korrekt aus)

2. fälschliches Blank im Feld

--> Aktionskettenbedingung $[karteiEintragValue_withArgs test customKarteiEintragEntries.v1 _ N]$ ist nicht Leerzeichen (hier muss statt Leerzeichen dann nur das blank stehen) funktioniert.
Vielleicht liegt das daran, dass ich noch einen Umweg mache, denn ich werte das Feld in einem CKE durch ein if Kommando aus. Den Inhalt aus dem 1.CKE übernehme ich dann  in einem anderen CKE um damit Aktionsketten auszulösen. Immer wenn ich das 1. CKE öffne wird im 2. CKE ein Blank übernommen. Es hilft auch nichts, wenn in der Bedingung ein _ steht. Ich habe wirklich alles versucht. Geholfen hat, die in den Einträgen verwendeten Buchstaben als Bedingung zu nehmen.

Diese unsichtbaren Leerzeichen sind schon verdammt gemein. Die dadurch verursachten Fehler kann man auch nur finden, wenn man überhaupt weiß welche Tücken es gibt. Da war der Tipp von David Stenger doch hilfreich und hat einen wichtigen Anstoss gegeben.

Vielen Dank Andreas,

Es lag an mir und den versteckten Leerzeilen, die man nur dann erahnt, wenn man mit dem Cursor aktiv in das Feld für die Vorauswahl hineingeht. Die Posititon des Cursors legt dann die Fehler offen.

Der Cursor steht hier 3 Zeilen unterhalb des Befehlsendes. Die gesamten Leerzeilen werden immer mit übergeben und füllen dann das Feld aus.

17,852 Beiträge
26,024 Antworten
46,534 Kommentare
23,600 Nutzer