Home Forum Nuclos Entwicklung Makros und Regeln Subform berechnete Werte aktualisieren

Ansicht von 2 Beiträgen - 1 bis 2 (von insgesamt 2)
  • Autor
    Beiträge
  • #8922
    Nico Anders
    Teilnehmer

    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

    #26292
    caf
    Administrator

    Hallo Nicoanders,

    Sie greifen mit Ihrer Groovy Regel auch nicht auf ek-brutto zu, sondern setzen ein BigDecimal.Zero. Also keine automatische Änderung.

    VG
    Agni

Ansicht von 2 Beiträgen - 1 bis 2 (von insgesamt 2)