Versionen im Vergleich
Schlüssel
- Diese Zeile wurde hinzugefügt.
- Diese Zeile wurde entfernt.
- Formatierung wurde geändert.
Hier finden Sie diverse nützliche IF-Abfragen für Container und Bänder
Inhalt |
---|
Objekte ausblenden, abhängig von einem anderen Feld
Wir wollen ein Textfeld ausblenden wenn ein bestimmes Feld leer ist.
In unserem Beispiel den Titel
Ihre Referenznr.
Wählen Sie im Editor das gewünschte Objekt.
In der Style-Lasche fügen eine Expression für die Eigenschaft visible hinzu.
Im Textblock Formula (roter Kasten) fügen wir nun folgende IF-Expression hinzu
=IF(ISBLANK([eq_ref_number]);FALSE();TRUE())
Der Feldname eq_ref_number (gelb markiert im Bild) muss natürlich durch Ihren benutzten Feldnamen ersetzt werden.
Text anzeigen, abhängig vom Status des Dokumentes
Wir wollen einen Text anzeigen, der passend zum aktuellen Status des Dokumentes ist,
wie z.B: Entwurf, Angebot, Auftrag, Erledigt, Abgebrochen ...
oder in unserem Fall, zuerst eine Packliste, woraus dann der Lieferschein wird.
Wir wählen das gewünschte Textfeld aus.
Der Inhalt im Attribut value ist hierbei irrelevant, denn dieser wird später dynamisch ersetzt.
Wir fügen eine Expression für den Attribut value hinzu.
Der Titel des Lieferscheins, bezogen auf den Status, wird also wie folgt als Formel verwendet:
=IF([state]="done");"Lieferschein " & [name];"Packliste " & [name])
Erklärung: =WENN(Logik);DANN "Text " & [ Feldname ]; ANSONTEN "Text " & [ Feldname ])
Je nach Dokumententyp sind noch weitere States verfügbar, wie z.B. anhand des Lieferscheins:
- [ draft ] - Entwurf
- [ cancel ] - Abgebrochen
- [ waiting ] - Wartet auf anderen Vorgang
- [ confirmed ] - Warten auf Verfügbarkeit
- [ partially_available ] - Teilweise verfügbar
- [ assigned ] - Bereit zur Lieferung
- [ done ] - Geliefert
Es besteht auch die Möglichkeit mehrere States in eine Abfrage zu packen. Dies würde wie folgt aussehen
=IF(OR ([state]="draft";[state]="sent");"Angebot " & [name];"Auftrag " & [name])
Dies ist die Definition für den Titel der Angebots-Reports. Somit wird "Angebot " betitelt, wenn der Status auf Entwurf ODER Status Angebot gesendet steht, einfach nur als "Angebot" gedruckt. Alle anderen Fälle werden als "Auftrag" gedruckt. Der Ausdruck OR definiert in der Formel, das eines der beiden logischen States vorhanden sein muss.
??? funktioniert nicht ???
- Prüfen Sie ob das Feld state für den Report verfügbar ist.
Ggf. müssen Sie den Namen für das state zu Ihrem Fieldname umbenennen. - Prüfen Sie ob die Klammern & Semikolons an den richtigen Stellen stehen und die Klammern auch korrekt alle wieder geschlossen wurden.
Wenn Wert größer 0 ist
Image Added
Folgende IF-Abfrage verwenden wir um nur dann (z.B. Rabatte) anzuzeigen wenn der Wert größer 0 ist.
Image Added
Bei dem Rabattwert auf Zeilenebene müssen wir wieder für das Attribut value eine Expression hinzufügen
Image Added
Die Formel für die IF-Abfrage ist hierbei folgende:
=IF([discount]>0;TRUE();FALSE())
Der Wert discount ist hierbei der Feldname und muss natürlich angepasst werden.