Beispiele für Bedingungen zum Druck

Für die Festlegung von Bedingungen zum Druck eines Feldes 'Nur drucken, wenn' in den Feldeigenschaften finden Sie hier einige Beispiele (siehe auch Beispiele für interne Felder).

Achtung: Prüfen Sie Ihre Formularanpassung anschließend für Einkaufs- bzw. Verkaufsbelege über die Druckvorschau oder mit dem Ausdruck des Etiketts in der Warenwirtschaft. Die internen Felder/Bedingungen werden bei der Druckvorschau im Formulardesigner nicht berücksichtigt.

Einkaufsbelege

Druck nur auf Einkaufsbelegen

Ein Feld soll ausschließlich auf Einkaufsbelegen gedruckt werden:

_rp_cWas = 'E'

 

Verkaufsbelege

Text nur auf Sammelrechnungen

Ein Text soll nur auf Sammelrechnungen gedruckt werden:

!empty(cRpTemp._pos_UrBeleg)

 

Logo oder Text für Filiale

Eine Textkonstante oder ein Logo soll nur gedruckt werden, wenn die Lieferung aus der Filiale BERLIN erfolgt:

tmpDruKopf.bsfil = 'BERLIN'

 

Hinweis nur für einen Kunden

Ein Hinweistext (Textkonstante) soll nur für den Kunden mit der Nummer 10007 gedruckt werden:

tmpDruKopf.bskundennr = 10007

 

Hinweis für Kunden verschiedener Kategorien

Ein Hinweistext (Textkonstante) soll nur für Kunden der Kategorien PKD und ITK (Kategorie-Kürzel) gedruckt werden:

inlist(tmpDruKundenKa.kakat , 'PKD ','ITK ')

 

Bild für Beleg-Projekt

Ein Bild soll nur auf Belegen gedruckt werden, denen das Projekt XXXX zugeordnet ist:

tmpDruKopf.bsprojekt = 'XXXX'

 

Lieferdatum zum Beleg (entweder RG-Datum oder Detailfeld Termin)

Sie verwenden das Feld mit dem Rechnungsdatum als Lieferdatum, bei abweichender Lieferung wird das Datum im Beleg auf der Registerkarte Detail im Feld Termin hinterlegt (gedruckt im Feld Beleg - Termin - Datum). Um das Rechnungsdatum nur dann zu drucken, wenn das Feld Termin leer ist, geben Sie für das Feld die Bedingung Nur drucken, wenn an:

empty(_rp_TerminDatum)

 

Feld nur drucken für Zahlungsbedingung zur Vorkasse und bestimmtem Projekt

Ein Feld soll nur gedruckt werden, wenn im Beleg eine Zahlungsbedingung mit Zahlart Vorkasse und das Projekt 'PPPP' gespeichert sind:

!empty(tmpDruKopf.bsvorkasse) and tmpDruKopf.bsprojekt = 'PPPP'

 

Text nur auf Werbekostenrechnung drucken

Ein Text soll nur gedruckt werden, wenn der Beleg als Werbekostenrechnung gekennzeichnet ist (aktivierte Option auf der Registerkarte Detail):

!empty(tmpDruKopf.bswerbkost)

 

Seriennummern für ausgewählte Kunden

Die Kunden müssen in den Stammdaten (Registerkarte Stammdaten) für Belegdruck mit Seriennummern gekennzeichnet sein. Im Formular (für die Belegart z. B. Lieferschein aus Bestellung - muss in den Voreinstellungen Verkauf, Registerkarte Drucken für den SN-Druck aktiviert sein) ist zum Seriennummernfeld folgende Bedingung anzugeben:

tmpDruStamm.kdsnzwang

 

Hinweistext auf Sammelaufträgen für Kunden mit aktivierter 'Kontrolle Kommissionierung'

Ein Text soll nur gedruckt werden, wenn im Kundenstamm auf Registerkarte Weitere der Haken 'Kontrolle Kommissionierung' gesetzt ist:

tmpDruStamm.kdsammkont=1

 

Alternative und optionale Belegpositionen in Angeboten

Für alternative und optionale Belegpositionen in Angeboten werden standardmäßig als lfd.Nr. der Position 'A' gedruckt sowie der Gesamtpreis der Position in runden Klammern. Weitere Anpassungen können Sie wie folgt vornehmen:

Gesamtpreis zur Position leer: Feld mit der Bedingung versehen

cRpTemp._pos_Lauf != 'A'

Einzelpreis in Klammern: 2 neue Konstanten einfügen mit 'Klammer auf' ( und 'Klammer zu' ) - und Bedingung

cRpTemp._pos_Lauf = 'A'

Feld 'Alternativ': neue Konstante 'Alternativ' einfügen und Bedingung

cRpTemp.xAltern = 1

Feld 'Optional': neue Konstante 'Optional' einfügen und Bedingung

cRpTemp.xAltern = 2

für einen Text, der nur für 'normale' Positionen (ohne Status alternativ oder optional) gedruckt werden soll, verwenden Sie folgende Bedingung:

cRpTemp.xAltern = 0

 

Feld zum Beleg nur drucken, wenn bestimmte Positionen im Beleg enthalten sind

Die Bedingungen sind wie folgt aufgebaut:

xSelect(cFeldName, cAlias, cWhere, cOrder, lFehlerAnzeigen)

wobei:

- cFeldName - Pflichtfeld, was ausgewertet wird

- cAlias - Pflichtfeld, aus welcher Tabelle (interne Tabellen beim Drucken wie z.B. cRpTemp)

- cWhere - Bedingung

- cOrder - Sortierung

- lFehlerAnzeigen - wenn 1, dann wird die Fehlermeldung angezeigt (zum Testen, wenn das Feld nicht gedruckt wird)

Beispiele:

1. Druck der Anzahl Positionen im Beleg (nicht bei Gruppen verwendbar)

xSelect('count(*)', 'cRpTemp')

2. Druck der Gesamtmenge im Beleg (nicht bei Gruppen verwendbar)

xSelect('sum(_pos_menge)', 'cRpTemp')

3. es gibt im Beleg mind. eine Position, in deren Benennung die Zeichenfolge express enthalten ist (Groß-/Kleinschreibung bleibt unberücksichtigt)

xSelect('count(*)', 'tmpPosAel', [atc ('express',arben) != 0]) > 0

4. im Beleg ist mind. eine archivierte Position enthalten

xSelect('count(*)', 'tmpPosAel', 'ararchiv = 1') > 0

5. im Beleg ist mind. eine Position mit dem Hersteller (Kürzel) SAMS enthalten

xSelect('count(*)', 'tmpPosAel', [arkzselekt = 'SAMS']) > 0

6. im Beleg ist mind. eine Position mit Kategorie CPU (Kürzel) enthalten:

xSelect('count(*)', 'cRpTemp', [kkkat = 'CPU']) > 0

7. im Beleg ist eine bestimmte Position enthalten, z.B. mit der Artikelnummer 12045K

xSelect('count(*)', 'cRpTemp', [_pos_nummer = '12045K']) > 0

bzw. nicht enthalten

xSelect('count(*)', 'cRpTemp', [_pos_nummer = '12045K']) = 0

oder mehrere Artikel enthalten sind (eigene Artikelnummern einsetzen, bei Bedarf mit Komma getrennt und in Hochkomma gesetzt weitere einfügen)

xSelect('count(*)','cRpTemp',[_pos_nummer in('Artikelnummer1','Artikelnummer2')]) > 0

siehe auch Gutschrift / Storno-Rechnung / Rechnungskorrektur

8. im Beleg ist mind. eine Position mit zugeordnetem Geschäftsbereich 5 enthalten

xSelect('count(*)', 'tmpPosAel', 'argesber = 5') > 0

9. im Beleg ist mindestens eine Gruppe enthalten

xSelect('count(*)', 'cRpTemp', [_POS_KOMPONENTE = 'G']) > 0

10. im Beleg ist keine Gruppe enthalten

xSelect('count(*)', 'cRpTemp', [_POS_KOMPONENTE = 'G']) = 0       

11. im Beleg ist mind. ein Artikel enthalten, für den in den Stammdaten im Listenfeld Lithium-Batterie die Auswahl 'Packed with equipment: Lithium ion batteries' gespeichert ist

xSelect('count(*)', 'tmpPosAel', [arlitbat = 1]) > 0   

Hinweis: Das interne Feld für den Druck der lfd. Nummer im Listenfeld Lithium-Batterie heißt tmpPosAel.arlitbat mit den Werten keine = 0, Packed with equipment: Lithium ion batteries = 1 usw.                                                           

 

Werkstattbelege

Druck von Fehlerbeschreibungen aus der Werkstatt in Gutschriften aus Werkstattaufträgen

Im Werkstattauftrag erfasste Daten in den Feldern Gegenstand (3 Zeilen), Fehler (2 Zeilen) und F estgestellter Fehler (3 Zeilen) werden mit aktivierter Option Gutschriften: Werkstattdaten drucken (Registerkarte Drucken 2 unter Voreinstellungen / Mandanten / Voreinstellungen Verkauf) auf (allen) Gutschriften mit gedruckt. Um die Felder nur dann zu drucken, wenn diese gefüllt sind, setzen Sie hier die entsprechende Bedingung für das jeweilige Feld (gilt nicht für Sammelgutschrift):

Nur drucken, wenn

!empty(tmpDruWerk.bwtext1)

!empty(tmpDruWerk.bwtext2)

…...

!empty(tmpDruWerk.bwtext8)