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 |
P2 | lGesamtpreis |
|
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
| 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