+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Unklares Problem mit cond()


(Matthias Mühe) #1

Guten Tag,

ich nutze List & Label 22. Ich möchte eine Boolean’sche Bedingung abfragen und ‘Ja’ oder ‘Nein’ als Ausgabe haben. So sieht das im Moment aus:

Cond(Massnahmen.IsAbgeschlossen,“Ja”,“Nein”)

Das bringt mir die Fehlermeldung ein: Fehler im Typ des Rückgabewerts (erwartet: Boolean, ist: Zeichenkette)

Gebe ich den Ausdruck ‘Massnahmen.IsAbgeschlossen’ direkt ein, bekomme ich ‘True’ oder ‘False’ ausgegeben. Das ist also definitiv ein Feld mit Bol-Wert.
Laut Handbuch ist die Ausgabe von Zeichenketten im 2. & 3. Argument auch möglich.
Was mache ich falsch?


(Jörg Wendisch) #2

Hallo Herr Mühe,

ist das Feld wirklich vom Typ Boolean, oder wird es als String an List & Label übergeben, so das beim Cast aus True der String “True” und aus False der String “False” wird.
Den Typ kann man im Designer an dem Symbol vor dem Feldnamen gut erkennen (A für alphanumeric oder den Haken für boolean).

Mit freundlichen Grüßen

Jörg Wendisch


(Matthias Mühe) #3

Hallo Herr Wendisch,

das betreffende Feld ‘Massnahmen.IsAbgeschlossen’ hat ein Icon mit Haken.

Ich habe das Problem im vorliegenden Report damit umgangen, dass ich verschiedene Zeilen mit den entsprechenden Darstellungsbedingungen verknüpft habe, so dass bei abgeschlossenen Maßnahmen die Zeile “Abgeschlossen am:…”, bei abgebrochenen Maßnahmen die Zeile “Abgebrochen am:…” und bei laufenden Maßnahmen keine von beiden angezeigt wird. Insofern ist das hier betrachtete Problem mit cond() ein wenig in den Hintergrund gerückt.
Dennoch wäre mir sehr daran gelegen, das Problem zu lösen, da ich noch etliche Reports erstellen muss und ich befürchte, dass das noch einmal auf mich zukommt.

Daher schon einmal vielen Dank für ihre Bereitschaft hier Hilfe zu leisten.

Mit freundlichen Grüßen,

Matthias Mühe


(Sven Brüggemann) #4

Hallo Herr Mühe,

Die Meldung “Fehler im Typ des Rückgabewerts (erwartet: Boolean, ist: Zeichenkette)” sagt eigentlich, dass Sie die Formel (hier: Rückgabetyp String) in einer Eigenschaft hinterlegt haben, die einen Boolean-Wert erwartet (z.B. Darstellungsbedinung). In einer Spalte des Tabelleninhalts ist so eine Meldung nicht zu erwarten.

Sind Sie sicher, die Formel an einer Stelle zu verwenden, wo man einen Text angeben kann? Vielleicht ggf. 'mal einen Screenshot anhängen.

MfG


(Matthias Mühe) #5

Hallo,

wie bereits beschrieben, habe ich das Problem zunächst umgangen. In dem Feld wurde tatsächlich nur der (Bol-)Wert des Feldes ‘Maßnahme.IsAbgeschlossen’ abgefragt, in der Tabelle wurde dann “True” bzw. “False” angezeigt. Für einen Report, der von Jedermann verwendet werden soll, ist das natürlich verwirrend und die Idee war, stattdessen “Ja” und “Nein” ausgeben zu lassen.

Ich habe das Problem soeben noch einmal reproduziert und dieses mal hat es wie gewünscht funktioniert. Jetzt komme ich mir ein bisschen wie ein Idiot vor, der wegen eines selbst verursachten Syntaxfehlers einen Aufstand verursacht.
Ich möchte ihnen aber versichern, dass ich vor dem Absetzen der ersten Meldung hier im Forum sogar noch eine Programmiererin aus unserer IT hinzugezogen habe und diese sich selbst nach eingehender Prüfung den Fehler auch nicht erklären konnte.

Also: alles zurück auf Anfang, man muss auch eigene Fehler zugeben können. Scheitern als Chance, sozusagen.
Dennoch vielen Dank für die Hilfe.

Mit freundlichen Grüßen,

Matthias Mühe