Hallo,
ich bin auf ein Problem mit den Groovy Client-Regeln gestoßen.
Folgendes Szenario:
-Es gibt 2 BOs… Bestellung und Bestellposition
-Das BO Bestellposition ist als Subform in das BO Bestellung integriert
-Das BO Bestellung hat unter anderem ein Attribut „Steuersatz“
-Das BO Bestellposition hat unter anderem die Attribute „EK-Netto“ und „EK-Brutto“
-Das Attribut „EK-Brutto“ soll jetzt anhand der Attribute „EK-Netto“ und „Steuersatz“ berechnet werden
Die Groovy-Regel sieht so aus:
def ekbrutto = new java.math.BigDecimal(0.000)
def eknetto = context.“#{DEF.Bestellposition.eknetto}“
def steuersatz = context.“#{DEF.Bestellung.steuersatz}“
if(null != eknetto && null != steuersatz){
eknetto = java.math.BigDecimal.valueOf(eknetto)
taxrate = java.math.BigDecimal.valueOf(taxrate)
ekbrutto = eknetto.multiply(new java.math.BigDecimal(1.0000).add(taxrate.divide(new java.math.BigDecimal(100.0000))))
}
return ekbrutto.setScale(2, java.math.RoundingMode.HALF_UP).doubleValue()
Funktioniert soweit auch super.
Wenn ich allerdings im übergeordneten BO „Bestellung“ jetzt den Wert im Attribut „Steuersatz“ ändere, hat das keinen Effekt auf den Berechneten Wert „EK-Brutto“. Erst wenn ich noch „EK-Netto“ ändere aktualisiert sich das berechnete Attribut „EK-Brutto“.
Gibt es eine Möglichkeit das sich die Berechnung auch aktualisiert wenn man ein Attribut im übergeordneten BO ändert?
Ich verwende Nuclos 4.10.2
Grüße Nico