Berechnungsformel
- Beschreibung
- Besonderheiten bei Verwendung in bedingten Tabellen
- Funktionalität
- Verwandte Themen
- Technische Dokumentation
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.
- allgemeine Übersicht
- Variable einer Formel
- Konstanten
- Operatoren, arithmetische Funktionen
- spezielle Funktionen innerhalb eines Formelausdrucks
- InstantView® und Klasse CX_FORMULA
- Beispiele
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ü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!). |
Symbol | Beschreibung |
---|---|
Neue Berechnungsformel anlegen | |
Änderungen speichern | |
Berechnungsformel löschen | |
Berechnungsformel drucken | |
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) |
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 |
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.
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ü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 |
Symbol | Beschreibung |
---|---|
Neue Berechnungsformel anlegen | |
Berechnungsformel bearbeiten | |
Berechnungsformel löschen | |
Berechnungsformeln drucken | |
Berechnungsformeln exportieren | |
Alle Berechnungsformeln in die Zwischenablage kopieren |
Feld | Beschreibung |
---|---|
Identifikator | Mittels des Identifikators nach einer Formel suchen |
Beschreibung | Mittels der Beschreibung nach einer Formel suchen |
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.
Feld | Beschreibung |
---|---|
Nr. | Nach Formelnummer suchen |
Name | Nach Formelname suchen |
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) |
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
- Index
- Berechnungsformel testen
- Menge/Fixmengen Berechnung in der Stückliste
- Zeitenberechnung im Arbeitsplan
- Bedingten Tabelle
Technische Dokumentation
Übersicht
Berechnungsformel Basismodul
Modulname
formula.mod
Klassen
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.
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 |
Message | Parameter | Funktion | Empfangs-Modul |
---|---|---|---|
EDIT_FORMULA | NULL oder Berechnungsformel-Objekt | Eingabefenster für Berechnungsformel aufrufen | Berechnungsformel-Editiermodul |
Berechnungsformel Editiermodul
Modulname
formuedt.mod
Klassen
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.
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 |
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
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.
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 |
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 |