Project

General

Profile

Actions

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.
    + Trigger b_105_iu__parent__hpos > Jeweils gegensetzliches Feld setzen
    + Trigger a_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 über a_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:
    1. beleg_p__trigger__totalposwert__disable
    2. beleg_p__trigger__totalposwert__enable
    3. 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.

Updated by [X] Daniel S almost 5 years ago · 4 revisions