Im Hauptformular (BO „Lagerauftrag“) gibt es das berechnete Attribut „istanzahl“ (Groovy Skript).
Dieses zählt die gültigen Attribute „scan“ im Unterformular (BO „Lagerscan“):
def i = 0
context."#{C9A4.Lagerscan}".each { item ->
def lagerscan = item."#{C9A4.Lagerscan.scan}"
if (lagerscan != null
&& ! lagerscan.isEmpty()) {
i++
}
}
return i
Wird im Unterformular ein neuer Eintrag erstellt (STRG+ALT+N) und ein Wert hinein geschrieben, passiert aber leider nichts im Hauptformular…
Anscheinend „bemerkt“ das Hauptformular nicht wenn sich in einem Unterformular etwas ändert.
Das Feld „istanzahl“ bleibt gleich, obwohl im Unterformular Datensätze angelegt werden.
Abhilfe dafür schafft ein Groovy Skript für das Attribut „scan“ im BO des Unterformulares:
def scan = context."#{C9A4.Lagerscan.scan}"
return scan