Unterstützung #656
Invoice-Controller: aktuelle Fremdwährungs-Bugs in Form nicht wiederholen
0%
Beschreibung
Rückmeldung von Sven:
jbueren
Member
jbueren commented Feb 21, 2024 •
Rückmeldung von Sven:
Ich habe das jetzt versucht minimalinvasiv zum laufen zu kriegen. Was ich gemacht habe ist:
Form::create_links erkennt jetzt Fremdwährungszahlungen, berechnet defaultcurrency_paid aus den alten Buchungen, und reicht fx_transaction flag weiter.
Ich basiert auf Geoffrey’s Branch, aber jetzt so geändert, dass die Rückrechnung nur dann passiert, wenn das eine Fremdwährungszahlung aus der Datenbank ist.
Alles auf master rebased.
Ich habe eine paar Tests dazugeworfen, und dafür eine kleine DSL geschrieben, mit der man einfache bin/mozilla Flows in Tests werfen kann, dafür wird HTML::Query als neue Abhängigkeit benötigt.
Getestet und hoffentlich nicht kaputt sind:
Kreditorenbuchung im Frontend anlegen, erneuern, speichern
Einkaufsrechnung im Frontend anlegen, erneuern, speichern
Kreditorenbuchung per Banktransaction ohne Fremdwährung bezahlen, in der alten Maske aufmachen, erneuern – die werden dann im Frontend wie Fremdwährungszahlungen behandelt. Das nimmt an, dass die Zahlung hinterher nicht nochmal gespeichert wird, was vorausgesetzt hattest.
Das ist trotzdem alles fragil wie Hölle. Ich fasse die ganzen anderen Randfälle da nicht an. Unter anderem ist mir aufgefallen, dass die Preise beim Laden von Waren in Fremdwährung übersetzt werden, wenn eine Fremdwährung gesetzt wird und schon ein Wechselkurs bekannt ist, aber NICHT wenn der Wechselkurs nicht bekannt ist. Was dazu führt dass wenn man 2x exakt die gleiche Rechnung anlegt, die Artikelpreise auf einmal anders sind.
Beim rumklickern habe ich gleich noch 2 andere Bugs in der Fremdwährungsbehandlung gesehen:
Wie erwartet geht die Maske kaputt, wenn man in einer gebuchten Zahlung anfängt zu editieren
Rechnung -> Währung auf USD stellen -> Artikel aus dem Beleg erfassen -> zurück in die Rechnung scheint den Wechselkurs kaputt zu formatieren (2,5 -> 25)..
Ich würde nach und nach noch mehr Tests dafür schreiben, bei der Hälfte der Fälle bin ich mir aber nichtmal sicher was das erwartete Verhalten ist. Vor allem bei Teilzahlungen, Steuern, oder Skontobuchungen.
Zugehörige Tickets
Historie
Von Bernd Bleßmann vor 9 Monaten aktualisiert
- Beziehung mit Unterstützung #33: Alle FiBu-Masken auf Controller umstellen wurde hinzugefügt
Von Bernd Bleßmann vor 9 Monaten aktualisiert
- Beziehung mit Unterstützung #106: Dialogbuchen als Controller mit neuen Features umsetzen wurde hinzugefügt
Von Bernd Bleßmann vor 9 Monaten aktualisiert
Ich würde nach und nach noch mehr Tests dafür schreiben, bei der Hälfte der Fälle bin ich mir aber nichtmal sicher was das erwartete Verhalten ist. Vor allem bei Teilzahlungen, Steuern, oder Skontobuchungen.
Das zu erwartende Verhalten und auch eine Feature-Liste für eine neue Implementierung sollten irgendwo festgehalten werden.