FastReport Tipp Top-Position im Code: Unterschied zwischen den Versionen
(→Der Code) |
|||
Zeile 28: | Zeile 28: | ||
procedure FussPositionenOnBeforePrint(Sender: TfrxComponent); | procedure FussPositionenOnBeforePrint(Sender: TfrxComponent); | ||
begin | begin | ||
+ | // Ohne Mwst. 1: Felder unterdrücken: | ||
+ | if <BestellFuss."MwstBetrag1"> <= 0 then | ||
+ | begin | ||
+ | // Mwst 1 ist 0, also Zeile ausblenden: | ||
+ | MemoFussMwstSatz1.Visible := False; | ||
+ | MemoFussMwstBetrag1.Visible := False; | ||
+ | end; | ||
// Ohne Mwst. 2: Felder unterdrücken: | // Ohne Mwst. 2: Felder unterdrücken: | ||
Zeile 35: | Zeile 42: | ||
MemoFussMwstSatz2.Visible := False; | MemoFussMwstSatz2.Visible := False; | ||
MemoFussMwstBetrag2.Visible := False; | MemoFussMwstBetrag2.Visible := False; | ||
+ | |||
// Die Brutto-Summenzeile dahin setzen, wo die Mwst2 steht: | // Die Brutto-Summenzeile dahin setzen, wo die Mwst2 steht: | ||
memoFussGesamtbetragText.Top := MemoFussMwstSatz2.Top; | memoFussGesamtbetragText.Top := MemoFussMwstSatz2.Top; | ||
Zeile 40: | Zeile 48: | ||
end; | end; | ||
− | // Wenn es GAR KEINE | + | // Wenn es GAR KEINE Mwst. gibt: Brutto-Zeile ausblenden: |
if ( <BestellFuss."MwstBetrag1"> <= 0 ) and ( <BestellFuss."MwstBetrag2"> <= 0 ) then | if ( <BestellFuss."MwstBetrag1"> <= 0 ) and ( <BestellFuss."MwstBetrag2"> <= 0 ) then | ||
begin | begin | ||
Zeile 47: | Zeile 55: | ||
end; | end; | ||
end; | end; | ||
− | |||
+ | Im Einzelnen: | ||
+ | Dieser Code... | ||
+ | if <BestellFuss."MwstBetrag1"> <= 0 then | ||
+ | begin | ||
+ | // Mwst 1 ist 0, also Zeile ausblenden: | ||
+ | MemoFussMwstSatz1.Visible := False; | ||
+ | MemoFussMwstBetrag1.Visible := False; | ||
+ | end; | ||
+ | ...blendet die Zeile mit den Mehrwertsteuer-Feldern 1 aus, wenn es keine Mehrwertsteuer-Betrag 1 gibt. | ||
+ | Dieser Code... | ||
+ | if <BestellFuss."MwstBetrag2"> <= 0 then | ||
+ | begin | ||
+ | // Mwst 2 ist 0, also Zeile ausblenden: | ||
+ | MemoFussMwstSatz2.Visible := False; | ||
+ | MemoFussMwstBetrag2.Visible := False; | ||
+ | |||
+ | // Die Brutto-Summenzeile dahin setzen, wo die Mwst2 steht: | ||
+ | memoFussGesamtbetragText.Top := MemoFussMwstSatz2.Top; | ||
+ | memoFussGesamtBetragBrutto.Top := MemoFussMwstSatz2.Top; | ||
+ | end; | ||
+ | |||
+ | ...blendet die Zeile mit den Mehrwertsteuer-Feldern 2 aus, wenn es keine Mehrwertsteuer-Betrag 2 gibt. | ||
+ | |||
+ | Zusätzlich wird die Zeile mit dem Brutto-Betrag nach oben verschoben, und zwar auf die Position, an der die Mehrwertsteuer-Felder 2 stehen. Dazu wird die Eigenschaft '''Top''' der Felder auf die Top-Eigenschaft der Mehrwertsteuer-Felder 2 gesetzt. | ||
+ | |||
+ | Dieser Code... | ||
+ | |||
+ | // Wenn es GAR KEINE Mwst. gibt: Brutto-Zeile ausblenden: | ||
+ | if ( <BestellFuss."MwstBetrag1"> <= 0 ) and ( <BestellFuss."MwstBetrag2"> <= 0 ) then | ||
+ | begin | ||
+ | memoFussGesamtbetragText.Visible := False; | ||
+ | memoFussGesamtBetragBrutto.Visible := False; | ||
+ | end; | ||
+ | ...blendet die Zeile mit dem Brutto-Betrag aus, wenn es weder Mehrwertsteuer-Betrag 1 noch Mehrwertsteuer-Betrag 2 gibt. | ||
== Links == | == Links == |
Version vom 23. Februar 2016, 23:42 Uhr
Inhaltsverzeichnis
1 Allgemeines
In diesem Artikel wird ein beschrieben, wie man im Fuss eines Bestellung Felder nach oben schieben kann, wenn die "Zeile" darüber ausgeschaltet wurde.
2 Beispiel
In einem Report für eine Bestellung gibt es im Fuss rechts die Felder für die Netto-Summe, die Mehrwertsteuer-Zeilen und den Brutto-Betrag:
3 Die Vorgaben
Es soll folgendes passieren:
- Wenn es alle beiden Mehrwertsteuer-Beträge gibt, sollen alle "Zeilen" angezeigt werden (in Anführungszeichen, weil es ja keine Zeilen im Sinne eines Texteditors gibt).
- Wenn es nur die erste Mehrwertsteuer gibt, soll die zweite Zeile unterdrückt werden und die Brutto-Zeile nach oben "rutschen".
- Wenn es gar keine Mehrwertsteuer-Beträge gibt, sollen nur die Netto-Zeile angezeigt werden.
4 Der Code
Im Ereignis FussPositionen⇒OnBeforePrint
muss man dazu folgenden Code eingeben:
procedure FussPositionenOnBeforePrint(Sender: TfrxComponent); begin // Ohne Mwst. 1: Felder unterdrücken: if <BestellFuss."MwstBetrag1"> <= 0 then begin // Mwst 1 ist 0, also Zeile ausblenden: MemoFussMwstSatz1.Visible := False; MemoFussMwstBetrag1.Visible := False; end; // Ohne Mwst. 2: Felder unterdrücken: if <BestellFuss."MwstBetrag2"> <= 0 then begin // Mwst 2 ist 0, also Zeile ausblenden: MemoFussMwstSatz2.Visible := False; MemoFussMwstBetrag2.Visible := False; // Die Brutto-Summenzeile dahin setzen, wo die Mwst2 steht: memoFussGesamtbetragText.Top := MemoFussMwstSatz2.Top; memoFussGesamtBetragBrutto.Top := MemoFussMwstSatz2.Top; end; // Wenn es GAR KEINE Mwst. gibt: Brutto-Zeile ausblenden: if ( <BestellFuss."MwstBetrag1"> <= 0 ) and ( <BestellFuss."MwstBetrag2"> <= 0 ) then begin memoFussGesamtbetragText.Visible := False; memoFussGesamtBetragBrutto.Visible := False; end; end;
Im Einzelnen:
Dieser Code...
if <BestellFuss."MwstBetrag1"> <= 0 then begin // Mwst 1 ist 0, also Zeile ausblenden: MemoFussMwstSatz1.Visible := False; MemoFussMwstBetrag1.Visible := False; end;
...blendet die Zeile mit den Mehrwertsteuer-Feldern 1 aus, wenn es keine Mehrwertsteuer-Betrag 1 gibt.
Dieser Code...
if <BestellFuss."MwstBetrag2"> <= 0 then begin // Mwst 2 ist 0, also Zeile ausblenden: MemoFussMwstSatz2.Visible := False; MemoFussMwstBetrag2.Visible := False; // Die Brutto-Summenzeile dahin setzen, wo die Mwst2 steht: memoFussGesamtbetragText.Top := MemoFussMwstSatz2.Top; memoFussGesamtBetragBrutto.Top := MemoFussMwstSatz2.Top; end;
...blendet die Zeile mit den Mehrwertsteuer-Feldern 2 aus, wenn es keine Mehrwertsteuer-Betrag 2 gibt.
Zusätzlich wird die Zeile mit dem Brutto-Betrag nach oben verschoben, und zwar auf die Position, an der die Mehrwertsteuer-Felder 2 stehen. Dazu wird die Eigenschaft Top der Felder auf die Top-Eigenschaft der Mehrwertsteuer-Felder 2 gesetzt.
Dieser Code...
// Wenn es GAR KEINE Mwst. gibt: Brutto-Zeile ausblenden: if ( <BestellFuss."MwstBetrag1"> <= 0 ) and ( <BestellFuss."MwstBetrag2"> <= 0 ) then begin memoFussGesamtbetragText.Visible := False; memoFussGesamtBetragBrutto.Visible := False; end;
...blendet die Zeile mit dem Brutto-Betrag aus, wenn es weder Mehrwertsteuer-Betrag 1 noch Mehrwertsteuer-Betrag 2 gibt.