BEDINGTE Freigabe der macOS Version Sequoia für tomedo® Alle Hinweise und Informationen finden Sie unter folgendem Link.
Hinweis: Zukünftige iOS tomedo Updates werden nur noch auf Geräten mit iOS 16 oder höher verfügbar sein.

Ich bekomme die korrekte Syntax nicht hin:

$[if $[v1]$ zs_contains $[karteiEintragValue_withArgs GOP customKarteiEintragEntries.vOPS1 _ N]$ 1 0]$

v1 ist natürlich eine Variabe des CKE und 

GOP ist ein vorhandenes CKE mit einem Feld vOPS1 

Ich habe gefühlt alle Arten von Klammerungen ausprobiert, bekomme aber immer Fehler

Im Admin/Kommandos/Platzhalter/Text mit Parameters Testumgebung funktioniert das hier:

$[if Hallo zs_contains $(karteiEintragValue_withArgs GOP customKarteiEintragEntries.vOPS1 _ N)$ 1 0]$

im CKE will das aber auch nicht ☹️

v1.151.1.5

 

Gefragt in Frage von (2.5k Punkte)
0 Punkte

2 Antworten

Beste Antwort
Drehen Sie es um, dann geht es:

$[if karteiEintragValue_withArgs GOP CustomKarteiEintragEntries.vOPS1 _ N zs_contains $[v1]$ 1 0]$

VG
Beantwortet von (6.2k Punkte)
ausgewählt von
0 Punkte

ja, syntaktisch gut - aber damit wird mein Progammziel leider nicht erreicht.

v1 enthält eine Liste von ca. 50 kommagetrennten OPS Kodes, also:

5-844.02, 5-844.03,5-844.05, 5-844.06, 5-844.12, 5-844.13, 5-844.15, 5-844.16, 5-844.23,5-844.25, 5-844.32, 5-844.33, 5-844.35, 5-844.36, 5-844.42, 5-844.43,5-844.45, 5-844.46, 5-844.52, 5-844.53, 5-844.55, 5-844.56, 5-844.62,5-844.63, 5-844.65, 5-844.66, 5-844.70, 5-844.72, 5-844.73, 5-844.74,5-844.76, 5-902.05, 5-902.06, 5-902.07, 5-902.08, 5-902.09, 5-902.0a,5-902.0b, 5-902.0c, 5-902.0d, 5-902.0e, 5-902.0f, 5-902.0g, 5-902.15,5-902.16, 5-902.17, 5-902.18, 5-902.19, 5-902.1a, 5-902.1b, 5-902.1c,5-902.1d, 5-902.1e, 5-902.1f, 5-902.1g, 5-902.25, 5-902.26, 5-902.27,5-902.28, 5-902.29, 5-902.2a, 5-902.2b, 5-902.2c, 5-902.2d, 5-902.2e,5-902.2f, 5-902.2g, 5-902.f5, 5-902.f6, 5-902.f7, 5-902.f8, 5-902.fa,5-902.fb, 5-902.fc, 5-902.fd, 5-902.fe, 5-902.ff, 5-902.fg, 5-902.h5,5-902.h6, 5-902.h7, 5-902.h8, 5-902.ha, 5-902.hb, 5-902.hc, 5-902.hd,5-902.he, 5-902.hf, 5-902.hg

(Ist in diesem Fall die Liste der OPS Kodes, die zum EBM Zuschlag I {=EBM 31451} führen, ich habe v1 bis v7...)

Und ich möchte wissen ob der Inhalt (ein OPS Kode) von karteiEintragValue_withArgs GOP CustomKarteiEintragEntries.vOPS1 _ N in der v1 Liste enthalten ist.

Deshalb kann ich nicht A zs_contains B umkehren in B zs_contains A. 

Ah, ok, dann fragen Sie vorher "karteiEintragValue_withArgs GOP CustomKarteiEintragEntries.vOPS1 _ N" in einer anderen Variable ab und werten dann aus:  $[if $[v1]$ zs_contains $[abfrage_zuvor]$ 1 0]$

Ich glaube Sie können sonst nicht nach ... zs_contains ... direkt eine karteiEintragValue_withArgs vergleichen.

Aber so sollte es gehen.

Einen schönen Abend Ihnen.
ja, natürlich - so geht es!

 

Vielen Dank!

Moin Herr Gunstmann,

Das Kommando, das Sie gepostet haben, scheint nicht korrekt zu sein.

Das Problem liegt wahrscheinlich in der Syntax oder in der Art, wie die Funktionen und Variablen verwendet werden. 

1. zs_contains: Diese Funktion überprüft, ob ein bestimmter Wert in einer Liste enthalten ist. Die Syntax sollte klarstellen, was der zu überprüfende Wert und was die Liste ist.

2. karteiEintragValue_withArgs: Es handelt sich um eine Funktion, die Daten aus einem bestimmten CKE  extrahiert (z. B. Feldwerte aus einem GOP-Eintrag).

Hier ist ein Vorschlag für ein korrigiertes Kommando:

$[if $[zs_contains $[v1]$ $[karteiEintragValue_withArgs GOP customKarteiEintragEntries.vOPS1 _ N]$]$ 1 0]$

 

Klammerung: Jede Funktion wird klar abgeschlossen, und die Argumente werden korrekt eingebettet.

• Die äußere if-Bedingung überprüft das Ergebnis der zs_contains-Funktion.

• zs_contains nimmt zwei Hauptargumente:

• Den Wert, der überprüft werden soll (v1).

• Die Liste oder den Wert, in dem gesucht wird (karteiEintragValue_withArgs).

 

karteiEintragValue_withArgs:

• Diese Funktion wird korrekt eingebettet, damit ihr Rückgabewert von zs_contains verarbeitet werden kann.

 

Bedingte Rückgabe:

• 1 wird zurückgegeben, wenn die Bedingung wahr ist.

• 0 wird zurückgegeben, wenn die Bedingung falsch ist.

Falls v1 direkt ein Wert ist und keine komplexe Variable benötigt wird, könnten Sie es einfacher schreiben:

$[if zs_contains $[v1]$ $[karteiEintragValue_withArgs GOP customKarteiEintragEntries.vOPS1 _ N]$ 1 0]$

Wichtige Hinweise:

Falls weiterhin Fehler auftreten, überprüfen Sie:

• Ob die Funktion karteiEintragValue_withArgs den erwarteten Wert zurückgibt.

• Ob zs_contains korrekt implementiert ist und beide Argumente verarbeiten kann.

Beantwortet von (37.4k Punkte)
0 Punkte
Hallo Herr Klaproth,

das ist sehr interessant. So habe ich die Auswertung der Funktionen überhaupt nicht gesehen oder vermutet und werde das weiter ausprobieren.

Vielen Dank für Ihre Erklärung.

VG Sascha Kummer

Moin Herr Klapproth,

zs_contains habe ich bisher immer nur als Operator von if /if_then Befehlen gesehen. In meinem CKE bekomme ich bei Ihren Beispielen aber im Moment Fehler zurück: N]$ 1 0]$ bzw N 1 0]$ wenn ich zs_contains nicht gesondert einklammere unabhängig davon welchen Typs diese Zeile ist zB Text zus. V2. Offenbar interpretiert mein tomedo v1.151.1.5 die Klammerung anders.

Mein karteiEintragValue_withArgs liefert eine Zeile oberhalb ein korrektes Ergebnis v1 ist zwei Zeilen oberhalb ein Text nicht editierbar und enthält die oben genannte Liste von Kodes.

Aber ich werde Ihre Ideen noch weiter in isolierter Test CKE Umgebung testen. Im Moment schlage ich mich aber noch mit einem anderen Problem herum und die Kummer-Permutation löst mein Problem an dieser Stelle.

aus meiner Sicht dürfte das Kommando 

$[if $[zs_contains $[v1]$ $[karteiEintragValue_withArgs GOP customKarteiEintragEntries.vOPS1 _ N]$]$ 1 0]$

bisher versionsunabhängig nicht funktioniert haben 

18,717 Beiträge
27,034 Antworten
48,569 Kommentare
30,009 Nutzer