FastReport Tipp Top-Position im Code: Unterschied zwischen den Versionen
Aus GEVITAS
								
												
				K  | 
				|||
| Zeile 14: | Zeile 14: | ||
* 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 '''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  | + | * 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  | + | * Wenn es '''gar keine''' Mehrwertsteuer-Beträge gibt, sollen nur die Netto-Zeile angezeigt werden.  | 
| + | |||
| + | == Der Code ==  | ||
| + | |||
| + | Im Ereignis '''FussPositionen⇒OnBeforePrint'''  | ||
| + | |||
| + | [[Datei:Bestellung_Fuss_Bsp_02.png]]  | ||
| + | |||
| + | muss man dazu folgenden Code eingeben:  | ||
| + | |||
| + | |||
| + |  procedure FussPositionenOnBeforePrint(Sender: TfrxComponent);  | ||
| + |  begin  | ||
| + | |||
| + |    // 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;  | ||
| + | |||
| + | |||
| + | |||
Version vom 23. Februar 2016, 23:34 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. 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;

