Projekt

Allgemein

Profil

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.