FastReport Tipp Top-Position im Code: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(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 MWst. gibt: Brutto-Zeile ausblenden:
+
   // 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 24. Februar 2016, 00:42 Uhr

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:

Bestellung Fuss Bsp 01.png

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

Bestellung Fuss Bsp 02.png

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.

5 Links