mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 17.02.2019 02:30 Benutzername: Passwort: Auto-Login

Thema: MwSt-Berechnung in Javascript umwandeln vom 27.01.2019


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> MwSt-Berechnung in Javascript umwandeln
Seite: 1, 2  Weiter
Autor Nachricht
gotoAndHelp
Threadersteller

Dabei seit: 09.03.2010
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst So 27.01.2019 19:14
Titel

MwSt-Berechnung in Javascript umwandeln

Antworten mit Zitat Zum Seitenanfang

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!!!
  View user's profile Private Nachricht senden
Mialet

Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 28.01.2019 12:46
Titel

Re: MwSt-Berechnung in Javascript umwandeln

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Mialet

Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 28.01.2019 13:14
Titel

Re: MwSt-Berechnung in Javascript umwandeln

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
gotoAndHelp
Threadersteller

Dabei seit: 09.03.2010
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Di 29.01.2019 12:52
Titel

Antworten mit Zitat Zum Seitenanfang

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!
  View user's profile Private Nachricht senden
Mialet

Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 29.01.2019 13:55
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
gotoAndHelp
Threadersteller

Dabei seit: 09.03.2010
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Di 05.02.2019 13:29
Titel

Antworten mit Zitat Zum Seitenanfang

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!!!
  View user's profile Private Nachricht senden
Mialet

Dabei seit: 11.02.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 05.02.2019 14:43
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
gotoAndHelp
Threadersteller

Dabei seit: 09.03.2010
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Di 05.02.2019 18:33
Titel

Antworten mit Zitat Zum Seitenanfang

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!
  View user's profile Private Nachricht senden
 
Ähnliche Themen Javascript Photoshop String in INT umwandeln
mwst für versandkosten?
[javascript] mit <select> feld wert an javascript funk
Datenstrom - Berechnung
Formular + Berechnung
berechnung von datenheadern
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


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.