Stimulsoft ist die Plattform für Datenvisualisierung, Erstellen von Berichten und analytischen Dashboards. Eine der Schlüsselfähigkeiten der Produkte ist die Möglichkeiten, benutzerdefinierte Logik der Datenverarbeitung, Steuern der Visualisierung und Benutzer-Interaktion hinzuzufügen.
Historisch wurde zusätzliche Logik mithilfe von Skript-Programmiersprachen implementiert. Abhängig vom verwendeten Stimulsoft-Produkt kamen dabei C#, VB.NET oder JavaScript zum Einsatz. Die Unterstützung einer bestimmten Sprache hängt von der jeweiligen Laufzeitumgebung ab: Berichte mit in C# geschriebener Logik funktionieren beispielsweise nicht in Node.js-basierten Produkten, was die Migration solcher Lösungen zwischen verschiedenen Plattformen erheblich erschwert.
Um die Vielseitigkeit zu erhöhen, wurde die Integration von Google Blockly – einer visuellen No-Code-Programmierplattform – eingeführt. Diese Lösung ermöglicht es, Skripte in Form von Blöcken zu erstellen, ohne manuell Code schreiben zu müssen. Obwohl die Blockly-Funktionalität bereits seit einiger Zeit in Stimulsoft-Produkten vorhanden ist, gewinnt die No-Code-Programmierung durch die zunehmende Beliebtheit solcher Lösungen weiter an Relevanz. Daher lohnt sich ein genauerer Blick auf die Möglichkeiten der No-Code-Entwicklung in Berichten und Dashboards.
Derzeit werden Skripte in Stimulsoft in folgenden Fällen verwendet:
In all diesen Szenarien gibt es zwei mögliche Implementierungsansätze:
Ab der Version 2025.3.1 im Interpretation-Modus wurde die Möglichkeit hinzugefügt, die Skripte in Programmiersprache auszuführen. Außerdem, die Skripte können innerhalb der Ausdrücke mit dem Operator return verwendet werden. Aber werden das Erstellen von Skripten mit Blockly direkt in den Ausdrücken zur Zeit nicht unterstützt.
Wichtige Vorteile:
Das Umschalten zwischen dem Code-Modus und dem Blockly-Modus erfolgt über die Schaltflächen „Schalten auf Blockly“ und „Schalten auf Code“.
Beim Erstellen von Skripten in benutzerdefinierten Funktionen muss der Funktionseditor geöffnet werden, zum Tab „Blockly-Skript“ gewechselt und auf „Mit Blockly bearbeiten“ geklickt werden.
Der Editor bietet folgende Komponenten:
Blöcke werden einfach per Drag-and-Drop in den Arbeitsbereich eingefügt.

Beim Erstellen eines Skripts in benutzerdefinierten Funktionen ist eine zusätzliche Kategorie verfügbar:
Jetzt wird im Berichtskomponente Text1 der Wert "Hello, World!" angezeigt.

Die Verwendung von Blockly in Stimulsoft-Skripten erweitert die Möglichkeiten zur Anpassung der Berichts- und Dashboard-Logik erheblich, ohne dass manueller Code erforderlich ist. Dies erhöht die Vielseitigkeit und Sicherheit der Lösungen und sorgt für plattformübergreifende Kompatibilität. Die Einführung eines visuellen Skripteditors vereinfacht die Arbeit sowohl für Techniker als auch für Business-Anwender, da die Einstiegshürde für die Erstellung interaktiver Berichte gesenkt wird. Somit wird der No-Code-Ansatz zu einem wichtigen Werkzeug zur Steigerung der Effizienz und Flexibilität der Entwicklung in Stimulsoft.
Historisch wurde zusätzliche Logik mithilfe von Skript-Programmiersprachen implementiert. Abhängig vom verwendeten Stimulsoft-Produkt kamen dabei C#, VB.NET oder JavaScript zum Einsatz. Die Unterstützung einer bestimmten Sprache hängt von der jeweiligen Laufzeitumgebung ab: Berichte mit in C# geschriebener Logik funktionieren beispielsweise nicht in Node.js-basierten Produkten, was die Migration solcher Lösungen zwischen verschiedenen Plattformen erheblich erschwert.
Um die Vielseitigkeit zu erhöhen, wurde die Integration von Google Blockly – einer visuellen No-Code-Programmierplattform – eingeführt. Diese Lösung ermöglicht es, Skripte in Form von Blöcken zu erstellen, ohne manuell Code schreiben zu müssen. Obwohl die Blockly-Funktionalität bereits seit einiger Zeit in Stimulsoft-Produkten vorhanden ist, gewinnt die No-Code-Programmierung durch die zunehmende Beliebtheit solcher Lösungen weiter an Relevanz. Daher lohnt sich ein genauerer Blick auf die Möglichkeiten der No-Code-Entwicklung in Berichten und Dashboards.
Verwendung von Skripten
In früheren Versionen der Stimulsoft-Produkte wurden Skripte ausschließlich in den Ereignissen der Berichtskomponenten und der Berichtsvorlage selbst verwendet. Später wurde im Dashboard ein Schaltfläche-Element (Button) eingeführt, das die Aktionen durch ein Benutzer-Ereignis ausgeführt werden kann. Noch neuer ist die Möglichkeit, eigene Funktionen zu erstellen und sie innerhalb der Vorlage zu verwenden.Derzeit werden Skripte in Stimulsoft in folgenden Fällen verwendet:
- Zur Behandlung von Ereignissen von Komponenten und Vorlagen;
- Für die Logik, die mit dem Schalfläche-Element in einem Dashboard verknüpft ist;
- Zur Verwendung benutzerdefinierter Funktionen.
In all diesen Szenarien gibt es zwei mögliche Implementierungsansätze:
- Das Schreiben von Skripten in einer unterstützten Programmiersprache;
- Das Erstellen eines Skripts mit Blockly, einem visuellen No-Code-Logik-Builder.
Ab der Version 2025.3.1 im Interpretation-Modus wurde die Möglichkeit hinzugefügt, die Skripte in Programmiersprache auszuführen. Außerdem, die Skripte können innerhalb der Ausdrücke mit dem Operator return verwendet werden. Aber werden das Erstellen von Skripten mit Blockly direkt in den Ausdrücken zur Zeit nicht unterstützt.
Was ist Blockly und wie verwendet man es in Stimulsoft
Blockly ist eine Bibliothek von Google, die es ermöglicht, Skripte durch das visuelle Verbinden logischer Blöcke zu erstellen. Jeder Block stellt eine Konstruktion wie eine Bedingung, Schleife, Operation, Variable usw. dar. Im Kontext der Produktlinien Stimulsoft Reports und Stimulsoft Dashboards bietet die Verwendung von Blockly den Zugang zur Programmierlogik in einem No-Code-Format, was bedeutet, dass kein manuelles Schreiben vom Code erforderlich ist.Wichtige Vorteile:
- Vielseitigkeit: Mit Blockly erstellte Skripte funktionieren in allen Stimulsoft-Produkten – unabhängig von der Plattform;
- Sicherheit: Blockly bietet einen begrenzten, kontrollierten Satz an Logikbausteinen. Bestimmte Funktionen sind bewusst eingeschränkt, um das Risiko der Ausführung unsicherer oder kritischer Codes zu minimieren;
- Zugänglichkeit: Skripte können ohne Kenntnisse von Programmiersprachen erstellt werden, was das Tool besonders für Analysten und Business-Anwender attraktiv macht. Ein grundlegendes Verständnis von Algorithmen und Logik wird jedoch empfohlen.
Öffnen vom Blockly-Editor
Abhängig von der Methode der Erstellung von Skripten in einem Bericht wird der Editor in einem bestimmten Modus geöffnet. Ein Modus wird für das Schreiben von Skripten in Programmiersprachen verwendet, ein anderer für die Arbeit mit Blockly. Die Auswahl des Editor-Modus für Ereignisse und das Dashboards-Element „Schaltfläche“ hängt vom Parameter Standard-Skript-Modus im Optionen-Fenster des Berichtsdesigners ab. Dieser Parameter bestimmt, welcher Editor standardmäßig verwendet wird, und kann einen der folgenden Werte haben:- Code - Der Editor zum manuellen Schreiben vom Code wird verwendet.
Ausnahme: wenn die Vorlage den Berechnungsmodus Interpretation verwendet und die Eigenschaft Skripts-Ausführen erlauben (Allow Scripts to Run) auf Falsch gesetzt ist, wird der Editor nicht aktiviert; - Blöcke - der Blockly-Editor wird immer gestartet, unabhängig von anderen Parametern;
- Auto - der Standardwert. Der Code-Editor wird standardmäßig geöffnet, außer in den folgenden Fällen:
- Die Vorlage befindet sich im Interpretationsmodus, und „Skripts-Ausführen erlauben“ ist auf „Falsch“ gesetzt;
- Die Vorlage enthält bereits mindestens ein mit Blockly erstelltes Skript – in diesem Fall wird der Blockly-Editor automatisch geöffnet.
Das Umschalten zwischen dem Code-Modus und dem Blockly-Modus erfolgt über die Schaltflächen „Schalten auf Blockly“ und „Schalten auf Code“.
Beim Erstellen von Skripten in benutzerdefinierten Funktionen muss der Funktionseditor geöffnet werden, zum Tab „Blockly-Skript“ gewechselt und auf „Mit Blockly bearbeiten“ geklickt werden.
Blockly-Skript-Editor
Kurzer Überblick über den Blockly-Skript-Editor.Der Editor bietet folgende Komponenten:
- Blöcke, gruppiert nach Kategorien (Logik, Loops, Variablen usw.);
- Arbeitsbereich, in dem das Skript erstellt wird;
- Schaltflächen „Speichern“ und „Öffnen“, mit denen das aktuelle Skript in eine Datei gespeichert oder aus einer Datei geladen werden kann – nützlich zur Wiederverwendung in anderen Berichten;
- Zoom-Schaltflächen, um den Maßstab des Arbeitsbereichs anzupassen;
- Papierkorb, in den unerwünschte Blöcke gezogen werden können. Das Wiederherstellen von Blöcken aus dem Papierkorb wird unterstützt;
- „Schalten auf Code“-Schaltfläche, um in den manuellen Schreibmodus zu wechseln;
- Schaltflächen OK und Abbrechen, um Änderungen am Skript zu übernehmen oder zu verwerfen.
Blöcke werden einfach per Drag-and-Drop in den Arbeitsbereich eingefügt.

Beschreibung der Blockkategorien
Wie bereits erwähnt, sind alle Blöcke in Kategorien unterteilt. Blöcke aus verschiedenen Kategorien können innerhalb eines einzelnen Skripts kombiniert werden. Hier ist ein kurzer Überblick über die einzelnen Kategorien:- Objekte - enthält Blöcke zur Arbeit mit Berichtsobjekten, z. B. Auswahl einer Komponente, Lesen (Setzen) und Schreiben (Abrufen) ihrer Eigenschaften;
- Visuelle Elemente - enthält Blöcke zur Gestaltung des visuellen Erscheinungsbildes, z. B. Farbauswahl oder Rundungseinstellungen;
- Daten - enthält Blöcke zur Arbeit mit Berichtsdatensätzen, z. B. Datenabruf aus einer Spalte oder Datenquelle anhand des Namens;
- Variablen - enthält Blöcke zur Arbeit mit Berichtsvariablen, z. B. Lesen (Setzen) und Schreiben (Abrufen) einer Variablen;
- Prozess - enthält Blöcke zur Steuerung von Abläufen, z. B. Öffnen eines Hyperlinks, Zurücksetzen aller Filter oder Aktualisieren des Viewers;
- Funktionen - enthält Blöcke zur Arbeit mit integrierten Funktionen. Diese sind wie im Wörterbuch in Kategorien gruppiert, und jede Funktion wird als separater Block dargestellt;
- Logik - enthält Blöcke zum Erstellen von Bedingungen und Verzweigungen, z. B. Vergleichs- und Wenn-Blöcke;
- Loops - enthält Blöcke zur Erstellung von Schleifen im Skript, z. B. für und während-Schleifen;
- Math - enthält Blöcke für mathematische Operationen, z. B. Addition oder Quadratwurzel;
- Text - enthält Blöcke zur Arbeit mit Zeichenketten, z. B. Stringlänge bestimmen oder Teilstrings suchen;
- Listen - enthält Blöcke zur Arbeit mit Listen, z. B. Listen erstellen oder sortieren;
- Lokale Variable - enthält Blöcke zur Arbeit mit lokalen Variablen, deren Gültigkeit auf das aktuelle Skript beschränkt ist. Im Gegensatz zu Berichtsvariablen sind diese in anderen Berichtsteilen nicht verfügbar.
Beim Erstellen eines Skripts in benutzerdefinierten Funktionen ist eine zusätzliche Kategorie verfügbar:
- Benutzerdefinierte Funktion – enthält einen Block für den Rückgabeoperator
return
. Bei Skripten in benutzerdefinierten Funktionen ist die Verwendung vonreturn
zwingend erforderlich. Ohne diesen funktioniert das Skript nicht.
Erstes Blockly-Skript
Lassen Sie uns in der Praxis unser erstes Blockly-Skript Schritt für Schritt erstellen:- Starten Sie den Berichtsdesigner;
- Erstellen Sie einen leeren Bericht;
- Fügen Sie dem Bericht eine Textkomponente hinzu;
- Markieren Sie den Bereich der Berichtsvorlage (graue Zone zwischen Seite und Eigenschaftenbereich) oder klicken Sie auf der Registerkarte Bericht (Report) auf die Schaltfläche Eigenschaften (Properties);
- Wechseln Sie im Eigenschaftenbereich zu den Ereignissen des Berichts;
- Klicken Sie beim Ereignis Rendern auf die Schaltfläche Durchsuchen (Browse);
- Falls der Editor im Code-Modus geöffnet wird, wechseln Sie in den Blockly-Modus;
- Fügen Sie aus der Kategorie Objekte (Objects) den Block "Set Property, of, to" in den Arbeitsbereich ein;
- Fügen Sie aus der Kategorie Objekte einen Block mit der Komponentenliste hinzu und docken Sie ihn im Block "Eigenschaft erhalten des Objektes zu" im Abschnitt "zu" an;
- Wählen Sie in dem Block mit der Komponentenliste die Textkomponente aus, z. B. Text1;
- Geben Sie im Abschnitt "Eigenschaft festlegen" den Wert "Text" ein;
- Fügen Sie aus der Kategorie Text einen Block zur Texteingabe hinzu und docken Sie ihn im Block "Eigenschaft erhalten des Objektes zu" im Abschnitt "zu" an;
- Geben Sie im Abschnitt "zu" den Zeichenkettenwert ein, z. B. "Hello, World!";
- Klicken Sie im Skript-Editor auf die Schaltfläche OK;
- Wechseln Sie zur Registerkarte Vorschau (Preview), um den Bericht zu rendern.
Jetzt wird im Berichtskomponente Text1 der Wert "Hello, World!" angezeigt.

Die Verwendung von Blockly in Stimulsoft-Skripten erweitert die Möglichkeiten zur Anpassung der Berichts- und Dashboard-Logik erheblich, ohne dass manueller Code erforderlich ist. Dies erhöht die Vielseitigkeit und Sicherheit der Lösungen und sorgt für plattformübergreifende Kompatibilität. Die Einführung eines visuellen Skripteditors vereinfacht die Arbeit sowohl für Techniker als auch für Business-Anwender, da die Einstiegshürde für die Erstellung interaktiver Berichte gesenkt wird. Somit wird der No-Code-Ansatz zu einem wichtigen Werkzeug zur Steigerung der Effizienz und Flexibilität der Entwicklung in Stimulsoft.
Mehr erfahren Sie, indem Sie sich unsere Anleitungsvideos auf unserem YouTube-Kanal ansehen.