TSystem Wawi Logiken und Funktionen (gesamtrabatt unterpositionen usw) » Historie » Version 3
[X] Daniel S, 28.08.2019 08:47
| 1 | 1 | [X] Daniel S | h1. TSystem Wawi Logiken und Funktionen (gesamtrabatt unterpositionen usw) |
|---|---|---|---|
| 2 | |||
| 3 | h3. Haupt / Unterpositionen |
||
| 4 | |||
| 5 | * *Verknüpfung* |
||
| 6 | |||
| 7 | * Haupt / Unterpositionen sind über @p_parent_pos@ bzw. @p_parent_pos_id@ aufgebaut. |
||
| 8 | 3 | [X] Daniel S | + Trigger @b_105_iu__parent__hpos@ > Jeweils gegensetzliches Feld setzen |
| 9 | + Trigger @a_105_u__parent__hpos@ > Cascadierende Weitergabe wenn hpos im Parent umgeschrieben wird |
||
| 10 | + *rechnungv* > antriggern durch verkauf_h_pos > die Verkaufs-Bezugsposition setzt indirekt die Bezüge der Positionsstruktur |
||
| 11 | 1 | [X] Daniel S | |
| 12 | |||
| 13 | 2 | [X] Daniel S | * *Berechnung Haupt / Unterposition* |
| 14 | 1 | [X] Daniel S | |
| 15 | * Funktion @beleg_p__recalcmainposwert@ |
||
| 16 | + Berechnet den Wert aller Unterpositionen und trägt diesen ein |
||
| 17 | * Trigger @beleg_p__a_35_u__werte__hauptsubpos@ |
||
| 18 | + Der Wert der Position wird an seine Children übertragen. Entweder anhand Wert der Unterpositionen, oder wenn es keine Werte gibt anhand der Anzahl |
||
| 19 | + Wenn es Unter-Unterpositionen gibt, wird auch diese entsprechend geändert. Die Weitergabe an deren funktioniert dann rekursiv - wieder über @beleg_p__a_35_u__werte__hauptsubpos@ |
||
| 20 | * Trigger @beleg_p__a_35_iu__subposmainpos@ |
||
| 21 | + Veranlasst die Hauptposition Ihren Wert neu zu berechnen bei Änderung des Unterpositionswertes (@beleg_p__recalcmainposwert@) |
||
| 22 | |||
| 23 | * Um zu verhindern, das HauptPos > UnterPos > HauptPos werden folgende Funktionen verwendet: |
||
| 24 | *# @beleg_p__trigger__totalposwert__disable@ |
||
| 25 | *# @beleg_p__trigger__totalposwert__enable@ |
||
| 26 | *# @beleg_p__trigger__totalposwert__disabled__is@ |
||
| 27 | * 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 |
||
| 28 | 2 | [X] Daniel S | |
| 29 | > Siehe Gesamtrabatt |
||
| 30 | |||
| 31 | |||
| 32 | h3. Dokument |
||
| 33 | |||
| 34 | * 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. |
||
| 35 | * Es wird dazu ein zweiter Beleg_Kopf angelegt und die Verknüpfung @k_nummer = z_Dokunr@ generiert. |
||
| 36 | * *Haupt- und Unterpositionen:* Die Hauptposition MUSS immer auf dem Dokument sein. Unterpositionen KÖNNEN auf dem Dokument sein |
||
| 37 | + 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@ |
||
| 38 | |||
| 39 | |||
| 40 | h3. Gesamtrabatt |
||
| 41 | |||
| 42 | * 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 |
||
| 43 | * Ein Beleg / Dokument kann immer nur einen Gesamtrabatt haben |
||
| 44 | |||
| 45 | * Unterpositionen erhalten automatisch den Gesamtrabatt der Hauptposition auf dem Dokument auch dann, wenn diese nicht auf dem Dokument sind. |