Lade...
 

Berechnungsformel - Vorschriften

Berechnungsformel

Beschreibung

Berechnungsvorschriften, die nicht als Bestandteil eines Programms sondern als vom Anwender erzeugte und verwaltete Daten existieren, werden im ClassiX®-System durch Objekte der Klasse CX_FORMULA repräsentiert.

Bevor eine Formel berechnet werden kann, müssen den in der Formel vorkommenden Variablen Werte zugeordnet werden. Dies erfolgt automatisch mit den Objekten, die vorher im PlugSpace registriert wurden.

Die in einer Formel vorkommenden Variablen können selbst eine Formel oder eine Bedingungstabelle (Objekt CX_CONDITIONED_BAG) repräsentieren.

Das Formel-Objekt kann feststellen, welche Variablen es zur Berechnung benötigt (auch im Falle einer Formel in der Formel usw.).

Das Modul Formel testen konstruiert ein Fenster für die Eingabe der Variablenwerte. Dazu wird ein Objekt der Klasse CX_CONTAINER benutzt - ein Objekt dessen einzige Funktion darin besteht, beliebige dynamische Datenfelder zu halten.

Das Ergebnis einer Formel Berechnung kann ein Wert sein - bei einem arithmetischen Ausdruck - oder TRUE/FALSE als Ergebnis eines logischen Ausdrucks.
Eine Formel, die mit ; endet, liefert keinen Wert.

Achtung:
-
Die Formel rechnet erst beim Beenden / Abschließen der Formel.
- Wertzuweisungen an externen Variablen werden erst beim Beenden der Formel ausgeführt.

 

Besonderheiten bei Verwendung in bedingten Tabellen

Achtung:
Wenn bei bedingten Tabellen in der Bedingung eine Variablendefinition (local a;) vorhanden ist, darf in die Tabelle keine Spalte eingefügt werden, da die Spalten vor der restlichen Bedingung ausgewertet werden und somit mitten in der Bedingung auf einmal eine Trennung durch ein Semikolon entstehen würde!

Die folgende Meldung wird in diesem Fall beim Verlassen der Zeile angezeigt: Operand expected!

Achtung:
Wenn in einer bedingten Tabelle Spalten definiert sind und in der Zusatzbedingung eine ODER Verknüpfung enthalten ist, dann muss die gesamte Zusatzbedingung in Klammern gesetzt werden, da sonst die vorangehenden Bedingungsspalten bei Zutreffen des hinteren ODER Bereiches ignoriert werden!

Beispiel: (rF="rechts steigend"|rF="links fallend")


Funktionalität

Eingabefenster

Dieses Fenster dient der Pflege von Berechnungsformeln. Sie können eine Berechnungsformel auswählen, in dem Sie im Feld Nummer die gewünschte Nummer eingeben und mit RETURN bestätigen. Wenn Sie das Listenfenster aufrufen wollen, dann können Sie den Menüpunkt "Suchen" auswählen.

Über den Menüpunkt ‚Basisdaten – Berechnungsformeln’ gelangen Sie in das entsprechende Suchfenster, in dem alle aktuellen Berechnungsformeln angezeigt werden. 

Mit einem Doppelklick auf einen der Einträge öffnet sich das Fenster ‚Berechnungsformel’ und Sie können den Eintrag bearbeiten. Mit OK speichern Sie die Änderungen ab. 

Mit ‚Neu’ ist es möglich, eine neue Formel zu erstellen. Geben Sie im Feld ‚Nr.’ eine laufende Nummer oder einen Begriff vor und wählen Sie für das Feld ‚Name’ eine sinnvolle Bezeichnung aus. Im Feld ‚Formel’ können Sie nun eine Formel vorgeben, die das System umsetzen soll. 

Über den Punkt ‚Bearbeiten – Formel testen’ können Sie anschließend testen, ob die Formel richtig umgesetzt wird. Mit OK speichern Sie Ihre Eingaben ab.

Menü
Menüpunkt Beschreibung
Bearbeiten -
: Berechnungsformel testen Berechnung einer Formel bedeutet, dass ihr Ausdruck ausgewertet wird. Es öffnet sich dabei ein neues Fenster, in welchem die in der Formel vorkommenden Werte eingegeben werden können. (Formel testen)
: Interne Darstellung Öffnet ein Fenster, das die interne Repräsentation der Formel in Postfix-Notation zeigt. Diese Codierung erlaubt eine sehr schnelle Berechnung. Bei bedingten Ausdrücken werden Bedingung und davon abhängige Terme in if ... fi bzw. if ... else ... fi eingeschlossen, mit fi als "schließende Klammer für jedes if.
: Schließen Fenster schließen
Suchen Listenfenster aufrufen
Beispiele Mit dem Menüpunkt Beispiele bringen Sie eine Liste verschiedener Formeln zur Anzeige, die Sie mit Anklicken auswählen können. Sie können Formeln auch selbst eingeben oder verändern (vor Berechnung mit dem Button Eingabe speichern!).

 

Toolbar
Symbol Beschreibung
new.png Neue Berechnungsformel anlegen
save.png Änderungen speichern
delete.png Berechnungsformel löschen
CX_PRINTER_hardcopy.png Berechnungsformel drucken
CX_TEST_OBJECT.png Berechnung einer Formel bedeutet, dass ihr Ausdruck ausgewertet wird. Es öffnet sich dabei ein neues Fenster, in welchem die in der Formel vorkommenden Werte eingegeben werden können. (Formel testen)

 

Felder/Knöpfe
Feld/Knopf Beschreibung
Formelbeschreibung  
: Identifikator Eindeutiger Bezeichner der Formel
: Beschreibung Beschreibung, was die Formel berechnet
Formelausdruck  
: Formelausdruck Angabe der Berechnungsvorschriften der Formel. Hinweise zur Syntax werden oben im Text beschrieben

 

Knöpfe
Knopf Beschreibung
OK Änderungen an der Berechnungsformel werden gespeichert. Wenn keine Änderungen getätigt wurden ist der Knopf gesperrt.
Neu Das Eingabefenster wird geleert.
Löschen Die angezeigte Berechnungsformel wird gelöscht.
Schließen Das Fenster wird geschlossen, ohne Änderungen zu speichern. Wenn Sie die Änderungen sichern wollen, so müssen Sie den Knopf "OK" drücken.



Editor Fenster

Dieses Fenster dient der strukturierten Pflege einer Formel mittels eines speziellen XML Controls.

Felder/Knöpfe
Feld/Knopf Beschreibung
Transformieren Der Formelausdruck wird strukturiert aufbereitet
Bearbeiten/Ansicht Ändern des Modus zwischen Ansicht und Bearbeiten der Formel mittels des Controls
Eigenschaften Anzeige der Eigenschaften des XMLEdit Controls


 

Listenfenster

Menü
Menüpunkt Beschreibung
Bearbeiten -
: Datenaustausch  
: : Exportieren Exportiert die markierten Berechnungsformeln in eine anzugebende Export-Ascii Datei
: : Importieren Importiert die in der auszuwählenden Datei enthaltenen Berechnungsformeln. Sollten diese schon vorhanden sein, werden diese nur aktualisiert

 

Toolbar
Symbol Beschreibung
new.png Neue Berechnungsformel anlegen
open.png Berechnungsformel bearbeiten
delete.png Berechnungsformel löschen
CX_PRINTER_hardcopy.png Berechnungsformeln drucken
save.png Berechnungsformeln exportieren
copytoclipboard.png Alle Berechnungsformeln in die Zwischenablage kopieren

 

Suchfelder
Feld Beschreibung
Identifikator Mittels des Identifikators nach einer Formel suchen
Beschreibung Mittels der Beschreibung nach einer Formel suchen

 

Knöpfe
Knopf Beschreibung
Bearbeiten Die aktuelle Berechnungsformel wird im Eingabefenster angezeigt.
Neu Ein leeres Eingabefenster wird geöffnet.
Löschen Die ausgewählte Berechnungsformel wird gelöscht.
Schließen Das Fenster wird geschlossen.

 

Selektionsfenster

Dieses Fenster dient der Selektion einer Berechnungsformel.

Suchfelder
Feld Beschreibung
Nr. Nach Formelnummer suchen
Name Nach Formelname suchen

 

Knöpfe
Knopf Beschreibung
OK Das selektierte Berechnungsformel-Objekt wird übernommen.
Schließen Die Selektion wird abgebrochen.



Beispiele

Die vorbereiteten Beispiele benutzen folgende Variablen:

l Länge (Klasse CX_VALUE)
b Breite (Klasse CX_VALUE)
ma Materialart (Enumeration)
ID Position einer technischen Komponente (Enumeration)
d Datum (Klasse CX_DATE)
t Zeit (Klasse CX_TIME)
comment ein Kommentar als Zeichenkette (String)

 

 Felder
Feld Beschreibung
Einfache Formeln Arithmetische Ausdrücke werden berechnet.
Zuweisungen Einer Variablen wird ein Wert zugewiesen. Dies kann der Hauptzweck der Formel sein, die auch nicht unbedingt ein Ergebnis liefern muss.
Falls...dann... Auch Bedingungen werden als Ausdrücke aufgefasst.
Beachten Sie: Die letzten drei Zeilen zeigen verschiedene Schreibweisen für die gleiche Berechnungsvorschrift

 

Verwandte Themen

 


Technische Dokumentation

Übersicht

 

formula.bmp (8118 Byte)

Berechnungsformel Basismodul

Modulname

formula.mod

Klassen

CX_FORMULA

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
FORMULA_CHANGED Berechnungsformel-Objekt Berechnungsformel wurde geändert  
FORMULA_CREATED Berechnungsformel-Objekt Berechnungsformel wurde erzeugt  
FORMULA_DELETED Berechnungsformel-Objekt Berechnungsformel wurde gelöscht  

 

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
EDIT_FORMULA NULL oder Berechnungsformel-Objekt Eingabefenster für Berechnungsformel aufrufen Berechnungsformel-Editiermodul

 

Berechnungsformel Editiermodul

Modulname

formuedt.mod

Klassen

CX_FORMULA

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
EDIT_FORMULA NULL oder Berechnungsformel-Objekt Eingabefenster für Berechnungsformel aufrufen  
FORMULA_CHANGED Berechnungsformel-Objekt Berechnungsformel wurde geändert  
FORMULA_CREATED Berechnungsformel-Objekt Berechnungsformel wurde erzeugt  
FORMULA_DELETED Berechnungsformel-Objekt Berechnungsformel wurde gelöscht  
FORMULA_SELECTED Berechnungsformel-Objekt Berechnungsformel wurde selektiert  
LIST_FORMULA Collection Berechnungsformel-Objekte oder NULL Listenfenster für Berechnungsformel aufrufen  
LOAD_FORMULA   Berechnungsformel importieren  

 

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
EDIT_FORMULA NULL oder Berechnungsformel-Objekt Eingabefenster für Berechnungsformel aufrufen Berechnungsformel-Editiermodul
FORMULA_CHANGED Berechnungsformel-Objekt Berechnungsformel wurde verändert  
FORMULA_CREATED Berechnungsformel-Objekt Berechnungsformel wurde erzeugt  
FORMULA_DELETED Berechnungsformel-Objekt Berechnungsformel wurde gelöscht  
LIST_FORMULA   Listenfenster für Berechnungsformel aufrufen Berechnungsformel-Editiermodul
SHOW_FORMULA_SAMPLES X-Position, Y-Position, Empfänger der Antwort Beispiele für Berechnungsformeln  
SHOW_PREVIEW Widget Druckvorschau Druckvorschau
TEST_FORMULA Formel-Objekt Formel testen Modul Formel testen

 

Berechnungsformel Selektionsmodul

Modulname

formusel.mod

Klassen

CX_FORMULA

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
FORMULA_CHANGED Berechnungsformel-Objekt Berechnungsformel wurde geändert  
FORMULA_CREATED Berechnungsformel-Objekt Berechnungsformel wurde erzeugt  
FORMULA_DELETED Berechnungsformel-Objekt Berechnungsformel wurde gelöscht  
SELECT_FORMULA Collection Berechnungsformel-Objekte oder NULL, Empfänger der Antwort Selektionsfenster für Berechnungsformel aufrufen  

 

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
EDIT_FORMULA NULL oder Berechnungsformel-Objekt Eingabefenster für Berechnungsformel aufrufen Berechnungsformel-Editiermodul
FORMULA_SELECTED Berechnungsformel-Objekt, Empfänger Berechnungsformel wurde selektiert

 

Operativer Betrieb