LL24: Verhalten zwischen Designer und Preview unterschiedlich

Hallo,

es gibt jetzt erstmalig das Problem, dass ein Bericht im Design Modus komplett ok ist und mit den gleichen Daten im Preview nur Fehler wirft.

ERR: error parsing formula ‘CR83Record.BAUSTELLE’: Syntaxfehler: ‘CR83Record.BAUSTELLE’ kann nicht interpretiert werden

Diese Meldung steht im Log dann für jedes einzelne Feld. Das komplette Log habe ich angehängt.

Beim gleichen Kunden funktionieren aber alle anderen LL24 Berichte ohne Probleme.

Gibt es dazu Erfahrungen?

Danke

Nikolaus Kern

LL24.log (74.1 KB)

Jetzt mit log

Auf die Schnelle könnten Sie als Workaround versuchen, die Eigenschaft CheckUsedIdentifiers an der ListLabel-Komponente auf false zu setzen. Wenn das nichts hilft müssten wir uns das einmal im Support detaillierter anschauen, es ist mir aus dem Log nicht klar, warum das Feld nicht angemeldet wird, wir müssten in dem Fall dann einen genaueren Blick auf die Datenquelle werfen.

Danke für die prompte Rückmeldung. Das hat auch geholfen - der Bericht geht auch in der Preview wieder auf.

Seltsam ist einfach, dass es ein Bericht ist wie viele andere und nur der funktioniert nicht…

Dann sollten Sie das erstmal so im Code lassen. Wenn Sie eine Untersuchung der Ursache wünschen, können Sie jederzeit gerne einen Supportcase eröffnen. Nachteile haben Sie lediglich bei der Performance zu befürchten, aber das würde sich nur bei Datenquellen mit sehr vielen Feldern merklich auswirken.

Hallo,

es schon wieder eine Weile her, aber ich bin heute wieder drüber gefallen: Ein Bericht geht im Designer sauber auf, im Preview aber nicht. Die Fehlermeldung sagt, dass ein Feld nicht gefunden wurde.

Feldname RED → so stehts auch im Designer
Tatsächlich gibt das dto aber Red aus

Das wirft einen Fehler in Preview.

Ist das Absicht oder habe ich etwas falsch eingestellt? CheckUsedIdentifiers habe ich nicht verändert.

MfG

Nikolaus Kern

Hallo,

Wenn ich es richtig verstehe, wird im Designer ein Feld “RED” angemeldet, und auch ausgegeben? Was genau ist in diesem Zusammenhang mit “dto”-Ausgabe gemeint? Bei einem Vorschaudruck erhalten Sie dann die Meldung, dass das Feld “RED” nicht gefunden werden konnte? Wie genau lautet die Fehlermeldung?

Ein Log-Datei kann auch hier wertvolle Hinweise liefern.

Hallo,

der Bericht erhält über die DataProviderCollection mehrere List, eine davon ist CR86Legend. Mit dto meine ich data transfer object. Die Klasse dazu sieht so aus:

public class CR86Legende
{
public string Liste { get; set; }
public string ConfigKey { get; set; }
public string ConfigString { get; set; }
public int Red { get; set; }
public int Green { get; set; }
public int Blue { get; set; }
}

Irgendwann habe ich die Properties RED auf Red umbenannt, das im LL Report aber nicht nachgezogen. Beim Entwickeln starte ich bei mir immer den Designer, der Tester und die Kunden sehen immer die Vorschau.

Im Designer sieht es so aus:

Im Designer kann dieser Bericht problemlos geöffnet und auch angezeigt werden, es werden auch die erwarteten Daten angezeigt.

Im Preview wird unter anderem (auch für alle anderen Properties) diese Meldung geworfen:

Debwin4::CSV::V1;TypeCode;Timestamp;Level;Logger;Thread;Properties;Message
:black_small_square:;1000;13.07.2022 12:27:47.727;4;LL.Generic;56D8;100:2=CXLL27​:diamonds:101:1=2; ERR: error parsing formula ‘RGB(CR86Legende.RED,CR86Legende.GREEN,CR86Legende.BLUE)’: Syntaxfehler: ‘CR86Legende.RED’ kann nicht interpretiert werden

Es wirkt so, als ob der Designer nicht case sensitiv sei, Preview aber schon. Eventuell ist das auch ein Thema einer älteren LL Version: Ich habe das gestern korrigiert und versucht heute wieder nachzustellen - das ist mir nicht mehr gelungen.

Es handelt sich weniger um ein aktutes Problem für mich sondern eher um eine Nachfrage, wie LL mit Feldnamen umgeht: base sensitiv oder nicht bzw. ob das einstellbar ist.

MfG

Nikolaus Kern

Standardmäßig sind Feld- und Variablennamen für List & Label nicht großschreibungssensitiv. Dies können Sie jedoch über die Option LL_OPTION_VARSCASESENSITIVE beeinflussen.

LL_OPTION_VARSCASESENSITIVE

TRUE: Variablen- und Feldnamen sind großschreibungssensitiv.
Vorsicht: Dennoch dürfen auch dann sich Variablen-/Feldnamen nicht nur in der Groß-/Kleinschreibung unterscheiden!

FALSE: Groß- und Kleinschreibung wird ignoriert: “Name” ist gleichwertig mit “NAME” (Voreinstellung).

Rufen Sie im Code die Option vor LlGetUsedIdentifiers() auf, um die Variablen/Felder so rauszulesen wie im Dokument gespeichert.

Danke für die Rückmeldung.

Das wirklich überraschende war, dass das Verhalten im Designer anders war als in der Preview.

Für mich ist das Thema klar und ok.

1 Like

Ich habe dasselbe Problem das es im Designer geht, aber beim Export nicht. Es liegt an der Groß- und Kleinschreibung. Ich habe explizit LL_OPTION_VARSCASESENSITIVE = false,es funktioniert aber nur wenn auch CheckUsedIdentifiers = false.

Sollte LL_OPTION_VARSCASESENSITIVE nicht ausreichend sein?

Das müssten wir uns im Rahmen des Supports mal am lebenden Objekt ansehen. An sich sollte die eine Eigenschaft ausreichen. Melde dich gerne bei unserem Support, am besten mit einem Beispiel, im ersten Schritt reichen vielleicht auch eine Logdatei und die Projektdatei.