Erstellt vor 4 Jahren

Geschlossen vor 4 Jahren

#1517 closed Fehler (fixed)

Kreditorrechnung: Wechselkurs bei gleichem Re.-Datum nicht vorhanden

Erstellt von: Thomas.STURM@… Verantwortlicher: p.reetz@…
Priorität: normal Meilenstein:
Komponente: kivitendo ERP Version: 2.6.1
Schweregrad: schwerwiegend Stichworte: Finanzbuchhaltung
Beobachter: s.schoeling@…, Thomas.STURM@…

Beschreibung

Bucht man eine zweite Kreditorenbuchung mit Fremdwährung für dasselbe Rechnungsdatum, so wird der Wechselkurs nicht angezeigt und eine Buchung ist mit der Meldung 'Es fehlt der Wechselkurs!' verweigert. Mit einem noch nicht vergebenen Rechnungsdatum lässt sich die Rechnung (mittels Eingabe des Wechselkurses) buchen.

Ich habe analog zu dem Bugreport 1487 in IR.pm
'$exchangerate = $form->check_exchangerate($myconfig, $form->{currency}, $form->{invdate}, 'sell');' 'transdate' auf 'invdate' geändert. Dies brachte keine Verbesserung.

Anhänge (1)

Kreditorbuchung_mit_FW.pdf (111.1 KB) - hinzugefügt von Thomas.STURM@… vor 4 Jahren.
Screenshots der Kreditorenbuchung mit Fremdwährung

Alle Anhänge herunterladen als: .zip

Änderungshistorie (10)

Geändert vor 4 Jahren durch Thomas.STURM@…

Screenshots der Kreditorenbuchung mit Fremdwährung

comment:1 Geändert vor 4 Jahren durch Thomas.STURM@…

  • Beobachter Thomas.STURM@… hinzugefügt
  • see_also auf https://lx-office.linet-services.de/bugzilla/show_bug.cgi?id=1487 gesetzt

comment:2 Geändert vor 4 Jahren durch Thomas.STURM@…

  • Schweregrad von Normal nach Wichtig geändert

Der Fehler taucht nur auf, wenn der Wechselkurs unter 1 ist!
Konkret: 1,50 wird angezeigt, 0,50 wird nicht angezeigt.
Die Abfrage aus der Datenbank (exchangerate) wird korrekt durchgeführt.
An welches Script wird das Erbegnis ($exchangerate) aus Form.pm eigentlich zurückgegeben?

comment:3 Geändert vor 4 Jahren durch Thomas.STURM@…

Ich habe die Quelle des Fehlers ausgemacht:
In Datei "ap.pl", Zeilen 251-253 habe ich folgende Abfrage deaktiviert:

# if ($form->{exchangerate} == 0) {
# $form->{exchangerate} = "";
# }

Damit funktioniert der Wechselkurs auch mit Werten unter 1.
Mir ist nur nicht klar, warum die if-Klausel hier greift, da der Wert z.B. 0,50 ja ungleich 0 ist ???

Liebe Entwickler, bitte seht Euch dies mal an.

Ich habe allerdings bisher keinen Nachteil ohne die Abfrage gesehen. Wenn ich Wechselkurs 0 angebe, kommt ja beim Buchen noch der Hinweis "Wechselkurs fehlt"

comment:4 Geändert vor 4 Jahren durch s.schoeling@…

  • Lösung auf fixed gesetzt
  • Status von new nach closed, s.schoeling@linet-services.de geändert

Behoben in ae45c5b.

comment:5 Geändert vor 4 Jahren durch s.schoeling@…

Kurze Erläuterung noch: Im Perl Sinne ist 0,50 tatsächlich 0, weil perl mit dem Komma nichts anfangen kann. Wenn der String "0,50" als Zahl interpretiert wird, bricht die Konvertierung einfach beim ersten nicht erkannten Zeichen ab, nämlich dem Komma. Der Rest ist 0.

Die Lösung ist, das interne Format (0.50) nicht vor der Abfrage in das Userformat zu überführen.

comment:6 Geändert vor 4 Jahren durch Thomas.STURM@…

  • blocked auf 1554 gesetzt

comment:7 Geändert vor 4 Jahren durch Thomas.STURM@…

  • blocked 1554 gelöscht

comment:8 Geändert vor 4 Jahren durch Thomas.STURM@…

  • Lösung fixed gelöscht
  • Status von closed nach reopened geändert

Ich habe die ap.pl aus dem git in mein Produktiv-System übernommen.
Beim Buchen bekomme ich jetzt:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@… and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

comment:9 Geändert vor 4 Jahren durch s.schoeling@…

  • Lösung auf fixed gesetzt
  • Status von reopened nach closed geändert

Dass eine ap.pl aus der unstable nicht mit einem 2.6.1 stable zusammenarbeitet ist nicht verwunderlich.

Wenn überhaupt müsstest Du den Patch cherry-picken. man git-cherry-pick gibt genauere Infos.

Tut mir leid, aber der Bug hier ist behoben.

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.