FlattenToForm - auch customer_id oder vendor_id übergeben
Dies wird vom neuen OrderController beim Umwandeln in einen Lieferscheingebraucht, wo nach einem flatten_to_form auf $order delivery_orderaufgerufen wird, wo anhand customer_id oder vendor_id der Kunden geladen...
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 ]);...
DeliveryPlan: Entfernt Einstellung, um nur ausgelagerte Lieferscheine zu berücksichtigen.
Diese Option lieferte hier ungenaue Ergebnisse, da dennoch auch Positionenangezeigt wurden, für die überhaupt kein Lieferschein erstellt wurde.
Neue Chart Methode new_chart_valid
die prüft, ob es für das Konto ein Folgekonto gibt, und ob das aktuelleTagesdatum >= dem Folgedatum ist, d.h. ob eigentlich das Folgekontobenutzt werden soll. Diese Abfrage war bisher allerdings kaputt und wirdwahrscheinlich auch nirgends sinnvoll genutzt.
SL::DB::Chart - Refactoring der Transaktionsmethoden
... der Methoden number_of_transactions und has_transaction.Machen fast das Gleiche, aber has_transaction liefert nur 0 oder 1zurück, und ist schneller.
Neue Methoden um Debitorenbuchungen zu erstellen
Vorbereitung für Debitorenbuchungsimport, neue Methoden für SL::DB::InvoiceObjekte:
add_ar_amount_row - Erlösbuchungen hinzufügen, mit Steuerschlüsselcreate_ar_row - acc-trans für Forderung hinzufügenvalidate_acc_trans - Prüfen ob alle acc_trans-Einträge aufgehen...
Typos und in SL/DB/Invoice.pm
post in SL::DB::Invoice funktioniert nur für Verkaufsrechnungen
Abbruch, wenn post bei einer Debitorenbuchung aufgerufen wird.
Standardforderungskonto und Verbindlichkeitskonto in Mandantenkonfiguration
Dort kann man in Zukunft angeben, welche Konten vorausgewählt seinsollen.Wird allerdings noch nicht in den Masken benutzt.
Payment Helper - Methode transactions wieder entfernt
Es gibt schon eine Relationship transactions in SL::DB::Invoice undSL::DB::PurchaseInvoice. Diese wird ansonsten überschrieben, und dannkann man auch keine AccTransaction Objekte mehr zu Rechnungsobjekten...
GLN: Berücksichtigung in Belegmasken
GLN: neue Spalte bei customer, vendor und shipto; DB-Upgrade-Skript u. Rose
Briefe mit anderen Dokumenten verknüpfen können
Brieffunktion: Verwendung von HTML im Body
IBAN-Validierung bei Kunden-/Lieferantenstammdaten sowie bei Bankkonten
GetModels Sorted: tiebreaker für deterministisches sortieren
FlattenToForm - business nicht als Objekt übergeben
Letter: Sortierung default neue zuerst
Letter: 30 pro Seite anzeigen
Letter Controller rewrite
Jetzt auf einigermassen aktuellem technischen Stand.
SL::DB::Buchungsgruppe: Relationsnamen inventory_account gefixt
Aus irgend einem Grund registriert Rose keine neue Relationship, wenn esbereits eine (mit leicht anderem Namen) als Foreign Key für dieselbeSpalte gibt.
country_mode entfernt.
Flags sollten unabhängig funktionieren, ausserdem in das im adminbereich der hass.
Erfolgsrechnung: von pos_eur auf pos_er gelegt.
Schweizer Modus
Belege runden, und Rundungsdifferenzen auf Extrakonten buchen.
Form: round_amount precision support
Fehlende Dateien in Helper/ALL ergänzt
Task-Server: Mandantenfähigkeit
rose_auto_create_model.pl: --all behandelt auch auth-Tabellen
Rose-Schema für fbf7532 aktualisiert
Mea culpa :)
Kosmetik
FlattenToForm: item_ids berücksichtigen.
FlattenToForm: Preis- und Rabatt-Quellen berücksichtigen.
convert_to_delivery_order um record_links auf item-Ebene erweitert
Bisher wurden nur die Belege verknüpft und nicht die einzelnenItems. Analoge Implementierung wie bei convert_to_invoice.Sinnvoll wäre ein Auslagern, dieser "zu ähnlichen" Verfahren in beiden...
io/select_item um optional part.notes erweitert
Standard: Konfigurierbar in Mandatenkonfiguration. Entsprechend Flagfür parse_template usw.Einziger nicht optionaler Punkt: p.notes wird zusätzlich als Column inretrieve_items geholt, kann ggf. auch noch optional geholt werden
Aufträge immer mit Projektnummer speichern.
Feature kann in der Mandantenkonfiguration aktiviert werden.
Email-Journal standardmäßig nach Datum absteigend sortieren
Beim jedem Speichern von Kunden/Lieferanten prüfen, ob der Name angegeben ist.
Vorher wurde das nur beim reinen Speichern geprüft, nicht beim Speichern undSchließen oder Fortfahren mit einem Beleg.
Behebt #84 (redmine).
Typos in Doku
SL::DB::Project: displayable_name-Methode
Revert "POD zu update_attributes ergänzt"
This reverts commit 2271551b46c84fa256c7a2e0a46c04cddf31e89e.
POD zu update_attributes ergänzt
mit der Bitte an Sven einmal gegenzulesen.
FlattenToForm: nicht zu rundende Zahlen mit mind. zwei Nachkommastellen darstellen.
convert_to_invoice params an Invoice::new_from(%params)
DeliveryOrder.pm übergab etwaige Parameter beim Aufruf von new_froman Invoice->post(%params). Das macht für den Anwendungsfall chart_idin 42ea98b4 Sinn (Order.pm), allerdings benötigt die convert_to_invoice in...
OrderItem POD hinzugefügt
Hinweis auf entfernte Funktionen und Verbesserungsmöglichkeiten.
OrderItem tote Funktionen entfernt
Einkaufsrechnungen: In Kopf anzeigen, in welchen SEPA-Exporten der Beleg enthalten ist
Rechnungen: In Kopf anzeigen, in welchen SEPA-Exporten der Beleg enthalten ist
SEPA: speichern, in welchen Nachrichten-IDs (MsgId) Exporte verwendet wurden
Manche Banken zeigen in ihren Auszügen nur die MsgId an, und es gibtkeine Möglichkeit, die darin enthaltenen einzelnen Überweisungenangezeigt zu bekommen.
Diese MsgId muss allerdings bei jeder eingereichten Nachricht eindeutig...
Konfigurierbares E-Mail-Journal
In der Mandantenkonfig kann nun das Speichern von gesendeten E-Mailsentweder- ganz abgeschaltet werden- ohne Anhänge speichern- mit Anhängen speichern (default)konfiguriert werden.
Falls ganz abgeschaltet, erscheint im Journal dazu ein Hinweis
FlattenToForm: sellprice und qty beim Formatieren nicht runden …
Hintergrund: In den Belegmasken (z.B.) Auftrag kann man Menge oder Verkaufspreismit mehr als zwei Nachkommastellen angeben und es wird auch damit gerechnet.Funktionen, die FlattenToForm verwenden (autom. Druck wiederkehrender...
FlattenToForm: $form->{vc} auch für Order setzen.
Hintergrund: SL::IC->retrieve_accounts verwendet vc, um die Steuern zuermitteln. Dieses wieder wird in SL::Form::prepare_for_printing benutzt.
FlattenToForm: CVars auch bei nicht gespeicherten Objekten kopieren.
Dazu die CVars aus dem Objekt lesen und nicht über SL::CVar.Die Werte sollten dem entsprechen, was SL:CVar->get_custom_variableszurückliefert.
Project::full_description: style=full für »kein Kunde verknüpft« gefixt
use parent statt use base in MetaSetup
E-Mail-Journal: Sequenznamen fixen
E-Mail-Journal: Journal anzeigen, Eintrag anzeigen, Anhänge herunterladen
E-Mail-Journal: verschickte E-Mails speichern
DeliveryOrder->new_from: Lieferbedingungen auch berücksichtigen.
Project-Picker basierend auf Part-Picker
Wiederkehrende Rechnungen: Lastschrifteinzugsflag in Konfiguration setzen können
CVar-Helper: Beim Parsen darauf achten, ob unparsed_value ein Objekt enthält.
Um Objekte mit der value-Methode einer CVar vom Typ Customer, Vendor oder Partzuweisen zu können, muss beim Parsen die Id des Objekts ermittelt werden.
Dieses wird z.B. im Helper (SL::DB::Helper::CustomVariables.pm) verwendet, um...
Doku: POD für Invoice.pm erweitert
- Invoice anstatt Delivery Order bei new_from- Beispiel-Code für Benutzung von new_from mit parameter attributes- TODO angelegt, Controller sollten einige Datenfelder mit Hilfe von Backend-Funktionen prüfen können - in diesem Fall transdate
Merge branch 'mass_convert_delivery_orders_to_invoice'
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.
SL::DB::CVar::value: mit übergebenen DateTime-Objekten klarkommen
Ruft mal value als getter auf, so wird ein DateTime-Objektzurückgegeben. Als setter aufgerufen, erwartete die Funktion bisheraber, dass ein String übergeben wird. Somit war es nicht möglich, eine...
invoice_type, displayable_type und displayable_name für ap
Bei Einkaufsrechnungen und Kreditorenbuchungen gibt es keine Stornosoder Gutschriften.
DeliveryOrder - Doku und Typos
RecordItem: unit_muiltiplier Methode
MetaSetup für discount in Vendor
discount ist jetzt identisch mit dem äquivalent in Customer.
BankAccount.pm - require für Chart Abfrage
Überarbeitung Speichern von Buchungsgruppen
analog zum Verhalten von Steuerzonen: beim Speichern bessere Prüfung undgegebenenfalls Fehlermeldungen und Rollback, wenn Speichern fehlschlägt.Verhindert, daß "unfertige" Buchungsgruppen gespeichert werden, wo die...
TaxzoneChart displayable_name und refactoring
displayable_name für die Kontenbeschreibung benutzen.
Statt eigener Methoden in TaxzoneChart die Foreign Key Verknüpfungen vonRose nutzen.
Steuerzonen überarbeitet - Prüfung und Löschen
Nicht benutzte Steuerzonen können jetzt gelöscht werden, sowie derenKontenzuordnungen geändert werden (wie bei Buchungsgruppen). SieheFeature #70.
Schlägt die Speicherung neuer Steuerzonen fehl, weil z.B. die...
Lieferwertbericht - unnötige Konfigurationsparameter entfernt (Ergänzung)
Vergessene Dateien zum Commit von gerade
Rechte: SL::Auth::all_rights() > $::auth>all_rights
Einheitliche displayable_name Methode für ar/ap/oe/do Objekte
Bestehend aus Dokumentenname und Dokumentennummer, z.B.Rechnung 12Gutschrift 20Verkaufslieferschein 15b
Einheitliche Methode record_number für ar/ap/oe/do Objekte
entspricht jeweils invnumber/ordnumber/donumber
Methode displayable_type auch für Lieferscheine
record Aliase für Items
damit man von DeliveryOrderItem, OrderItem und InvoiceItem direkt aufdas entsprechende ar/ap/do/oe Objekte verweisen kann.
Beispiel in console:
die erste Position aus der ersten Rechnung: my $item = SL::DB::Manager::Invoice->get_first()->items->[0];...
Items in Belegen können durch LinkedRecords angesprochen werden
SL::DB::CustomVariable->value für Typ Nummer auch wirklich Nummer zurückgeben
Da die Spalte number_value in der DB vom Typ numeric() ist, wird das vonRose als String eingelesen. Das bedeutet, dass ->number_value z.B. derWert '0.00000' liefert, was im Booleschen Kontext trueish ist – nicht...
AttrDuration: Implementation für Spalten, die Dauer in Minuten speichern
SL::DB::{Invoice,DeliveryOrder}->new_from: manuelles Filtern von Items via coderef
Payment - falsche geschweifte Klammer bei Skonto Zahlungsvorschlag
Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«
Zahlungsbedingungen bei Lieferscheinen; veraltete Spalte »terms« entfernt
SL::DB::Helper::TransNumberGenerator: alle beteiligten Spalten aufführen
SL::DB::Helper::TransNumberGenerator: Belegnummern einmal direkt auslesen
Es werden alle vorhandenen Belegnummern benötigt. Diese wurden bisher soausgelesen, dass die Belege vom Rose-Manager via ->get_all komplettgeladen wurden und dann jeweils die Belegnummernspalte davon genommen...
SL::DB::Helper::TransNumberGenerator: Tabellen und Zeilen locken
Die Tabelle, aus der die Liste der bereits benutzten Belegnummernausgelesen wird, muss exklusiv gelockt werden, um zu verhindern, dassdanach zwischen dem Auslesen und der Vergabe der neuen Belegnummer eine...
ConventionManager: foreign_key Benennung
Der Standard Conventionmanager von Rose versucht irgendwelchesingular/plural Magic um aus dem key einen guten Namen zu kriegen.
Das klappt antürlich mal wieder nicht.
Wir haben aber einen besseren Mechanismus dafür,...
Mappings: Direktzugriff auf package names Methode
RDBO Update: Tax
RDBO Update: Letter
Rechnungen: amount, netamount, paid NOT NULL DEFAULT 0
Typos