Erstellt vor 3 Jahren
Geschlossen vor 2 Jahren
#1934 closed Fehler (fixed)
Umstellung von keine Währung auf Währung
| Erstellt von: | s.schoeling@… | Verantwortlicher: | m.bunkus@… |
|---|---|---|---|
| Priorität: | normal | Meilenstein: | 3.0.0 |
| Komponente: | kivitendo ERP | Version: | 2.7.1 unstable |
| Schweregrad: | normal | Stichworte: | |
| Beobachter: |
Beschreibung
Wenn man ein System von keine Währung auf mindestens eine Währung umstellt, passiert folgende Kette von Ereignissen:
- Alte Belege sind in der Währung , also leerer String gespeichert.
- Währung (curr) ist in der Datenbank als char(3) gespeichert, wird also laut SQL Standard blankpadded/trimmed verglichen und ausgelesen. Das führt dazu dass die Belege die Währung ' ' haben (drei Leerzeichen)
- Diese Währung ist im Perlsinne trueish, also bei naiven Prüfungen vorhanden.
- Da nach dem Einführen einer Währung die erste Währung die Standardwährung sit, ist ' ' nicht eine andere Währung, und braucht einen Wechselkurs.
- Da ohne Währungen kein Wechselkurs gespeichert wurde, ist der Wechselkurs für alte Belege in ' '.... 0.
- 0 als Wechselkurs an sich ist schon ein Problem, wird aber bei speichern abgefangen.
- Dadurch geht aber das Query in Form::update_exchangerate kaputt, und wirft beim Buchen von Zahlungseingängen einen SQL Fehler.
Änderungshistorie (4)
comment:1 Geändert vor 3 Jahren durch s.schoeling@…
comment:2 Geändert vor 2 Jahren durch m.bunkus@…
- Meilenstein auf 3.0.0 gesetzt
comment:3 Geändert vor 2 Jahren durch m.bunkus@…
- Status von new nach accepted geändert
comment:4 Geändert vor 2 Jahren durch m.bunkus@…
- Lösung auf fixed gesetzt
- Status von accepted nach closed geändert
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.

Wenn man den SQL Fehler umgeht passieren noch weitere tolle Sachen.