Patrick Schickner Posted June 4 Posted June 4 Hallo Liebe Community, ich habe für unsere Firma ein Prüfprotokoll erstellt (knapp 100 Formeln und 500 Bausteine). Dazu wird ein Gesamtbericht mit Bildern, Kundendaten, Unterschrift, usw. erstellt was auch wunderbar funktioniert. Alle Geprüften Punkte werden über eine Einfachauswahl "i.O."/"n.i.O." bewertet. Dazu noch ein Kommentarfeld und wenn nötig ein Bild. Als Zusatzbericht wurde aber von den Verantwortlichen ein reiner "n.i.O. Bericht gefordert. Doch mit der hinterlegten Codezeile scheint irgendwas nicht zu passen. Diese lautet wie folgt. {%IF bricks.Select_6 == "n.i.O."%}{{bricks.Select|ShowAll=False}}{%ENDIF bricks.Select_6 == "n.i.O."%} Dadurch werden im Bericht, alle Punkte angezeigt. Und nicht nur die mit Status "n.i.O." Vielleicht wisst Ihr ja Rat. Vielen Dank Patrick 1
Micha Zenke Posted June 4 Posted June 4 Hey @Patrick Schickner, hab deine Anfrage mal 1:1 Nova gestellt. Hier ist die Antwort: Gruß Micha Um im Zusatzbericht ausschließlich die Punkte mit dem Status „n.i.O.“ anzuzeigen, ist es wichtig, die Bedingungen korrekt zu setzen und die Struktur der Berichtsvorlage zu beachten. Hier ein strukturierter Lösungsweg: 1. Prüfe die Platzierung der Bedingung Deine aktuelle Bedingung: {%IF bricks.Select_6 == "n.i.O."%} {{bricks.Select|ShowAll=False}} {%ENDIF bricks.Select_6 == "n.i.O."%} Diese Bedingung prüft, ob der Baustein Select_6 den Wert „n.i.O.“ hat, und gibt dann den Wert von Select aus. Das funktioniert aber nur, wenn du dich außerhalb einer Wiederholungsgruppe befindest und nur einen einzelnen Baustein prüfst. 2. Typischer Anwendungsfall: Wiederholungsgruppe Meistens werden Prüfprotokollpunkte als Wiederholungsgruppe (RepeatGroup) abgebildet. Dann musst du die Bedingung innerhalb der FOREACH-Schleife auf das jeweilige Element anwenden. Wichtig: Innerhalb von Wiederholungsgruppen wird das Präfix bricks. nicht verwendet! Beispiel für die richtige Syntax innerhalb einer Wiederholungsgruppe: {%FOREACH bricks.RepeatGroup%} {%IF Select_6 == "n.i.O."%} Punkt: {{Select|ShowAll=False}} Kommentar: {{Kommentar}} {%ENDIF Select_6 == "n.i.O."%} {%ENDFOREACH bricks.RepeatGroup%} RepeatGroup ist die ID deiner Wiederholungsgruppe. Select_6 ist die ID des Status-Bausteins innerhalb der Gruppe. Select ist der Baustein, den du anzeigen möchtest. Wichtig: Die Bedingung muss innerhalb der FOREACH-Schleife stehen, damit sie für jeden Eintrag geprüft wird. Die Baustein-IDs müssen exakt stimmen (Groß-/Kleinschreibung beachten). 3. Zusätzliche Hinweise Wenn du weitere Felder zu jedem „n.i.O.“-Punkt anzeigen möchtest, füge sie einfach innerhalb des IF-Blocks hinzu. Prüfe, ob in deiner Vorlage evtl. noch andere Platzhalter außerhalb der IF-Bedingung stehen, die alle Punkte anzeigen könnten. Teste die Vorlage mit verschiedenen Datensätzen, um sicherzugehen, dass wirklich nur die gewünschten Punkte erscheinen. 4. Quellen & weiterführende Links Offizielle Dokumentation: Bedingungen und Wiederholungen Erweiterte Bedingungen mit Vergleichsoperatoren 5. Beispiel für einen vollständigen Block {%FOREACH bricks.RepeatGroup%} {%IF Select_6 == "n.i.O."%} Punkt: {{Select|ShowAll=False}} Kommentar: {{Kommentar}} {%ENDIF Select_6 == "n.i.O."%} {%ENDFOREACH bricks.RepeatGroup%} Die Formel ist bereits korrekt aufgebaut. Sie gibt innerhalb der Wiederholungsgruppe RepeatGroup nur die Einträge aus, bei denen das Feld Select_6 den Wert "n.i.O." hat. Dabei werden die Werte von Select (ohne nicht ausgewählte Optionen) und Kommentar ausgegeben. Wichtig: Innerhalb der Wiederholungsgruppe wird auf die Felder direkt (ohne "bricks.") zugegriffen. Ersetze die Platzhalter durch die tatsächlichen IDs deiner Bausteine. Zusammengefasst: Die Bedingung muss innerhalb der Wiederholungsgruppe stehen und ohne das Präfix bricks. formuliert werden. Dann werden im Bericht nur die Einträge mit Status „n.i.O.“ angezeigt. Falls du weitere Unterstützung brauchst oder die IDs nicht klar sind, kannst du mir gern die genaue Struktur deiner Wiederholungsgruppe nennen!
Marie Hallwaß Posted June 5 Posted June 5 Guten Morgen @Patrick Schickner, in der Zeile haben Sie die Verwendung 2er Bausteine genommen. Die öffnende und schließende Bedingung (IF und ENDIF) verweisen auf den Baustein Select_6, genutzt wird allerdings der Baustein Select?! Ist das so gewollt? VG, Marie 3
Patrick Schickner Posted June 5 Author Posted June 5 Guten Morgen. Frau Hallwaß, der Code wurde von mir angepasst. {%IF bricks.Select_6 == „n.i.O.“%}{{bricks.Select_6|ShowAll=False}}{%ENDIF%} Ich bin gerade wieder am Testen.
Solution Patrick Schickner Posted June 6 Author Solution Posted June 6 (edited) Da das Problem durch ein kurzes Teams Meeting geklärt wurde (nochmals Danke an Fr. Hallwaß und Hr. Hildebrandt). Stelle ich den Fertigen Code hier als Antwort nochmals ein. Abfrage hat Feld einen bestimmten Wert/Status. Wenn ja dann wird der Inhalt Angezeigt. {%IF bricks.Select_6 == „n.i.O.“%}{{bricks.Select_6|ShowAll=False}}{%ENDIF%} mit folgender Abfrage wird der Inhalt eines dazu gehörigen Kommentarfeldes angezeigt. Aber auch nur wenn die obige Bedingung erfüllt ist. {%IF bricks.Select_6 == „n.i.O.“%}{{bricks.Textbox_8}}{%ENDIF%} Dies lässt sich auf Bilder Zeichnungen usw. erweitern. Vielen Dank für die Unterstützung Edited June 6 by Patrick Schickner 2
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now