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.

