Event "Kd.Auftr.Pos. Preis-Kalk.Reihenfolge"
Event "Kd.Auftr.Pos. Preis-Kalk.Reihenfolge"
Der Event wird an verschiedenen Stellen im Programm zur Ermittlung der Kd.Nr.-Reihenfolge der Kundensonderpreisermittlung (-anzeige, -druck, -suche, -validierung, usw., ...) aufgerufen.
Die bis zu drei Kd.Nr. in Original-Reihenfolge werden als Array (aKdNrReihe) übergeben.
Im Event besteht die Möglichkeit ein Array als Ergebnis zurückzugeben, welches eine beliebige(!) Zahl von Kd.Nr. (oder auch das Original-Array in anderer Reihenfolge) enthalten kann, eine leere Rückgabe (NICHT: ein leeres Array) behält die Original-Reihenfolge bei.
Eine Änderung des Reihenfolge-Arrays hat u.a. auf folgende BE-Bereiche Auswirkungen:
Sonderpreiskalkulation (Auf.Pos, Codeblock-Funks, Kunden-Artikel, Staffel-Anzeige, usw, ...)
Sonderpreisartikel-Liste in Auf.Pos.
Eingabe Kd.Art.Nr. in Auf.Pos.
Anzeige Kd.Art.Nr. / -Bezeichnung in Auf.Pos.
pvKdArtNr-Variable in Belegen (Proformarechnung und Mietrücknahmeschein erst ab V5.0)
Prüfung auf Listung eines Art. für Kd.
Art.Gruppen-Sonderpreiskalkulation
Beispiel
| nEvtNo:P1, oDab000:P2, oDab050:P3, oDab055:P4, oDab010:P5,
nDBState:P6, aKdNrReihe:P7, cProgID:P8, i, aRes |
// oDAB055 befindet sich im Edit- oder Einfügemodus!
// oDAB050 Datensatz ist gesperrt!
// -> aKdNrReihe ist ein Array welches die drei zu untersuchenden Sonderpreis-Kundennr.
// in der Original-Reihenfolge enthält.
// -> Rückgabe = leer oder neues aKdNrReihe-Array
// (darf eine andere Reihenfolge, andere Kd.Nr. und/oder
// auch mehr bzw. weniger als drei Einträge enthalten!)
// Event befindet sich u.U. innerhalb einer Transaktion!
// Dieses Beispiel kehrt die Reihenfolge der Kundennr. im Array um ...
// ( aus 1-2-3 wird 3-2-1 )
aRes := {},
for i := Len(aKdnrReihe) downto 1 do
AAdd( aRes, aKdnrReihe[i] ),
next,
aRes // Rückgabe des veränderten Arrays