Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Folgende Ausdrücke werden im Moment unterstützt:

Codeblock
#{[namespace].[businessobjectentity]} // liefert die Datensätze eines Unterformulars als Liste
#{[namespace].[businessobjectentity].[field]} // liefert den Wert eines Attributs. Wenn "id" als Feld eingesetzt wird, kann auf die intid das Datensatzes zugegriffen werden.
#{[namespace].[businessobjectentity].[field].value} // gleiche Funktion wie #{[namespace].[businessobjectentity].[field]}
#{[namespace].[businessobjectentity].[field].id} // liefert den Id-Wert eines Referenzfelds als java.lang.Long
#{[namespace].[businessobjectentity].[field].context} // liefert den Context für ein referenziertes Objekt

...

Häufig wird ein Zugriff auf Werte eines referenzierten Objekts benötigt. Hierfür kann der Ausdruck #{[namespace].[businessobjectentity].[field].context} verwendet werden. Dieser Ausdruck liefert ein neues Context-Objekt, mit dem Sie in identischer Weise weiterarbeiten können. Zu beachten ist, dass ein referenzierter Kontext häufig nur eingeschränkte Daten liefert. Bei Auswahlfeldern stehen z.B. nur die Werte des referenzierten Datensatzes zur Verfügung - ein erneuter Aufruf von #{[namespace].[businessobjectentity]} oder #{[namespace].[businessobjectentity].[field].context} ist also nicht möglich. Sollten die zur Verfügung stehenden Daten nicht ausreichen, müssen Funktionen verwendet werden.

...

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.

 

Known Issues- Best Practice

Feld aus Elternbusinessobjekt / Hauptbusinessobjekt auslesen

Codeblock
languagegroovy
fieldFromParent = context."#{<NUCLET>.<SUBBUSINESSOBJECT><SUBENTITY>.<REFERENCEFIELD>.context}"."#{<NUCLET>.<PARENTBUSINESSOBJECT><PARENTENTITY>.<FIELD>}"

z.B. Statusnumeral des Elternobjektes ermitteln:

Codeblock
languagegroovy
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.