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