[gelöst] Formelgenerator

21. September 2010 08:40

Hallo zusammen,

ich habe folgendes Problem. Ich benötige einen Formelgenerator dieser sollte so flexibel, wenn ein neues Feld in einer Tabelle hinzugefügt wird das er auch mit diesem rechnen kann. Ich muss die Formeln in einer Tabelle Speichern die Funktion soll dann diese Formel holen und die entsprechenden Werte in einer Form Darstellen. Hat das schon mal jemand gemacht?
Gruß Matthias
Zuletzt geändert von Matthias Vismann am 22. September 2010 15:59, insgesamt 1-mal geändert.

Re: Formelgenerator

21. September 2010 09:18

Hallo Matthias,

kannst du mit der von Natalie angepassten Version der Funktion "EvaluateExpression" etwas anfangen?

Re: Formelgenerator

21. September 2010 09:21

Hallo,

haben wir in unserer Branchenlösung. Ist nicht ganz ohne :wink: . Da wirst du schon ein paar Tage damit verbringen, bis das läuft.

Gruß, Fiddi

Re: Formelgenerator

22. September 2010 10:57

Timo Lässer hat geschrieben:Hallo Matthias,

kannst du mit der von Natalie angepassten Version der Funktion "EvaluateExpression" etwas anfangen?


Die angepasste Funktion aus Codeunit 8 klappt super bei mir und eine Vorrangautomatik ist auch schon in der Programmlogik enthalten.

Sprich 1+2*3 = 7 und nicht 9. :-)

Mit Konstanten/Variablen könnte man auch arbeiten, wenn man die Werte einfach mit STRSUBSTNO ersetzt.
Ich habe allerdings Sicherheitshalber den '%' Operator entfernt, da ich ihn nicht unbedingt zwingend nötig fand.

Code:
var:=3;
EvaluateExpression(STRSUBSTNO('1+2*%1', var));


Im OnAfterGetRecord sollte das auch mit Spalten realisierbar sein.
Flexible Spalten sind mit RecRefs/FieldRefs sicher auch machbar.

Oder man baut STRSUBSTNO nach, welches direkt mit "Feldname" in der Formel arbeitet und diese dann durch den entsprechenden Feldwert ersetzt.

mfg,
winfy
Zuletzt geändert von winfy am 22. September 2010 14:12, insgesamt 2-mal geändert.

Re: Formelgenerator

22. September 2010 11:23

@Timo,
@Winfy,

der Formeln auswerten ist das kleinste Problem.
Die Formeln sollen generierbar sein. Die Formeln müssen eingegeben, Felder/Variablen definiert, Feldtypen/-Werte (Konstanten,Eingabefelder,Nachkommastellen..) müssen definiert werden können. Dafür sind schon ein paar Tabellen und Forms/Pages notwendig :wink: . Wenn das ganze dann auch noch dynamisch und /oder in Listenform erfasst werden soll wird der Aufwand noch größer.

Wenn - und ich nehme mal an, dafür ist es gedacht - damit Mengen berechnet werden sollen, dann kommt da noch das Problem mit der "Menge zu Liefern" bzw. "Menge zu berechnen". Gibt man per Formel eine Menge im Auftrag ein, dann muss diese Formel auch für die Liefermengen herangezogen werden. Wenn jetzt noch Teillieferungen/- Rechnungen für so einen Auftrag erstellt werden müssen, dann müssen die Formeln auch noch bei diesen Feldern hinterlegt werden, und das ganze muss dann auch noch in die anderen Belege übertragen werden, damit man diese wieder kopieren kann, um damit neue Aufträge zu erstellen.

Gruß, Fiddi

Re: Formelgenerator

22. September 2010 14:26

Hallo fiddi,

du hast fast Recht. Ich gebe in einer Listform die Formeln ein. Das Ganze hat aber nichts mit Lieferungen zu tun sondern es ist eine Kalkulation und soll so variabel gehalten werden wie möglich.

Gruß Matthias

Re: Formelgenerator

22. September 2010 15:01

Hallo Matthias,

schau dir mal das Tool von mibuso an. Der kann mit Variablen (Feldern) und Funktionen umgehen, und lässt sich hervorragend an eigene Bedürfnisse anpassen

Gruß, Fiddi