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.
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 keinen 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 keinen 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. Die Felder werden also nach oben versetzt, und zwar auf die Top-Position, auf der die (ausgeblendeten) Mehrwertsteuer-Felder 2 stehen!
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.