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
Typos in Doku
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
Listenpreis in Belegen u. Ausdruck richtig formatieren und nicht mehr parsen.
listprice wird in den Belegen nur angezeigt. Man kann ihn nicht eingeben undauch nicht speichern. Deshalb wird er jetzt nur zur Ausgabe formatiert(io.pl:display_row, OE.pm:order_details, IS.pm:invoice_details), aber nicht...
Typos und Kommentare angepasst
Merge branch 'bankerweiterung_und_skonto'
Conflicts: locale/de/all
CSV Import Defaults in die Worker ausgelagert
Neben den Standard-Defaults, die für alle gelten (charset, numberformat,...)
Bankerweiterung: bei Zahlungsartauswahl auf Skonto prüfen
Conflicts: doc/changelog locale/de/all
Sammelcommit Bankerweiterung und Skonto
Überarbeitung der Bankerweiterung vom Stand Niclas, und Einführung vonBezahlung mit Skonto (alter payment Branch). Mehr Details siehechangelog.
AccTransaction: get_type und transaction_name umgeschrieben
Nutzen jetzt record um Typ zu bestimmen.
Bankerweiterung - Zwischenstand, erster Entwurf
Erstellung von Tabelle bank_transactions
Import von Bankbewegungen (in Tabelle bank_transactions)
Menu-Eintrag war noch nicht commitet
Controller für die Bank-Transaktionen
Dialog hin- und her
Achtung: noch mit Debug-Statements!...
Bankkonten auf Controller umgestellt
Außerdem wurde neue Datenbankspalten eingeführt: obsolete, sortkey
In Vorbereitung auf den Kontenabgleich wurden zwei neue Spalteneingeführt:reconciliation_starting_balancereconciliation_starting_date
Damit kann man einstellen, ab welchem Datum der Kontenabgleich für das...
DB und MetaSetup für Letter Tabellen
SL/DB/Helper/ALL Einträge für Brieffunktion
Mappings und MetaSetup für Brieffunktion
Beleg-Rose-Objekte: items_sorted für nicht gespeicherte Items gefixt
Die bisherigen items_sorted-Routinen verlangen, dass die Positionsspaltegesetzt ist. Das ist bei noch nicht gespeicherten Belegen oder beigerade hinzugefügten Positionen aber noch nicht der Fall....
item_selected: Multiselect bzw. Mengeneingabe beim Artikelselektor
Dieses Feature kann in den Benutzereinstellungen aktiviert werden.
Doku in SL/DB/Part.pm - Typos und Umschreiben
Typo gefixed
PriceRule: Bessere Validierung für fehlerhafte Regeln
SL::DB::BackgroundJob::data_as_hash auch als Writer benutzen können
SL::DB::BackgroundJob: refactoring von set_data für mehr programmatische Sicherheit
$self->data kann durchaus leer sein, und dann gibt YAML::Load schlichteinen leeren String und keine Hashref zurück.
Daher $self->data_as_hash benutzen, das bereits für die meisten Fälle...
PriceRule: validate auf reductions angepasst
BackgroundJobs optional als json ausliefern
login nicht aus $::form nehmen. Teil 1
Auslagern in VK-Rechnung: Neue Datenbank-Felder, Rose u. Mandantenkonfiguration
CustomVariables: Zuweisen von zu parsenden Inhalten
2 Probleme.
1. Booleans wurden beim Parsen in den numeric Slot gesteckt2. Die zwei-wertige Version von value() hat das zweite Argument nicht aus dem Stack entfernt, und damit beim goto weitergegeben an die...
Spalte »nicht gelieferte Menge« in Aufträgen optional anzeigen
GetModels-Filtered: CVars: default_value-Ersetzung besser greifen
GetModels-Filtered: CVars: Überflüssige Umwandlung entfernt
Pflichtenheft: nach benutzerdefinierten Variablen suchen können
CustomVariableConfig: Datumswerte werden in Spalte timestamp_value gespeichert
GetModels-Filtered: CVars: Fix für Platzhaltern im Suchbegriff
GetModels-Filtered: benutzerdefinierte Variablen bool gefixt
GetModels-Filtered: Unterstützung für benutzerdefinierte Variablen
Pflichtenhefte: benutzerdefinierte Variablen bei Version reverten kopieren
Pflichtenhefte: benutzerdefinierte Variablen anzeigen und bearbeiten
Wiederkehrende Rechnungen: Berechnung für Auftragswertperiodizität angepasst
Wiederkehrende Rechnungen: Auftragswerts-Periodizität setzen können
Noch keine Anpassung der eigentlichen Berechnung. Wohl aberDokumentation von SL::DB::PeriodicInvoicesConfig.
Einkauf/Verkauf: Bemerkungsfeld mit HTML-Editor ausgestattet
SL::DB::RequirementSpec: time_estimation auch als _as_man_days, _as_man_days_unit
Analog zum RequirementSpecItem
Verknüpfung von Einzelpositionen auch bei periodisch erzeugten Rechnungen (Auftrag -> Rechnung)Für InvoiceItem in Invoice ein converted_from_*_id hinzugefügt wie bei der Verknüpfung von Auftrag zuRechnung, bzw. Lieferschein zu Rechnung. Letzterer Weg wird aktuell bei Objekten noch nicht...
PriceTaxCalculator: Belege ohne Positionen richtig verarbeiten können
Revert "SL::DB::Part: displayable_name als Alias für long_description"
This reverts commit e3a83f49048717d0f519e2f760ef2988eb0824e0.
Aufgrund von b720e272 gar nicht nötig und daher überflüssigerweise auseinem Kundenprojekt gecherrypickt.
SL::DB::CustomVariable: value, value_as_text für Typ 'date/timestamp' und ungesetzt gefixt
SL::DB::CustomVariable: value_as_text() für customer/vendor/part vereinheitlicht
SL::DB::CustomVariable: value_as_text() für Typ 'date' gefixt
Bisher wurde schlicht das falsche Feld zurückgegeben: text_value. Nunwird das formatierte Datum aus timestamp_value zurückgegeben.
SL::DB::CustomVariable: value_as_text() für Typ 'bool' gefixt
Der Typ heißt 'bool' und nicht 'boolean'.
SL::DB::CustomVariable: value() für Typ 'date' gefixt
Bisher wurde schlicht das falsche Feld zurückgegeben: text_value. Nunwird eine Instanz von DateTime zurückgegeben, die auf den Taggetruncatet ist.
SL::DB::Part: displayable_name als Alias für long_description
Für einfachere Verwendung mit anderen Objekten wie ::Customer und::Vendor.
SL::DB::Helpers::Attr as_date geht jetzt auch mit 'now()'.
Ein neu-angelegtes Rose-DB-Objekt mit einer Spalte mit einemDatums-Default-Wert 'now' liefert 'now()' für diese Methode. Z.B.:SL::DB::Order->new->itime = 'now()'. Jetzt geht damit z.B.:SL::DB::Order->new->itime_as_date...
Invoice, DeliveryOrder-DB: bei Erstellen aus anderen Belegen Preisquellen beibehalten