Payment Helper kann nun auch Kursverluste/Gewinne
+ neue Helper-Methode exchange_rate für Rechnungen
Paymenthelper kann Fremdwährung mit Steuer inkl. und exkl.
PTC Test um Rundungsgenauigkeit ergänzt
Der PriceTaxCalculator hat als Datenwert neuerdings dieRundungsgenauigkeit für den Modus Schweiz. Dies muss entsprechendim Tests des Moduls auch berücksichtigt werden.
Neuer Minimaltestfall für Rabattrundung im PTC
Beim PTC wird vor der Multiplizierung mit der Menge der gerundete Rabatt vomVerkaufspreis abgezogen, statt erst die Zeilensumme zu berechnen unddann den Rabatt zu ziehen.
6 Artikel zu 0.6€ mit 3% Rabatt0.6 * 6 * ( 1 - 0.03 ) != ( 0.6 - round(0.6*0.03) ) * 6...
Payment Helper setzt $self->transactions zurück
Als es noch eine Methode transactions in SL::DB::Helper::Payment gabwurden die acc_trans-Einträge bei Zugriff per $self->transactions jedesMal aus der Datenbank ausgelesen:(SL::DB::Manager::AccTransaction->get_all(query => [ trans_id => $self->id ]);...
Testfall convert_invoice.t um html-formatierte texte erweitert
Beim Konvertieren von Lieferschein nach Invoice auch explizit dieFormate von CKEditor prüfen. Ferner leichte weitere Anonymisierung derWarendaten.
Tests erweitert
Neuer BackgroundJob und den Standard Employee nicht in meinemTestfall löschen, da dieser bei späteren Tests noch verwendet wird.
convert_invoice auch LinkedRecords und Items testen
DeliveryOrder um convert_invoice erweitert
Diesselbe Idee wie bei SalesOrder->convert_invoice. Der ursprünglicheLieferschein wird geschlossen und das neue Objekt mittels record_linksverknüpft.Entsprechend Testfall mitgeliefert.
AttrDuration: Test muss Sprachinvariant sein
AttrDuration-Test: Anzahl Testcases gefixt
AttrDuration: Implementation für Spalten, die Dauer in Minuten speichern
Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«
Tests: 2 Tests in db_helper/payment.t auf TODO gesetzt
Sammelcommit Bankerweiterung und Skonto
Überarbeitung der Bankerweiterung vom Stand Niclas, und Einführung vonBezahlung mit Skonto (alter payment Branch). Mehr Details siehechangelog.
Aufräumen der DB am Ende der individuellen Tests
die Tests sollten am Ende ihre eigenen angelegten Daten löschen, damitandere Tests beim Löschen ihrer Daten keine Abhängigkeitsproblemebekommen:
create_periodic_invoices.tprice_tax_calculator.trecord_links.t...
Tests: price_tax_calculator.t muss vor Kunden löschen richtig aufräumen
PriceTaxCalculator: für Items berechnete flüchtige Werte zurückgeben Teil 3
Die items können nicht als Hash-Referenz gespeichert werden, weil daskaputt geht, wenn die Items noch nicht gespeichert wurden und damit nochkeine ID besitzen. Daher Umstellung auf Array-Speicherung....
Steuerzone - neue Customer/Vendor-Objekte brauchen Steuerzone
Durch den not-NULL Constraint bei Kunden und Lieferanten mußbeim Anlegen eines neuen Objekts nun zwingend die Steuerzone mitübergeben werden, ähnlich wie bei der Währung.Dies wurde bei einigen automatischen Tests nachgeholt.
Nachtrag Steuerzone - Tests angepasst
Steuerzone in price_tax_calculator.t angepasst
Rundungsfehler bei periodischen Rechnungen mit Einzelpreisen ...
... mit einer Nachkommastelle und Rabatt behoben.
siehe auch commit a22b8118e0bd68acac8a2d7b02a2d4f9fd0eaff1
Zudem einen Test dazu angelegt. Allerdings weicht die Art, wie derPriceTaxCalculator und die Beleg-Masken rechnen, von einander ab....
Rose-Attr-Helfer: _as_timestamp
…mit verschiedenen Präzisionsstufen und Tests!
SL::DB::Helper::LinkedRecords: rekursive Suche in linked_records
LinkedRecords: bidi Verhalten den docs angepasst und direction Parameter optional gemacht
LinkedRecords: Test und Doku Update
Test: acts_as_list.t: Anpassung an Währungsumstellung
Diverse Fixes, damit der Testcase mit den aktuellen requirement_specs durchläuft.
- braucht jetzt keine leere Datenbank mehr, erstellt Ficture und löscht sie hinterher wieder.- Update auf item_type- Unmöglicher Check im Header korrigiert- Zahl der Testcases jetzt korrekt hart kodiert
Erste Tests zum PriceTaxCalculator
acts_as_list sollte nicht kaputtgehen hier
AttrDuration: in SL::DB::Object->assign_attributes() auch attr_man_days_string() vor _unit() auswerten
AttrDuration-Helfer
ActsAsList: add_to_list() auch aufrufen können, wenn 'position' noch gesetzt ist
ActsAsList: get_next_in_list() und get_previous_in_list()
ActsAsList: mit remove_from_list() entfernte Items auf position = -1 setzen
position ist in allen Tabellen NOT NULL deklariert. Nur in der einen,die ich zum Testen genutzt hatte, nicht. Das habe ich nunnachgeholt. Jetzt wird -1 als magischer "not in list"-Wert benutzt.
ActsAsList: neu: remove_from_list(), add_to_list(), Unit-Tests