In diesem Artikel besprechen wir den Modus der Berechnung von Ausdrücken im Bericht. Eigentlich, es gibt nur zwei Modi – Interpretation (Interpretation) und Kompilation (Compilation). Das sind gemeinsame Konzepte, und heute erfahren wir, was sie innerhalb der Stimulsoft Plattform bedeuten.

Berechnungsmodus des Berichtes

Der Berechnungsmodus des Ausdrucks wird gesondert für jede Vorlage festgelegt. Standardmäßig, beim Erstellen vom neuen Bericht im Stimulsoft Designer wird für ihn Kompilation, und beim Erstellen vom neuen Dashboard – Interpretation verwendet. Da diese Einstellung zur Vorlage gehört, kann man den Verarbeitungs-Modus mit der Eigenschaft der Berichts-Vorlage, die Berechnungsmodus (Calculation Mode) heißt, bearbeiten. Wiederum, der Wert dieses Modus kann entweder Interpretation, oder Kompilation sein. Beachten Sie, dass alle unseren Dashboards im Interpretation-Modus funktionieren.

Welchen Modus muss man auswählen?

Es geht darum, dass für einige Plattformen und, natürlich, auch für unsere Produkte, wird der Kompilation-Modus nicht unterstützt. In diesem Fall werden alle Ausdrücke im Interpretation-Modus verarbeitet werden. Als Ergebnis, zum Beispiel, alles, was lokal funktionierte, wird nicht in der Cloud funktionieren. Und die Rede geht nicht um Fehler im Produkt, sondern um die Sicherheits-Begrenzungen der Services und Plattformen.

Abschluss. Sie müssen sicher wissen, dass die Plattform den Kompilation-Modus unterstützt, bevor Sie den Berechnungs-Modus als Kompilation bestimmen. Standardmäßig, wird der Berechnungs-Modus beim Erstellen vom neuen Bericht in den Produkten, wo Kompilation nicht unterstützt wird, als Interpretation festgelegt. Für Verarbeitung vom Bericht in der Interpretation verwendet unser Berichtsgenerator seinen eigenen Interpreter.

Nebenbei, der Kompilation-Modus wird in folgenden Softwares unterstützt: Reports.Net, Report.Wpf, Reports.Web, Reports.Angular, Report.Blazor (nur für Blazor.Server). In Stimulsoft BI Server, Dashboards.WIN und Dashboards.WEB ist der Kompilation-Modus nur für Berichte relevant.

Registerkarte Code

Da in dem Artikel die Rede um Berechnungs-Modus der Ausdrücke und der Berichts-Verarbeitung geht, muss man auch erwähnen, dass in unserem Berichtsdesigner man den Berichtscode ansehen, der mit dem Compiler oder Interpreter verarbeitet wird. Dafür gibt es in der Applikation die Registerkarte Code, die standardmäßig ausgeblendet ist. Sie können sie aus dem Kontextmenü des Seitenkopfes der Berichtsvorlage aktivieren, dafür kreuzen Sie das Feld des Parameters Code. Zwei wichtige Sachen: erstens, man muss die Kompetenzstufe Professionell (Professional) auswählen. Über die Kompetenzstufen haben wir einen ausführlichen Artikel geschrieben.

Also, nach dem Öffnen von Registerkarte Code muss man im Kontextmenü des Bereiches vom Code-Editor das Feld des Parameters Generierten Code anzeigen (Show auto-generated code) ankreuzen. Der Berichtscode wird generiert, und dieser Code wird danach beim Erstellen mit dem Übersetzer verarbeitet.

Code Tab

Einzelheiten

Jetzt erzählen wir, wie es zu Stimulsoft gehört. Soweit Sie wissen, die Kompilation ist die Programmübersetzung, die auf High-Level-Quellsprache geschrieben ist, ins entsprechende Programm auf Low-Level-Sprache. Man muss auch bemerken, dass zuerst die Code-Analyse verwirklicht wird, und dann die Übersetzung auf die Low-Level-Sprache und danach die Ausführung. Bei der Interpretation werden die Analyse und Ausführung zeilenweise verwirklicht. Aber unser Berichtsgenerator verwendet seinen eigenen Interpreter, und er, leider, kann nicht die Ausdrücke in Ereignissen verarbeiten. Darum werden nicht die Skripten der Ereignisse im Interpretation-Modus funktionieren. Aber die Lösung gibt’s immer, aber darüber erzählen wir unten.

Ereignisse

Beim Erstellen von Berichten gibt es die Möglichkeit, die Ereignisse der Komponenten oder des Berichtes zu verwenden. Anders gesagt, Sie können die Aktion festlegen, die beim Entstehen von bestimmter Situation auslöst. Zum Beispiel, vor Erstellen vom Bericht oder beim Export, oder wenn der Bericht mehr als 10 Zeilen hat. Überhaupt, über die Ereignisse im Bericht können wir zahlreiche Artikel schreiben, aber wissen Sie, dass die Verwendung von Ereignissen und Skripten in ihnen werden nur mit Ihren Erfordernissen zu Berichten begrenzt.

Wichtig!

  1. Das Ereignis ist ein Skript, das beim Entstehen von bestimmter Situation auslöst. Dieses Skript wird auf der Sprache verwendender Software geschrieben. Für Stimulsoft Designer ist die Sprache C# / VB.Net, und, zum Beispiel, für Reports.JS – JavaScript. Darum wird das im Stimulsoft Designer erstellten Skript nicht im Reports.JS ausgeführt.
  2. Unser Berichtsgenerator verwendet seinen eigenen Interpreter, der jetzt nicht die Ausdrücke in Ereignissen verarbeiten kann. Darum werden die Ereignisse im Interpretation-Modus nicht funktionieren.

Was hat Blockly damit zu tun?

Vor kurzem haben wir Google Blockly in unsere Softwares integriert. Diese Möglichkeit erlaubt die Skripten der Ereignisse mit visuellen Blöcken zu erstellen. Beim Entstehen vom Ereignis wird das Skript mit Hilfe von unserer speziellen Bibliothek verarbeitet. Diese Bibliothek kann die mit den Blöcken erstellten Ausdrücke analysieren und berechnen. So werden die mit Verwendung von Blockly erstellten Skripten sowohl in Interpretation, als auch in Kompilation funktionieren. Erstellen von Skripten mit Blöcken ist die Lösung, wenn der Berechnungsmodus des Berichtes als Interpretation festgelegt ist.

Blockly Events
Wichtig!

Beim Erstellen vom Skript mit visuellen Tools wird keine Syntax der Programmiersprache verwendet, und die Verarbeitung vom diesen Skript erfolgt separat für jede Plattform. Das mit Blockly erstellte Skript ist universell und hängt nicht von Software, auf der es realisiert wird, ab. Das ist relevant, zum Beispiel, beim Erstellen vom Bericht im Reports.Net und Rendern in Reports.JS.

Kurz und gut

Also, wir haben über Berechnungsmodus im Bericht erzählt. Und noch einmal kurz beschreiben wir die wichtigsten Punkte:
  • der Berechnungsmodus wird mit der Vorlage-Eigenschaft festgelegt und kann als Interpretation und Kompilation gestellt werden;
  • nicht alle Produkte unterstützen Kompilationsmodus;
  • die Ausdrücke in Skripten wird nicht in Interpretationsmodus verarbeitet;
  • die mit Blockly erstellten Skripten werden sowohl in Interpretation, als auch in Kompilation funktionieren. Diese Skripten hängen nicht von der Plattform und verwendender Programmiersprache ab, und sind universelle Lösung für alle Plattformen.

Wir hoffen, dieser Artikel hilfreich für Sie ist.
By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.