Skip to main content
Skip table of contents

Event "Formel Berechnung von Zusatzkosten"

Event "Formel Berechnung von Zusatzkosten"

Dieser Event wird aufgerufen bei jede Berechnung von Preis, wo es beim Zusatzkosten “Formel” Modus ausgewählt ist.

Parametern

Eigenschaften sind Read-Only.

Parameter

Name

Beschreibung

P1

nEvtNo

hat Wert evpCalculationAdditionalCost

P2

lGesamtpreis

True = gesamt Wert sollte berechnet werden

False = Einzelwert sollte berechnet werden

P3

nPreis

Preis, der bis jetzt berechnet wurde. Zusatzkosten sind berechnet von Summe des Preises mit vorherigen Zusatzkosten. Der Preis ist schon mit Rabatte oder und Staffeln.

P4

nMenge

Menge, für welche der Pries berechnet wird, oder Menge, die berücksichtigt werden sollte.

P5

nExtraKosten

Eingegebene Kosten für diese Zusatzkosten

P6

cExtraText

Eingegebenen Text für diese Zusatzkosten

P7

oDab010

Artikelstamm Tabelle, muss nicht immer vorhanden wird, abhängig von Prozess, für dem der Preis berechnet wird. Falls vorhanden wird auf dem Artikel positioniert.

P8

oDab510

Artikel-Lieferant Tabelle, muss nicht immer vorhanden wird, abhängig von Prozess, für dem der Preis berechnet wird. Falls vorhanden wird auf dem Artikel und Lieferant positioniert.

P9

oDab035

Bestell-Rückstand Tabelle, muss nicht immer vorhanden wird, abhängig von Prozess, für dem der Preis berechnet wird. Falls vorhanden wird auf dem Bestell-Rückstand positioniert.

P10

oDab055

Kunden-Auftrag-Position Tabelle, muss nicht immer vorhanden wird, abhängig von Prozess, für dem der Preis berechnet wird. Falls vorhanden wird auf der Kunden-Auftrag-Position positioniert.

P11

oDab235

Einkauf Rechnungs-Kontrolle Tabelle, muss nicht immer vorhanden wird, abhängig von Prozess, für dem der Preis berechnet wird. Falls vorhanden wird auf der Einkauf Rechnungs-Kontrolle positioniert.

P12

oDab040

Kunden-Sonderpreise Tabelle, muss nicht immer vorhanden wird, abhängig von Prozess, für dem der Preis berechnet wird. Falls vorhanden wird auf dem Kunden-Sonderpreis positioniert.

P13

oDab020

Lager-Bewegungen Tabelle, muss nicht immer vorhanden wird, abhängig von Prozess, für dem der Preis berechnet wird. Falls vorhanden wird auf der Lager-Bewegung positioniert.

Beispiel

CODE
| nEvtNo:P1, lGesamtwert:P2, nPreis:P3, nMenge:P4, nExtraKosten:P5, cExtraText:P6,
 oDab010:P7, oDab510:P8, oDab035:P9, oDab055:P10, oDab235:P11, oDab040:P12, oDab020:P13
//################################################################################
// lGesamtwert  : Gesamtwert oder Einzelwert rechnen, true = Gesamtwert
// nPreis       : bisher berechnete Preis
// nMenge       : Menge
// nExtraKosten : vorgesetzte zusätzliche Preis
// cExtraText   : vorgesetzte Erklärungstext
// oDab010      : positionierte Dab010 (Artikel) - steh, je nach Prozess, zur Verfügung - NICHT ÄNDERN ODER NAVIGIEREN!
// oDab510      : positionierte Dab510 (Artikel-Lieferanten) - steh, je nach Prozess, zur Verfügung - NICHT ÄNDERN ODER NAVIGIEREN!
// oDab035      : positionierte Dab035 (Einkauf/Produkt. Bestellrückst) - steh, je nach Prozess, zur Verfügung -  NICHT ÄNDERN ODER NAVIGIEREN!
// oDab055      : positionierte Dab055 (Kunden Auftrags-Positionssatz) - steh, je nach Prozess, zur Verfügung -  NICHT ÄNDERN ODER NAVIGIEREN!
// oDab235      : positionierte Dab235 (Einkauf Rechnungs-Kontrolle) - steh, je nach Prozess, zur Verfügung - NICHT ÄNDERN ODER NAVIGIEREN!
// oDab040      : positionierte Dab040 (Kunden-Sonder-Preise) - steh, je nach Prozess, zur Verfügung - NICHT ÄNDERN ODER NAVIGIEREN!
// oDab020      : positionierte Dab020 (Lager-Bewegungen / Statistik) - steh, je nach Prozess, zur Verfügung -  NICHT ÄNDERN ODER NAVIGIEREN!
//
// Rückgabe     : zusätzliche Preis
//################################################################################

, s, r |

case true
   of not Empty(oDab010) :: s := oDab010:ARTNR,
   of not Empty(oDab510) :: s := oDab510:ARTNR,
   of not Empty(oDab035) :: s := oDab035:ARTNR,
   of not Empty(oDab055) :: s := oDab055:ARTNR,
   of not Empty(oDab235) :: s := oDab235:ARTNR,
   of not Empty(oDab040) :: s := oDab040:ARTNR,
   of not Empty(oDab020) :: s := oDab020:ARTNR,
   otherwise                s := 'unbekankter Artikel',
endcase,

s := s + " ",

case true
   of not Empty(oDab510) :: s := s + 'Lieferant ' + Str(oDab510:LINR),
   of not Empty(oDab035) :: s := s + 'Lieferant ' + Str(oDab035:LIEFNR),
   of not Empty(oDab235) :: s := s + 'Lieferant ' + Str(oDab235:LIEFNR),
   of not Empty(oDab040) :: s := s + 'Kunde ' + Str(oDab040:KDNR),
   of not Empty(oDab055) :: s := s + 'Kunde ' + Str(oDab055:KDNR),
   otherwise                s := s + 'unbekankter Lieferant/Kunde',
endcase,

s := s + ': ' + IIF(lGesamtpreis, 'gesamtwert', 'einzel Wert'),
s := s + ' ' + Str(nPreis) + ' ' + Chr(128) + ' ' + Str(nMenge) + ' st. extra: ' + Str(nExtraKosten) + ' ' + cExtraText,

case true
  of cExtraText = 'erste'  ::  r := nExtraKosten / 100,
  of cExtraText = 'zweite' ::  r := nExtraKosten / 10,
  otherwise                    r := nExtraKosten,
endcase,

s := s + ': ' + Str(r),
meld(s),

r

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.