XPath-Selektion von Werten aus der Datenquelle

Um zusätzliche Werte aus der gebundenen Datenquelle des Reports verwenden zu können, kann eine XPath-Query in einem der Felder des Report-Designers definiert werden.
Hierzu kann folgendes Code-Schnipsel im Text-Feld eines Report-Elements verwendet werden:1)

{eBiss.ClassLib.Maps.XPathEvaluator.Evaluate(<Name der Datenquelle>._Current,"<XPath>")}

Die Query und der mit ihr verbundene Aufruf werden dann zur Laufzeit, bei der Generierung des Reports, ausgewertet und der Rückgabewert in das zugehörige Feld geschrieben.
Neben der Abfrage von Attributwerten, werden auch Standard XPath-Funktionen wie „concat()“ und „count()“ unterstützt.

Hinweis: Bei der Formulierung der Query ist darauf zu achten, dass diese in einem einzelnen, elementaren Wert oder einem Attribut resultiert. Liefert die Query hingegen einem Knoten zurück, wird lediglich ein Leerstring zurückgegeben.

Beispiel:

Abfrage des Dateinamen aus dem CustomItem einer eBiss.Industry.Invoic

howto_reportgeneratorselektbsp.jpg

Alternatives Beispiel:

{eBiss.ClassLib.Maps.XPathEvaluator.Evaluate(InventoryMovement._Current, "//Items[@PosNumber=" + Items.PosNumber + "]/CustomItem[@Key='Vorgang']/@Value")}

Hier wird mit einem direkt aus der Datenquelle adressierbaren Datenelement Items.PosNumber eine Referenzierung auf das aktuell iterierte Items Objekt hergestellt und das darin befindliche CustomItem/@Value mit dem XPATH Filter [@Key='Vorgang'] ausgelesen..

1)
Selbstredend werden die hier in <…> stehenden Platzhalter dem spezifischen Bedürfnis angepasst.