Autor |
Nachricht |
gotoAndHelp
Threadersteller
Dabei seit: 09.03.2010
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst So 27.01.2019 19:14
Titel MwSt-Berechnung in Javascript umwandeln |
 |
|
Hallo!
Für ein Berechnungsformular in Acrobat bräuchte ich diese beiden Berechnungen in JavaScript. Leider kann ich kein Java.
Wäre jemand so hilfsbereit und könnte mir diese beiden Berechnungen in Java umwandeln?
ZwischensummeBrutto*100/(Mwst+100)
und
ZwischensummeNetto+(ZwischensummeNetto*Mwst/100)
1000 Dank im Voraus!!!
|
|
|
|
 |
Mialet
Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.01.2019 12:46
Titel Re: MwSt-Berechnung in Javascript umwandeln |
 |
|
gotoAndHelp hat geschrieben: | Hallo!
Für ein Berechnungsformular in Acrobat bräuchte ich diese beiden Berechnungen in JavaScript. Leider kann ich kein Java.
|
Also funktioniert dein Feldinhalt in Eigenschaften - Berechnung nicht mit dem 2. Unterpunkt:
Wert ist das Produkt der Felder ...
?
Warum? Weil du kein Feld mit dem Mehrwertsteuersatz hast? Das kannst du doch unsichtbar irgendwo einbauen.
|
|
|
|
 |
Anzeige
|
|
 |
Mialet
Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.01.2019 13:14
Titel Re: MwSt-Berechnung in Javascript umwandeln |
 |
|
gotoAndHelp hat geschrieben: |
ZwischensummeBrutto*100/(Mwst+100)
und
ZwischensummeNetto+(ZwischensummeNetto*Mwst/100)
|
1. Feld:
Code: | var NettovomBrutto = Number(this.getField("ZwischensummeBrutto").value) * 100 / ( Number(this.getField("Mwst").value) + 100);
event.value = NettovomBrutto; |
2. Feld:
Code: | var ZwischensummemitMwSt = Number(this.getField("ZwischensummeNetto").value) + ( Number(this.getField("ZwischensummeNetto").value) * Number(this.getField("Mwst").value) / 100 );
event.value = ZwischensummemitMwSt; |
ungetestet!
Die Variablen vor dem = sind die Namen der Felder in dem das Ergebnis erscheint, die hab ich mir ausgedacht, musst du evtl. anpassen.
|
|
|
|
 |
gotoAndHelp
Threadersteller
Dabei seit: 09.03.2010
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Di 29.01.2019 12:52
Titel
|
 |
|
So, scheint nun alles richtig zu sein:
Für Feld "ZwischensummeNetto"
Vereinfacht:
ZwischensummeBrutto / 1.19
JavaScript:
event.value = this.getField("ZwischensummeBrutto").value / 1.19;
------------------------
Für Feld "MwstSumme"
Vereinfacht:
ZwischensummeNetto*Mwst/100
JavaScript:
event.value = this.getField("ZwischensummeNetto").value * this.getField("Mwst").value / 100.0;
------------------------
Für Feld "BruttoGesamt"
Vereinfacht:
ZwischensummeNetto+(ZwischensummeNetto*Mwst/100)
JavaScript:
event.value = this.getField("ZwischensummeNetto").value + this.getField("ZwischensummeNetto").value * this.getField("Mwst").value / 100.0;
Hat zwar lange gedauert, aber nun ist es richtig. Danke für die Hilfe!
|
|
|
|
 |
Mialet
Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 29.01.2019 13:55
Titel
|
 |
|
gotoAndHelp hat geschrieben: |
event.value = this.getField("ZwischensummeNetto").value + this.getField("ZwischensummeNetto").value * this.getField("Mwst").value / 100.0;
Hat zwar lange gedauert, aber nun ist es richtig. Danke für die Hilfe! |
Was daran jetzt richtiger sein soll, als mein Vorschlag verstehe ich nicht, aber sei's drum, wenn's läuft.
Wenn du weiter mit den Werten rechnen musst oder willst würde ich die Variablen aber auf jeden Fall initialisieren.
|
|
|
|
 |
gotoAndHelp
Threadersteller
Dabei seit: 09.03.2010
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Di 05.02.2019 13:29
Titel
|
 |
|
Hallo!
Anscheinend habe ich mich zu früh gefreut. Irgendwie ist der Wurm drin und es funktioniert gar nicht mehr, wie ich es gerne hätte.
1. Gebe ich nur einen Betrag/Wert in das Formular ein, so wird überhaupt nicht berechnet.
2. Gebe ich zwei oder mehr Beträge/Werte ein, so ist das Ergebnis falsch. Erst wenn ich dann noch mal auf 7% gehe (ist das Ergebnis richtig) und dann wieder auf 19% sind die Ergebnisse richtig.
Ob und wie ich Variablen initialisieren muss weiß ich nicht. Und wie das geht leider auch nicht. Vielleicht ist jemand so nett und kann sich das Formular ansehen und prüfen, wo der Fehler ist, bzw. was man ändern muss. ?
Link zum PDF: https://we.tl/t-9b59nJJ0Wz
Zur Info:
Es wir mit Brutto-Preisen gerechnet, diese werden nach den Versandkosten addiert und dann raus gerechnet und soll dann neu ausgewiesen werden, mit jeweils 7% oder 19%.
Danke!!!
|
|
|
|
 |
Mialet
Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 05.02.2019 14:43
Titel
|
 |
|
gotoAndHelp hat geschrieben: |
Es wir mit Brutto-Preisen gerechnet, diese werden nach den Versandkosten addiert und dann raus gerechnet und soll dann neu ausgewiesen werden, mit jeweils 7% oder 19%. |
Damit ist dein Feld ZwischensummeBrutto ja identisch mit BruttoGesamt.
Von daher bräuchtest du unten garnichts rechnen.
sondern einfach nur den vorherigen Wert erneut aufrufen:
Code: | event.value = Number(this.getField("ZwischensummeBrutto").value); |
Was bei dir aber auch noch gewaltig in die Hose geht, ist das Multiplizieren der einzelnen Preisposten. Das geht z.Z. nicht per
Auflage * Preis
sondern per
Posten*Preis.
Für ZwischensummeNetto hab ich jetzt das folgende Verwendet:
Code: | var ZwischensummeNetto = Number(this.getField("ZwischensummeBrutto").value) * 100 / ( Number(this.getField("Mwst").value) + 100);
event.value = ZwischensummeNetto; |
Für MwstSumme das:
Code: | var MwstSumme = Number(this.getField("ZwischensummeBrutto").value) - Number(this.getField("ZwischensummeNetto").value)
event.value = MwstSumme; |
Das konkrete deklarieren des Feldwertes geschieht bei mir über das 'var' in der ersten Scriptzeile.
Das geschieht im Prinzip auch automatisch, aber so ist es sauberer, bzw. nachvollziehbar, wenn man mehrere Werte wiederverwendet/berechnet.
Das Hauptproblem ist aber, das dein Mwst Auswahlfeld irgendwie verhindert, dass deine Berechnungen im unteren Abschnitt bei Eingaben im oberen Teil aktualisiert werden ... ?
Hab ich gerade auch keine Ahnung, woran das liegt, vermutlich wird das get.Field nicht erneut ausgeführt, wenn sich weiter oben etwas tut. Vllt. ist es per Feldreihenfolge zu beheben.
|
|
|
|
 |
gotoAndHelp
Threadersteller
Dabei seit: 09.03.2010
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Di 05.02.2019 18:33
Titel
|
 |
|
Zitat: | Damit ist dein Feld ZwischensummeBrutto ja identisch mit BruttoGesamt.
Von daher bräuchtest du unten garnichts rechnen.
sondern einfach nur den vorherigen Wert erneut aufrufen:
Code: | event.value = Number(this.getField("ZwischensummeBrutto").value); |
|
An sich richtig, jedoch passt es nur für 19%, nicht wenn ich die 7% MwSt ausweisen möchte, dann funktioniert es nicht.
Zitat: | Was bei dir aber auch noch gewaltig in die Hose geht, ist das Multiplizieren der einzelnen Preisposten. Das geht z.Z. nicht per
Auflage * Preis
sondern per
Posten*Preis. |
Hier sehe ich aktuell grad gar keine Probleme, da er im oberen Teil immer richtig rechnet. Er rechnet Vorlage * Auflage, dieser Wert landet in einem ausgeblendeten Feld. Dieser Wert wird mit Preis/Stück multipliziert und wird in Preis/Gesamt ausgegeben.
Deine beiden Scripte probiere ich später ein mal aus. Danke!
|
|
|
|
 |
|
|
 |
Ähnliche Themen |
Javascript PDF Formular Berechnung
Javascript Photoshop String in INT umwandeln
mwst für versandkosten?
[javascript] mit <select> feld wert an javascript funk
Rollendurchmesser Berechnung
Datenstrom - Berechnung
|
 |