Funktion: Positionszwischensummen nach bestimmten Kriterien - S_CptPosSums()

Sie können in Rechnungs-, Auftrags-, Angebots-, Lieferschein- oder Projektformularen für eine Auswahl von Positionen eine Summe bilden. Dabei müssen diese Positionen gemeinsame Kriterien haben. Mit Hilfe der Funktion

S_CptPosSums(Ausführungsbedingung;->[Tabelle]Summenfeld;->[ Tabelle]GleichartigesFeld;->[ Tabelle]Vergleichsfeld1;“Operator“;“Vergleichswert1“;->[ Tabelle]Vergleichsfeld2;“Operator“;“Vergleichswert2“)

können Sie eine Summe für Positionen bilden, die bis zu vier Kriterien erfüllen.

Im Folgenden werden die Parameter der Funktion näher erläutert:

  • Ausführungsbedingung
    Mit diesem Parameter geben Sie eine Bedingung an, durch welche die Funktion S_CptPosSums überhaupt in einem Formular ausgeführt werden soll. Soll die Funktion z.B. in einem Rechnungsformular nur dann ausgeführt werden, wenn die Kundennummer 10000 ist, so muss die Anfangsbedingung folgendermaßen aussehen:
    [Rechnungen]Kunden_Stammnummer=“10000“.
  • ->[Tabelle]Summenfeld
    Dieser Parameter ist das Positionsfeld, das über alle Positionen, welche die Kriterien erfüllen, aufsummiert werden soll. Möchten Sie z.B. in einem Rechnungsformular jeweils die Zeilensumme in der Systemwährung der zutreffenden Positionen aufsummieren, dann geben Sie den Parameter wie folgt an:
    ->[RC_Positionen]ZeilensummeSysCurrency.
  • ->[Tabelle]GleichartigesFeld
    Durch diesen Parameter legen Sie ein Positionsfeld fest, dass bei allen Positionen, die aufsummiert werden sollen, gleich sein muss. Sollen z.B. in einer Sammelrechnung alle Positionen, die aus demselben Lieferschein stammen, aufsummiert werden, so geben Sie für diesen Parameter wie folgt an:
    ->[RC_Positionen]Lieferscheine_ID.
  • ->[Tabelle]Vergleichsfeld1;“Operator“;“Vergleichswert1“
    Mit Hilfe dieser drei Parameter geben Sie eine Bedingung an, die alle Positionen erfüllen müssen, damit diese bei der Bildung der gewünschten Summe berücksichtigt werden. Der erste Parameter stellt das Vergleichsfeld da, der zweite Parameter den Vergleichsoperator und der dritte Parameter den Vergleichswert. Sollen beispielsweise, die Positionen einer Rechnung bei der Summenbildung berücksichtigt werden, die im Feld „Alpha1“ einen Text beinhalten, der mit dem Zeichen „A“ beginnt, so geben Sie die drei Parameter wie folgt an:
    ->[RC_Positionen]Alpha1;“=“;“A@“
  • ->[Tabelle]Vergleichsfeld2;“Operator“;“Vergleichswert2“
    Parameter optional; Beschreibung siehe oben.
! Eine Summe wird über die Positionen gebildet, für die ausnahmslos alle angegebenen Kriterien zutreffen.

Nehmen wir an, Sie möchten in einem Rechnungsformular neben der ersten Position (Variable S_Li_NewProjekt) einer Reihe von Positionen, die zu demselben Projekt gehören, jeweils die Gesamtsumme der Pauschalleistungen aus dem betreffenden Projekt ausdrucken. Dabei sollen nur die Pauschalleistungen berücksichtigt werden, die über EUR 1.000,00 liegen. Die Funktion soll lediglich bei einem Kunden angewendet werden. Der Kunde hat die Kundennummer 10000. Folgender Ausdruck liefert das gewünschte Ergebnis:

S_Li_NewProjekt*S_CptPosSums ( [Rechnungen]Kunden_Stammnummer=“10000“;->[RC_Positionen]ZeilensummeSysCurrency;->[RC_Positionen]Projekte_ID;->[RC_Positionen]VKSysCurrency;">";"1000";->[RC_Positionen]Pauschal;“=“;“Wahr“)