Versionen im Vergleich

Schlüssel

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

Nuclos berechnetes Attribut Datenquelle: INTID, $username, $mandator, dynamische Hintergrundfarbe, attributeColorSQLWhitelist, SQL-Beispiel.

globe with meridians Sprache: Deutsch · English

hammer and wrench Berechnetes Attribut

Berechnetes Attribut über eine Datenquelle – mit Kontext-Variablen und dynamischer Hintergrundfarbe für den Webclient.

Status
colourPurple
titleHow-to
Status
colourBlue
titleAnwendungsentwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel

Definition

2

Was ist ein berechnetes Attribut (Datenquelle)?

...

Ein berechnetes Attribut ist ein einzelner Rückgabewert einer Datenbankabfrage, der im Businessobjekt mit einem Feld verknüpft

...

und zur Laufzeit angezeigt

...

wird – ohne Benutzeraktion.

Menüaufruf: Konfiguration → Datenquellen → Berechnetes Attribut

Info
titleVorteil

Gegenüber Funktionen in Datenbankobjekten haben Datenquellen-basierte Attribute den Vorteil zusätzlicher Kontext-Variablen wie $username und $mandator (letzterer muss geklammert werden: ('$mandator')).

Aufbau

Die Datenquelle braucht einen Parameter für die INTID des Datensatzes, in dem das Attribut eingeblendet wird. Der Rückgabewert muss dem anzuzeigenden Wert entsprechen; im Businessobjekt wird bei der Verknüpfung derselbe Datentyp gewählt.

Warnung
titleAchtung

Verwende in der Datenquelle nicht t als Tabellen-Alias – dieser wird bereits von Nuclos genutzt und führt zu falschen Ergebnissen. Referenzfelder lassen sich nicht berechnen.

Berechnete Attribute haben gegenüber Funktionen in Datenbankobjekten den Vorteil, dass man bei der Berechnung noch ein paar Kontext-Variablen zur Verfügung hat, z.B.

  • username
  • mandator

...

Codeblock
languagesql

...

Businessobjekt
Image Added

Datenquelle eines berechneten Attributs.

Dynamische Hintergrundfarbe (ab Nuclos 4.2024.5)

Da Groovy-Skripte im Webclient nicht ausgewertet werden, kann eine Datenquelle vom Typ Berechnetes Attribut die Hintergrundfarbe einer Komponente als hex-kodierten String liefern (z.​B. #00ff00). Verfügbare Parameter u.​a.: intid, strfield, struidfield, fieldvalue (SQL-Snippet, Whitelist attributeColorSQLWhitelist), username, mandator.

Codeblock
languagesql

...

select 
  pm.strvalue 
from 
  t_md_nucletparameter 
  inner join t_md_mandator_param_value pm on t_md_nucletparameter.struid 
where 
  pm.struid_t_md_nuclet_param where strparameter = 'Nucletparameter x' 
  and pm.struid_t_md_mandator = ('$mandator')
Info
titleHierarchie

Priorität Richclient: Groovy > Datenquelle > nuclosrowcolor > statische Layout-Farbe. Webclient: Datenquelle > nuclosrowcolor > statische Layout-Farbe.

Verwandte Seiten

bar chart Berechnete Attribute


Konzept & DB-Weg.

Öffnen →

file cabinet Datenbankobjekte


DB-Funktionen.

Öffnen →

Hinweis
titleWichtiger Hinweis

In der Datenquelle sollte nicht "t" als Tabellen-Alias verwendet werden, da dieser schon von Nuclos verwendet wird und es dadurch zu falschen Ergebnissen kommen kann.

Anwendung

Ein Berechnetes Attribut kann über eine Datenquelle definiert werden.

Benötigt wird ein Parameter für die INTID des Datensatzes, in dem das Attribut eingeblendet werden soll. Dieses muss in der Abfrage entsprechend berücksichigt werden, wenn es einen Bezug zum Hauptdatensatz geben soll.

Der Rückgabewert muss dem Wert entsprechen, der im Attribut angezeigt werden soll. Im Businessobjekt muss später bei der Verknüpfung der gleiche Datentyp gewählt werden.

Image Removed

Weitere Beispiele:

Image Removed

Hinweise

Ein Referenzfeld kann nicht von einem berechneten Attribut befüllt werden. 

Dynamische Hintergrundfarbe eines Attributs

Info

Dieses Feature steht ab Nuclos 4.2024.5 zur Verfügung.

Der Richclient bietet die Möglichkeit die Hintergrundfarbe einer Komponente für ein Attribut mittels Groovy-Skript zu bestimmen (s.a. Regeln (clientseitig)).
Da Groovy-Skripte im Webclient nicht ausgewertet werden können, bietet Nuclos alternativ die Verwendung einer Datenquelle ("Berechnetes Attribut") an, die den Farbwert als hex-kodierten String zurückliefert, bspw #00ff00 für die Farbe "grün".

Diese Datenquellen werden wie gewohnt über den Menüpunkt "Datenquellen → Berechnetes Attribut" angelegt. Es stehen die folgenden Parameter zur Verfügung:

ParameterDatentypBeschreibungintidLongLiefert die ID des DatensatzesstrfieldStringName des Attributs, für das die Hintergrundfarbe bestimmt werden soll.struidfieldStringUID des Attributs, für das die Hintergrundfarbe bestimmt werden soll.fieldvalueIntern: SQL

Wert des Attributs, für das die Hintergrundfarbe bestimmt werden soll.

Dieser Parameter wird durch ein SQL-Snippet ersetzt. Als Valuelist Provider für die SQL Whitelist muss attributeColorSQLWhitelist ausgewählt werden.

Handelt es sich um einen Wert, der quotiert werden muss, wie bspw. einen Text, muss bei Anzeigename folgender Text eingetragen werden: ' 
Bei Werten, die nicht quotiert werden müssen, wie bspw. boolschen oder numerischen Werten, bleibt der Anzeigeausdruck leer.

Info

Falls die Hintergrundfarbe für ein berechnetes Attribut (Wert wird von Datenquelle oder DB-Funktion geliefert) bestimmt werden soll, wird der Parameter durch das SQL aus der Datenquelle, bzw. den Aufruf der DB-Funktion ersetzt.

Image Removed

usernameStringBenutzername des aktuellen Benutzers.mandatorStringListe der UIDs der für den aktuellen Benutzer gültigen Mandanten

Hierarchie zur Bestimmung der Hintergrundfarbe einer Komponente

Richclient: Groovy-Skript > Datenquelle > nuclosrowcolor (nur relevant für Ergebnisliste oder Unterformular) > statische Hintergrundfarbe aus Layout

Webclient: Datenquelle > nuclosrowcolor (nur relevant für Ergebnisliste oder Unterformular) > statische Hintergrundfarbe aus Layout

Beispiel

Codeblock
languagesql
SELECT
	CASE
		WHEN $fieldvalue IS NULL THEN null
		WHEN $fieldvalue > 100 THEN '#00ff00'
		ELSE '#ff0000'
	END as color

HOW TO: Berechnetes Attribut anlegen

Panel
borderColorgreen
titleColorblue
borderWidth10
borderStylesolid
titleBerechnetes Attribut anlegen

blue book  How-to: Berechnetes Attribut anlegen

direct hit  Ziel

Ein berechnetes Attribut erstellen, das zur Laufzeit Werte basierend auf anderen Daten liefert.

bust in silhouette  Voraussetzungen

  • Rechte zum Konfigurieren von Datenquellen oder Datenbankobjekten

  • Kenntnisse zur gewünschten Berechnungslogik

footprints  Schritte (UI)

1) Menü öffnen

Wechsle zu:
Konfiguration → Datenquellen → Berechnetes Attribut

2) Neuer Eintrag

Klicke auf Neu / Add.

3) Parameter definieren

  • Parameter „intid“ hinzufügen (für die Datensatz-ID)

  • Weitere Parameter je nach Berechnungslogik

4) SQL-Statement eintragen

Gib die SQL-Abfrage an, die den berechneten Wert liefert.
Der Rückgabewert muss zu dem Attributtyp passen.
Image Removed

5) Speichern

6) Im Businessobjekt verknüpfen

Im Businessobjekt-Attributhandling ein neues Attribut anlegen und dort diese Datenquelle als Berechnungsvorschrift verwenden (Schritt 7 im Wizard).

check mark button  Ergebnis prüfen

  • Wert erscheint in Maske zur Laufzeit

  • Wird dynamisch berechnet, nicht gespeichert