mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mo 02.08.2021 08:51 Benutzername: Passwort: Auto-Login

Thema: Acrobat: Werte in ausgewählten Feldern automatisch berechnen vom 13.07.2021


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Tipps & Tricks für Nonprint -> Acrobat: Werte in ausgewählten Feldern automatisch berechnen
Autor Nachricht
Rheinblitz
Threadersteller

Dabei seit: 13.07.2021
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 13.07.2021 14:39
Titel

Acrobat: Werte in ausgewählten Feldern automatisch berechnen

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich habe ein Problem mit einem interaktiven PDF:

das PDF beinhaltet 6 Textfelder und verschiede Dropdownboxen. Pro Zeile zwei Dropdownboxen und ein Textfeld. Im unteren Bereich befindet sich ein weiteres Textfeld mit der Summe. Die Summe ist stets 5 EUR.
Wenn der Benutzer nun die dropdownfelder auswählt, soll in der entsprechenden Zeile die Textbox einen automatisch errechnenten Wert enthalten. Bspw. bei einer Zeile 5 EUR, bei zwei Zeilen 2,5 EUR usw. D. h. der Werte der Summe wird auf die anzahl der verwendeten Zeilen aufgeteilt.
Ich habe viel prbiert, jedoch bekomme ich es nicht hin. Hätte evtl. jemand eine Idee, wie ich das umsetzen könnte?
Ich bin über jede Hilfe dankbar. NAchfolgend nochmal eine kurze Erklärung, um das Vorhaben zu verdeutlichen:

Dropdwn A1 | Dropdown A2 | Summe A1
Dropdwn B1 | Dropdown B2 | Summe B1
Dropdwn C1 | Dropdown C2 | Summe C1
Dropdwn D1 | Dropdown D2 | Summe D1
Dropdwn E1 | Dropdown E2 | Summe E1
Summe F1

Es müssen nicht alle Dropdownfelder vom benutzer ausgefüllt werden. Im folgenden Beispiel hat der Benutzer nur 2 Felder ausgefüllt, die restlichen bleiben unverändert:

Hund | Gesund | 2,50 EUR
Katze | Krank | 2,50 EUR
Dropdwn C1 | Dropdown C2 | Summe C1
Dropdwn D1 | Dropdown D2 | Summe D1
Dropdwn E1 | Dropdown E2 | Summe E1
Total 5,00 EUR
  View user's profile Private Nachricht senden
Mialet

Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 13.07.2021 21:41
Titel

Antworten mit Zitat Zum Seitenanfang

Nur ums besser nachvollziehen zu können …

Es ist wie bei einer Spendenaktion bei der man einen festen Betrag spendet und im Anschluß entscheiden darf, wohin das gespendete Geld fließen soll?

Gebe ich nur einen Empfänger an landet alles bei diesem, bei zweien wird halbiert, bei dreien gedrittelt, Korrekt?


Es wäre deutlich einfacher wenn man dein PDF mal sehen dürfte, denn dann kann ich abschätzen was du tatsächlich bereits probiert hast.

Grundsätzlich wäre mein Ansatz, die Felder "Summe XY“ überhaupt erst erscheinen zu lassen, wenn in der Zeile eines oder gar beide der Dropdownfelder mit Werten befüllt sind. Desweiteren wird die Summenspalte schreibgeschützt, damit man garnicht erst in die Verlegenheit gerät, was anderes hineinzutippen.

Nun kannst du jedem Wert deiner Dropdownlisten unter Eigenschaften: Optionen einen Exportwert zuweisen. Der wäre in deinem Fall bei allem ausser leerem Dropdownfeld eine 0,5 (im PDF muss es AFAIR eine 0.5 sein).

Die Summe würde dann per Javascript berechnet wenn die Summe der 0.5er dieser Zeile 1 ergibt und das Ergebnis wäre 5 geteilt durch die Summe der Exportwertzeilen mit der Summe 1)


Hört sich krude an, verhindert jedoch, dass unvollständig ausgefüllte Zeilen zu einem Ergebnis führen.
Außerdem verhindert die vorherige Abfrage der gesetzten Dropdowneinträge einer Zeile, dass am Anfang eine Division durch 0 stattfindet und dauernd einen Fehler auswirft.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Rheinblitz
Threadersteller

Dabei seit: 13.07.2021
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 15.07.2021 16:24
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich habe eine Beispieldatei angefügt.
Idealerweise wird der "Value" in der entsprechenden Zeile erst berechnet, wenn die "Qty" eingetragen wurde. Im Beispiel zwei Zeilen mit 2,50 EUR und der "Total Value" ist stets gleich mit 5,00 EUR.

Beispiel
  View user's profile Private Nachricht senden
Mialet

Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 18.07.2021 02:26
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
var counter = 0;
for (i=1; i<=5; i++) {
    if (/^\s*$/.test(this.getField("Qty" + i).valueAsString)==false) counter++;
}
if (counter>0 && this.getField("Qty1").value >0 ){
var val1 = 5/counter;
event.value = util.printf("%,2.2f", val1);
} else {
event.value = "";
}


… kommt in das benutzerdefinierte Berechnugnsscript von Val 1.

Code:
if (counter>0 && this.getField("Qty2").value >0 ){

event.value = util.printf("%,2.2f", val1);

} else {
event.value = "";
}


… kommt in die benutzerdefinierten Berechnungsscripte von Val 2 bis Val 5.
Anzupassen ist dabei jeweils das ("Qty2") an den Namen des Zählfeldes in der gleichen Zeile. Obacht! Leerzeichen vereinheitlichen!
  View user's profile Private Nachricht senden
Mialet

Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 18.07.2021 02:51
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab nochmal dran gedreht …

Code:
var counter = 0;
for (i=1; i<=5; i++) {
    if (/^\s*$/.test(this.getField("Qty" + i).valueAsString)==false) counter++;
}
var val1 = totVal/counter;
if (counter>0 && this.getField("Qty1").value >0 ){
event.value = util.printf("%,2.2f", val1);
} else {
event.value = "";
}


…. kommt ins Berechnungsscript von Val 1

und
Code:
var totVal = event.value;


… in das von Total Value

Dann kann Total Value auch ein anderer Wert als 5 sein, und es kann die erste Qty Zeile leer sein und es wird trotzdem ordentlich summiert.


Zuletzt bearbeitet von Mialet am So 18.07.2021 02:53, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Rheinblitz
Threadersteller

Dabei seit: 13.07.2021
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 19.07.2021 14:51
Titel

Antworten mit Zitat Zum Seitenanfang

Vielen Dank! Ich werde es bei Gelegenheit ausprobieren und eine Rückmledung schreiben
  View user's profile Private Nachricht senden
 
Ähnliche Themen aus Remissionswerten Lab-Werte in VBA berechnen
Werte automatisch in Textfeld in PDF einfügen lassen...
Adobe Acrobat (5 -6) Datum automatisch erstellen
in Adobe Acrobat Durchschläge automatisch erstellen
Acrobat interaktives PDF – Cursor automatisch weiter
Automatisch ins nächste Formularfeld springen (Acrobat)
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Tipps & Tricks für Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.