Page History
...
context."#FUNCTION{org.nuclet.rules.MyFunction}"(context."#{DEF.Kunde.kundennr}")
Logausgaben
Um Clientregeln zu debuggen, können Logausgaben eingegeben werden:
log.info("Logausgabe")
Die Ausgabe kann in der Scripting-Ausgabe (Fenster / Ausgabe (Scripting)) eingesehen werden.
Aktueller User (Nuclos Version 4.0.15 und höher)
Die Variable username kann in Groovy Skripten verwendet werden.
In dieser Variable vom Typ java.lang.String steht der aktuelle User.
z.B.: def anwender = username
Der aktuelle User wird in die Variable anwender übertragen.
Known Issues- Best Practice
Feld aus Elternbusinessobjekt / Hauptbusinessobjekt auslesen
Codeblock | ||
---|---|---|
| ||
fieldFromParent = context."#{<NUCLET>.<SUBENTITY>.<REFERENCEFIELD>.context}"."#{<NUCLET>.<PARENTENTITY>.<FIELD>}" |
z.B. Statusnumeral des Elternobjektes ermitteln:
Codeblock | ||
---|---|---|
| ||
stateNumeral = context."#{NUC.Rechnungsposition.rechnung.context}"."#{NUC.Rechnung.nuclosStateNumber}" | ||
Hinweis |
Das Feld, das aus dem Elternbusinessobjek ausgelesen werden soll, muss im Layout vorhanden sein. Soll es nicht sichtbar sein für den Benutzer, kann es deaktiviert werden.
Messagebox anzeigen
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
import groovy.swing.SwingBuilder
import javax.swing.*
import java.awt.*
def swing = new SwingBuilder()
def myMainFrame = new Frame()
if (context."#{S663.Auftrag.eingangsdatum}" != null) {
swing.edt {
JOptionPane.showMessageDialog(
myMainFrame, "Hello There"
);
}
} |
Berechnungsrichtung abhängig von einem Parameter ändern
Szenario: Feld A soll aus Feld B berechnet werden, wenn eine boolena-Variable den Wert wahr hat, andernfalls soll Feld B soll aus Feld A berechnet werden.
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
def berechneAausB = context."#{J94R.businessobject.aausb}"
if (berechneAausB==false) {
def currentValue = context."#{J94R.businessobject.felda}"
return currentValue
} else {
def feldB = context."#{J94R.businessobject.feldb}"
return feldB*10
} |
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
def berechneAausB = context."#{J94R.businessobject.aausb}" if (berechneAausB) { def currentvalue = context."#{J94R.businessobject.feldb}" if (currentvalue == null) throw new Exception("Exit") else return currentvalue } else { def feldA = context."#{J94R.businessobject.felda}" return feldA/10 } |