Zum Hauptinhalt springen
Version: 4.1 (2026-H2)

CodeDataProvider


Der CodeDataProvider liefert die Daten eines Object bzw. einer ObjectCollection über ein JavaScript-Snippet, anstatt sie aus einer externen Quelle (CSV, Excel, SQL, HTTP) zu laden. Er eignet sich, um Einträge berechnet, aus den eingegebenen Suchparametern oder aus dem Connect-Datenkontext bereitzustellen.

Der CodeDataProvider nutzt denselben Mechanismus wie die übrigen DataProvider und steht sowohl im primedocs Desktop Client als auch in primedocs Web zur Verfügung.

Konfiguration

<ObjectCollection Id="Positions" Label="Positionen">
<Schema>
<Text Id="Article" Label="Artikel" />
<Text Id="Amount" Label="Betrag" />
</Schema>
<DataProviders>
<CodeDataProvider DisplayName="Aus Connect-Daten">
<SearchParameters>
<Text Id="Category" Label="Kategorie" field-Value="Data.Category" />
</SearchParameters>
<Code>
function main() {
var category = $("Category");
return [
{ Article: "Beispiel " + category, Amount: "100.00" }
];
}
</Code>
</CodeDataProvider>
</DataProviders>
</ObjectCollection>
hinweis

Im Gegensatz zu den dateibasierten oder HTTP-Providern benötigt der CodeDataProvider kein Mapping: Die Eigenschaften der vom Snippet zurückgegebenen Objekte werden direkt anhand ihres Namens den Schema-Feldern zugeordnet. Verschachtelte Objekte werden mit Punktnotation abgeflacht (z.B. Address.City).

Attribute

AttributBeschreibung
DisplayName / translate-DisplayName (optional)Anzeigename des Providers in der Oberfläche.
ReadOnly (optional)Wenn true: Die über diesen Provider geladenen Felder sind schreibgeschützt.
AutoAddAllEntries (optional)Wenn true: Alle vom Snippet gelieferten Einträge werden automatisch zur Sammlung hinzugefügt.

Elemente

ElementBeschreibung
Code (erforderlich)JavaScript mit einer main()-Funktion, die ein Array von Objekten zurückgibt. Jedes Objekt entspricht einem Eintrag; seine Eigenschaften werden zu Feldern.
SearchParameters (optional)Suchmaske mit Text, Date, YesNo, Choice (wie in Forms). Mit field-Value (Wert aus dem Connect-Datenkontext) bzw. parent-Value (Feld des übergeordneten Objekts) lassen sich Parameter vorbelegen.

JavaScript-API

Innerhalb des Code-Snippets steht das $-Objekt zur Verfügung:

AufrufBeschreibung
$.parameter("Id") bzw. $("Id")Wert eines konfigurierten Suchparameters.
$("Data.Key")Wert aus dem Connect-Datenkontext.
$.parent("FeldId")Wert eines Feldes des übergeordneten Objekts (in verschachtelten Object-/ObjectCollection-Strukturen).
hinweis

Der CodeDataProvider nimmt nicht am Loading-Pfad der ProviderPipeline teil, da er keinen flachen Such-Schritt besitzt, der beim Laden neu zugeordnet werden könnte.