Acronaut Diskussions Forum Home

Freies User Forum für

ADOBE® ACROBAT®

Navigation
Nicht angemeldet

Login | Registrieren 

  

Suche

Erweiterte Suche

Newsletter

Mitgliederliste

Kalender

Moderatoren/Partner

Hilfe

Banner

Kontakt/Impressum
JavaScript für Anfänger
 Moderiert von: acronaut Produkt: Adobe Acrobat Professional Version nicht definiert  

Neue Diskussion

Antworten

Drucken
VerfasserBericht
JoeBlack_1
Member
 

Eintragen seit: 16 Jul 2017
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 17 Jul 2017 17:33

Text übernehmen

Antworten
Hallo, das ist mein erster Versuch in JavaScript. Ich möchte das mir eine "Finanznote" angezeigt wird. Diese wird anhand einer Formel in % "Finanznote in%" angegeben. bei <= 30% sollen die Note 6 erscheinen bei <= 40% 5,5 usw.
Ich bin jetzt schon 3h am suchen..:-(
Ich hoffe das mir jemand den Fehler aufzeigen kann.

var Summe = this.getField("Prozent_Ist_Leben").value ;


if (Summe <= 0.3)
{this.getField("Finanznote_Leben").value = 6,0; }

else
if (Summe <= 0.4)
{this.getField("Finanznote_Leben").value = 5,5; }

else
if (Summe <= 0.5)
{this.getField("Finanznote_Leben").value = 5,0; }

else
if (Summe <= 0.59)
{this.getField("Finanznote_Leben").value = 4,5; }

else
if (Summe <= 0.67)
{this.getField("Finanznote_Leben").value = 4,0; }

else
if (Summe <= 0.75)
{this.getField("Finanznote_Leben").value = 3,5; }

else
if (Summe <= 0.81)
{this.getField("Finanznote_Leben").value = 3,0; }

else
if (Summe <= 0.87)
{this.getField("Finanznote_Leben").value = 2,5; }

else
if (Summe <= 1.0)
{this.getField("Finanznote_Leben").value = 2,0; }


else
if (Summe >= 1.01)
{this.getField("Finanznote_Leben").value = 2,0; }
;

Anlage: Übersicht2.PNG (57 Mal aufgenommen)

Letzte Änderung am 17 Jul 2017 17:34 von JoeBlack_1

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 469
Status:  Offline
 Geschrieben: 18 Jul 2017 08:50

Text übernehmen

Antworten
Als numerischer Wert ist 6,0 nicht erlaubt, man muss 6.0 verwenden.

Bernd Alheit

JoeBlack_1
Member
 

Eintragen seit: 16 Jul 2017
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 18 Jul 2017 11:20

Text übernehmen

Antworten
Danke für die Hilfe. Ich habe die Werte geändert auf "." Aber das Feld wird nicht aktualisiert....

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 469
Status:  Offline
 Geschrieben: 18 Jul 2017 12:49

Text übernehmen

Antworten
Wo ist der Code hinterlegt?

JoeBlack_1
Member
 

Eintragen seit: 16 Jul 2017
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 18 Jul 2017 17:56

Text übernehmen

Antworten
Den Code habe ich im Textfeld" Finanznote_Leben" unter der --> Eigenschaft --> Berechnung--> Befutzer def. Berechnungsscript hinterlegt.

Anlage: Unbenannt3.PNG (49 Mal aufgenommen)

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 469
Status:  Offline
 Geschrieben: 19 Jul 2017 07:37

Text übernehmen

Antworten
Wenn sich der Inhalt des Feldes "Prozent_Ist_Leben" ändert und der des Feldes "Finanznote_Leben" nicht, dann stimmt die Berechnungsreihenfolge nicht.

JoeBlack_1
Member
 

Eintragen seit: 16 Jul 2017
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 19 Jul 2017 17:59

Text übernehmen

Antworten
Hallo, ich habe die Reihenfolge mal geändert siehe Bild. Trotzdem bleibt das Feld Finanznote_Leben fest. Der Wert Prozent_Finanznote_Leben ändert sich immer und passt auch.

var Summe = this.getField("Prozent_Finanznote_Leben").value;


if (Summe >= 1.01)
{this.getField("Finanznote_Leben").value = 2.0; }

else
if (Summe <= 1.0)
{this.getField("Finanznote_Leben").value = 2.0; }

else
if (Summe <= 0.87)
{this.getField("Finanznote_Leben").value = 2.5; }

else
if (Summe <= 0.81)
{this.getField("Finanznote_Leben").value = 3.0; }

else
if (Summe <= 0.75)
{this.getField("Finanznote_Leben").value = 3.5; }

else
if (Summe <= 0.67)
{this.getField("Finanznote_Leben").value = 4.0; }

else
if (Summe <= 0.59)
{this.getField("Finanznote_Leben").value = 4.5; }

else
if (Summe <= 0.5)
{this.getField("Finanznote_Leben").value = 5.0; }

else
if (Summe <= 0.4)
{this.getField("Finanznote_Leben").value = 5.5; }


else
if (Summe <= 0.3)
{this.getField("Finanznote_Leben").value = 6.0; }
;




Anlage: Unbenannt.png (46 Mal aufgenommen)

Letzte Änderung am 19 Jul 2017 18:06 von JoeBlack_1

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2313
Status:  Offline
 Geschrieben: 20 Jul 2017 07:08

Text übernehmen

Antworten
Hallo JoeBlack_1,

statt nichtssagenden Screenshots solltest du dein PDF hochladen. Dann kann man nämlich sehen, was falsch läuft und braucht nicht zu raten.

vg armine

Anlage: JoeBlack_1.pdf (2 Mal aufgenommen)

BAlheit
Member
 

Eintragen seit: 15 Aug 2013
Herkunft:  
Berichte: 469
Status:  Offline
 Geschrieben: 20 Jul 2017 08:21

Text übernehmen

Antworten
Ich meine die Feldberechnungsreihenfolge unter "Mehr".

JoeBlack_1
Member
 

Eintragen seit: 16 Jul 2017
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 20 Jul 2017 10:13

Text übernehmen

Antworten
Hallo,hier mal die PDF...

Danke schon mal im Voraus :-)

JoeBlack_1
Member
 

Eintragen seit: 16 Jul 2017
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 20 Jul 2017 10:13

Text übernehmen

Antworten
Hallo,hier mal die PDF...

Danke schon mal im Voraus :-)

Anlage: Test V5.31 Ipad Analyse+Finanzrad+Finanznote.pdf (3 Mal aufgenommen)

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2313
Status:  Offline
 Geschrieben: 20 Jul 2017 14:58

Text übernehmen

Antworten
Hallo JoeBlack_1,

die gute Nachricht: An der Berechnung der Note liegt es nicht.
Trotzdem habe ich den Code unter Verzicht auf unnötiges neu geschrieben.

Wenn du in "Prozent_Ist_Leben" manuell einen Wert eingibst, wird die "Finanznote_Leben" richtig berechnet – nachdem man sechs Fehlermeldungen weggeklickt hat, steht im Debugger:

f is null
TypeError: f is null
f is null
TypeError: f is null
f is null
TypeError: f is null
f is null
TypeError: f is null
f is null
TypeError: f is null
f is null
TypeError: f is null

Da kannst du nun weitermachen.

vg armine

Anlage: Test V5.31 Ipad Analyse+Finanzrad+Finanznote1.pdf (2 Mal aufgenommen)

JoeBlack_1
Member
 

Eintragen seit: 16 Jul 2017
Herkunft: Deutschland
Berichte: 7
Status:  Offline
 Geschrieben: 20 Jul 2017 18:20

Text übernehmen

Antworten
Danke für die Antwort.
Die Fehlermeldungen kommen wohl daher, weil ich das komplette Formular zurück setzten kann und dann in den Feldern 0 drin steht.
Ich habe deine Formel in mein PDF kopiert. Doch bei mir wird immer die Finanznote ausgegeben von der Berechnung des letzten Wertes, aber nicht vom aktuellen Wert.

Mein PDF hat 10MB komplett, aber ich kann nur 5Mb bei Acronaut hochladen sonst würde ich alle Seiten mal hochladen.
Als ZIP sind es immer noch 5,5MB
Oder gibt es eine andere Möglichkeit ?

Ich bin dir sehr dankbar für deine Hilfe!

armine
Administrator
 

Eintragen seit: 15 Mai 2009
Herkunft:  
Berichte: 2313
Status:  Offline
 Geschrieben: 24 Jul 2017 08:44

Text übernehmen

Antworten
Hallo JoeBlack_1,

da habe ich Glück gehabt, dass du nicht die ganze Datei hochladen kannst.
Deine Vermutung zu " TypeError: f is null" mag zutreffend sein, im Internet kannst du die weitere Anregungen zum Abstellen der Fehlerursache holen (vgl. https://answers.acrobatusers.com/custom-calculation-script-q190255.aspx .

Dass bei der Berechnung der Note nicht auf den aktuellen Ausgangswert zurückgegriffen wird, kannst du durch Ändern der Berechnungsreihenfolge beheben.

vg armine


 Uhrzeit 23:08





Powered by WowBB 1.7 - Copyright © 2003-2006 Aycan Gulez
Seite erstellt in 0.1136 Sekunden (28% DB + 72% PHP). 18 verarbeitete Abfragen.