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
Typos in Doku
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
MetaSetup Dateien aktualisiert
ar/ap/gl - neues Relationship "transactions"
Objekt-Verknüpfung ar/ap/gl zu acc_trans-Objekten: one-to-many
Hat man ein ar/ap/gl Objekt kann man sich jetzt alle acc_trans-Einträgedazu holen.
Die acc_trans-Objekte werden nach acc_trans_id sortiert zurückgegeben....
ar, ap oder gl Objekt eines acc_trans Objects holen
neue Methode record in SL::DB::AccTransaction
Item-Positionen für Rechnungen in DB: items_sorted sortiert nach postition …
Item-Positionen für Rechnungen in DB: DB-Upgrade-Skript; Rose
Positionen der Artikelzeilen für Rechnungen in der Datenbank speichern.
deliver_order_items_id mit inventory verknüpft
Falls Lieferscheine Warenbewegungen auslösen, sind jetzt auch die einzelnen Position "rückverfolgbar" und nicht nur der Beleg. Entsprechende Fremdschlüssel gesetzt
FlattenToForm: Zugriff auf nicht definierte Variable verhindern
Passierte, wenn bei Rechnung das Lieferdatum in den Positionen leer war.
FlattenToForm: in Rechnungen Positions-reqdate als reqdate & deliverydate_oe bereitstellen
So macht es IS.pm nämlich auch.
Part: long_description in displayable_name umbenannt
zur Vereinheitlichung der Nomenklatur.
Lieferanten im Autocomplete von Pickern korrekt behandeln
bei Customer funktionierte es, Code an Customer angepasst.
SL::DB::CustomVariables::value_as_text hat keine Text zurückgegeben, dasgab Fehler im Autocomplete, wenn eine Objekt in der Auswahl war, welches...
Item-Positionen in DB: items_sorted sortiert nach postition …
in Order und DeliveryOrder
Item-Positionen in DB: DB-Upgrade-Skript; Rose
Positionen der Artikelzeilen für Angebote/Aufträge und Lieferscheine mitin der Datenbank speichern.
Neues Feature: Chartpicker
Praktisch komplett analog zum Partpicker, danke Sven für diePionierleistung!
Es gibt natürlich ein paar Unterschiede bei den Filteroptionen, z.B.kann man im Popup nur bebuchte Konten anzeigen lassen, oder dieErgebnisliste nach der Kontenart einschränken. Es wird auch immer nur...
get_balance_starting_date nach SL/DB/Helper/AccountingPeriod.pm
neuer Helper, wohin die Funktion get_balance_starting_date aus SL/RP.pmhin ausgelagert wurde. Wird auch im Chartpicker benutzt.
Lieferscheine benötigen auch Preisquellen -> customervendor Funktion auch für Lieferscheine -> Typ Kunde oder Lieferant (is_customer) entsprechend analog
PriceRule: customervendor accessor in Rechnungen
PriceRule: Ein menüeintrag und Typen frei filterbar
PriceRule: reqdate für Invoice und PurchaseInvoice
PriceRule: Preisregeln können jetzt auch Rabatte
ausserdem Doku
PriceRule: Mehr Filteroptionen
PriceRule: Regeldetails anzeigen
PriceRule: Anzeige von Menge ge/le ops korrigiert