Aktionen
TSystem Wawi Logiken und Funktionen (gesamtrabatt unterpositionen usw)¶
Haupt / Unterpositionen¶
- Verknüpfung
- Haupt / Unterpositionen sind über
p_parent_pos
bzw.p_parent_pos_id
aufgebaut.
+ Triggerb_105_iu__parent__hpos
> Jeweils gegensetzliches Feld setzen
+ Triggera_105_u__parent__hpos
> Cascadierende Weitergabe wenn hpos im Parent umgeschrieben wird
+ rechnungv > antriggern durch verkauf_h_pos > die Verkaufs-Bezugsposition setzt indirekt die Bezüge der Positionsstruktur
- Berechnung Haupt / Unterposition
- Funktion
beleg_p__recalcmainposwert
+ Berechnet den Wert aller Unterpositionen und trägt diesen ein - Trigger
beleg_p__a_35_u__werte__hauptsubpos
+ Der Wert der Position wird an seine Children übertragen. Entweder anhand Wert der Unterpositionen, oder wenn es keine Werte gibt anhand der Anzahl
+ Wenn es Unter-Unterpositionen gibt, wird auch diese entsprechend geändert. Die Weitergabe an deren funktioniert dann rekursiv - wieder übera_350_u__werte__hauptsubpos
- Trigger
a_350_iu__subposmainpos
+ Veranlasst die Hauptposition Ihren Wert neu zu berechnen bei Änderung des Unterpositionswertes (beleg_p__recalcmainposwert
)
- Um zu verhindern, das HauptPos > UnterPos > HauptPos werden folgende Funktionen verwendet:
beleg_p__trigger__totalposwert__disable
beleg_p__trigger__totalposwert__enable
beleg_p__trigger__totalposwert__disabled__is
- Dabei wird das Flag in
beleg_p__a_35_u__werte__hauptsubpos
gesetzt und beachtet. Somit gibt HauptPos > SubPos die Änderung an die SubPos > diese will HauptPos aktualisieren - welche aber weiß "ich ändere gerade" und exit
Siehe Gesamtrabatt
Dokument¶
- Die zusätzliche Dokumentstruktur (Verkauf/Einkauf) mit dem Zweck das unter einer Nummer ein "Projekt" gepflegt werden kann, wird über die Trigger
beleg_p__verkauf__a_50_iu__dokunr
usw. erreicht. - Es wird dazu ein zweiter Beleg_Kopf angelegt und die Verknüpfung
k_nummer = z_Dokunr
generiert. - Haupt- und Unterpositionen: Die Hauptposition MUSS immer auf dem Dokument sein. Unterpositionen KÖNNEN auf dem Dokument sein
+ Unterpositionen erhalten IMPLIZIT den Gesamtrabatt der Hauptposition auch dann, wenn diese NICHT auf dem Dokument sind.beleg_p__verkauf__a_30_iu__rabatt_gesamt__from_doku_mainpos
beleg_k__verkauf__doku__rabatt_propagate
Gesamtrabatt¶
- Der Gesamtrabatt wird im Kopf geführt. Bei Insert einer Position wird dieser über "Default" geladen. Bei Update wird der Gesamtrabatt immer an alle Positionen weitergegeben
- Ein Beleg / Dokument kann immer nur einen Gesamtrabatt haben
- Unterpositionen erhalten automatisch den Gesamtrabatt der Hauptposition auf dem Dokument auch dann, wenn diese nicht auf dem Dokument sind.
Von [X] Daniel S vor etwa 5 Jahren aktualisiert · 4 Revisionen