Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Benutzeravatar
schuh
Beiträge: 80
Registriert: 03.01.2017, 13:53
Wohnort: Leverkusen
Kontaktdaten:

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von schuh » 26.06.2017, 14:49

Hallo Acronauten,

Erst einmal wirklich ein herzliches Danke für die vielen guten Tipps, die hier geteilt werden.

Zu meinem Hintergrund: Ich erstelle Formulare für eine Werkstatt für behinderte Menschen und sehe mich als Einsteiger in Sachen FormCalc und JavaScript.

Hier mein Problem:
In Formular1.Inhalt_FRM5081.tf_kalkulation.tbl_kalkulation.Zeile_Fremd.tbl_fremd.Zeile5_fremd gibt es diverse Formeln, die nicht ordentlich funktionieren und Fehlermeldungen produzieren. Ich habe den Verdacht, dass die Felder befüllt sein müssten, damit die Formel ohne Fehlermeldung rechnet. Leider habe ich auch noch nicht so richtig begriffen, wie man Werte aus anderen Feldern in Felder einfügt. das soll im Feld "eigen_anzahl" geschehen.

Sollte es schon Themen hierzu geben, bitte ich um Links, ansonsten gerne um Lösungsansätze... Vielen herzlichen Dank schon im Voraus...

P.S.: Könnte man ein Script für das gesamte Formular definieren, dass Rechnungen zulässt auch wenn nicht alle in der Formel aufgeführten Felder befüllt sind?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von armine » 27.06.2017, 08:56

Hallo Acronaut,

du sollst nicht durch "0" teilen und leere Felder taugen dazu auch nicht. Schau mal, ob’s so funktioniert.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
schuh
Beiträge: 80
Registriert: 03.01.2017, 13:53
Wohnort: Leverkusen
Kontaktdaten:

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von schuh » 27.06.2017, 14:23

Erst einmal vielen Dank, dass Du Dir die viele Arbeit gemacht hast das Problem zu lösen. Gerne versuche ich Deine Lösung nachzuvollziehen.
Leider fehlen die Formeln, die im Feld "Anzahl" Deines Formulars war, nämlich,
  • dass die Anzahl BE (Feld BE bei Gruppengröße...) übernommen werden soll. Hier habe ich glaube ich eine falsche Syntax verwendet, da das nicht klappte
  • dass im Feld "EPreis" des Eigenanteils die Formal hinterlegt war:
    Summe / Anzahl ... Alles bei Eigenanteil wird errechnet und nicht eingegeben...
Genau hier ist ja das Problem:
Die Formeln verlangen strikt, dass Werte eingegeben sind in allen in der Formel genannten Feldern. Bevor ich also ausfüllen kann, meldet das Formular schon eine Fehlermeldung...
Das Formular war vorher in Excel und da wird zwar auch ein DIV/0 gemeldet, aber man kann das Formular ohne Störmeldung bedienen, sodass bei dem Befüllen aller relevanten Felder irgendwann der Fehler verschwand und ein Ergebnis erschien. Am Liebsten wäre mir, wenn das Feld leer bliebe bis es ein verwertbares Ergebnis liefern kann.



armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von armine » 28.06.2017, 10:08

Deinen Ausführungen kann ich zwar nicht wirklich folgen, aber der Kern deines Problems ist wohl, dass du Berechnungen erst dann ausführen kannst, wenn die Werte dafür eingegeben wurden. Als Beispiel kann dir "form1.Inhalt.Tabelle.Zeile[15].SF.Verhältnis::calculate" dienen.

Benutzeravatar
schuh
Beiträge: 80
Registriert: 03.01.2017, 13:53
Wohnort: Leverkusen
Kontaktdaten:

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von schuh » 28.06.2017, 11:05

keiner sagt, dass es einfach ist ;)
Vielleicht kleiner angefragt:
Wie kann ich den Inhalt eines Feldes in ein anderes einfügen? Hier konkret die "Anzahl BE / TN BBB" in das Feld "eigen_anzahl"

Deinen Hinweis gucke ich mir an... habe jetzt erst einmal einen Termin

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von armine » 28.06.2017, 16:51

Du kannst mehreren Feldern den gleichen Namen geben und die Bindung auf "global" stellen. Dann haben die alle den gleichen Wert.
Man kann auch Feldern aus dem Code heraus einen Wert zuweisen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
schuh
Beiträge: 80
Registriert: 03.01.2017, 13:53
Wohnort: Leverkusen
Kontaktdaten:

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von schuh » 29.06.2017, 07:32

Hi,
Das mit den Globalen Daten hat prima funktioniert. Jetzt muss ich nur noch kapieren wie das funktioniert, dass die Formel, die Bezug auf andere berechnete Felder nimmt erst dann rechnet wenn diese befüllt sind.

Aber bis hierhin echt ein herzliches Dankeschön!

Benutzeravatar
schuh
Beiträge: 80
Registriert: 03.01.2017, 13:53
Wohnort: Leverkusen
Kontaktdaten:

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von schuh » 29.06.2017, 09:24

Hallo armine,

Jetzt scheint es zu funktionieren. Vielleicht könntest Du trotzdem einmal schauen, ob die Scripte syntaktisch richtig sind.

Ein Hoch auf die Frauenpower :)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von armine » 01.07.2017, 18:14

Danke, zu viel der Ehre. Die Syntaxprüfung mache ich erst mal im Skript-Editor und abschließend im Acrobat. Das sollte auch bei dir möglich sein.

Benutzeravatar
schuh
Beiträge: 80
Registriert: 03.01.2017, 13:53
Wohnort: Leverkusen
Kontaktdaten:

Formular soll rechnen auch wenn nicht alle Felder befüllt sind

Beitrag von schuh » 01.07.2017, 18:42

werde ich probieren.... ich arbeite mich ja erst ein.. und alles autodidaktisch.... Ich hoffe, dass ich langsam den Status DAU verlasse ;)

Antworten