added roundings for periodic invoices
Vendor/Customer Name in FlattenToForm setzen
In For.pm wird bei der Druckvorbereitung Customer-/Vendorname gesetzt.Damit z.B. bei Massendruck oder neuen Controllern diese Variable auchzur Verfügung stehen werden sie , falls die Objekte vorhanden in die Form geladen
FlattenToForm: Information, ob das item ein Erzeugnis ist, berücksichtigen.
Damit klappt das Drucken mit Stücklisten-Information im neuenAuftrags-Controller, beim Massenrechnungsdruck und beim autom. Druckenwiederkehrender Rechnungen.
FlattenToForm: Zahlungsbedingungen des Kunden/Lieferanten nicht kopieren
Es haben die ZB des Beleges zu gelten, nicht die desKunden/Lieferanten. Die Variable »payment_terms« wird zwar später wiederanhand von »payment_id« überschrieben (in »OE::order_details« und dann...
Artikelpreishistorie automatisch über Trigger speichern
FlattenToForm: nur für Positionsartikel gültige CVars übernehmen
Benutzerdefinierte Variablen, die in den Artikelstammdaten als ungültigmarkiert sind, dürfen dem Drucksystem gar nicht erst zur Verfügungstehen.
Sepa-Überw: Fehlermeldung beim Überweisen mit Skonto
Hier fehlte eine Abfrage. Fehlermeldung auf die Zahlungsart beziehen
CVar-Helfer: cvars_by_config nach Config-Reihenfolge sortiert zurückgeben
warnings: nicht initialisierte Variable in Helper/Sorted
warnings: nicht initialisierte Variable in Helper/Payment
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 ]);...
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
Briefe mit anderen Dokumenten verknüpfen können
IBAN-Validierung bei Kunden-/Lieferantenstammdaten sowie bei Bankkonten
GetModels Sorted: tiebreaker für deterministisches sortieren
FlattenToForm - business nicht als Objekt übergeben
Fehlende Dateien in Helper/ALL ergänzt
rose_auto_create_model.pl: --all behandelt auch auth-Tabellen
Kosmetik
FlattenToForm: item_ids berücksichtigen.
FlattenToForm: Preis- und Rabatt-Quellen berücksichtigen.
Typos in Doku
FlattenToForm: nicht zu rundende Zahlen mit mind. zwei Nachkommastellen darstellen.
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...
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.
E-Mail-Journal: verschickte E-Mails speichern
RecordItem: unit_muiltiplier Methode
AttrDuration: Implementation für Spalten, die Dauer in Minuten speichern
Payment - falsche geschweifte Klammer bei Skonto Zahlungsvorschlag
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
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...
Merge branch 'bankerweiterung_und_skonto'
Conflicts: locale/de/all
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.
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!...
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....
GetModels-Filtered: CVars: default_value-Ersetzung besser greifen
GetModels-Filtered: CVars: Überflüssige Umwandlung entfernt
GetModels-Filtered: CVars: Fix für Platzhaltern im Suchbegriff
GetModels-Filtered: benutzerdefinierte Variablen bool gefixt
GetModels-Filtered: Unterstützung für benutzerdefinierte Variablen
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
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...
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.
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.
PriceRule: Erste Version
PriceSource: Erste Version
- Preisgruppen und Stammdaten sind implementiert- Persistenz in allen Belegen funktioniert- Rudimentäre Visualisierung funktioniert- Klassen sind alle da
- Doku fehlt- Verkauf/Einkaufweiche fehlt- best_price ungetestet- Preisgruppen hängen noch nicht von Verkäufer ab...
PriceTaxCalculator: Doku-Fix
Typos in Filtered Doku
Typos in LinkedRecords Dokumentation
PTC-Doku um API-Beispielsaufruf ergänzt
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....
PriceTaxCalculator: für Items berechnete flüchtige Werte zurückgeben Teil 2
PriceTaxCalculator: für Items berechnete flüchtige Werte in %data zurückgeben
FlattenToForm: Rabatte richtig formatieren
ActsAsList: use Parameter zum Konfigurieren benutzen
ParseFilter: with_objects merging bei Klassen mit Filtered Plugin
ParseFilter kennt 3 Quellen für with_objects Klauseln:
1. explizit übergebene2. aus dem Filter inferierte3. aus custom filtern gesetzte
Wenn nun ein Model das Custom Filter Plugin hat, muss bei jedem Filter...
Pflichtenhefte: zusätzliche Artikel zuweisen und bearbeiten können
Warengruppen-Filter f. CVars bei Waren
cherry-pick aus Kundenprojekt und Anpassungen an unstable (hauptsächlichUmstellung auf Controller)
Conflicts:
SL/CVar.pm SL/DB/CustomVariableConfig.pm bin/mozilla/amcvar.pl bin/mozilla/io.pl...
Auf Datenbankebene Steuerzonen konfigurierbar gemacht
Damit können jetzt mehr als die 4 Standardsteuerzonen eingerichtetwerden. Die bisherigen Steuerzonen wurden aus der Tabellebuchungsgruppen in die neue Tabelle taxzone_charts ausgelagert.
Konzeption siehe Ticket #2295...
PreisTaxCalculator: Caching-Abfrage für »keine Positionen« gefixt
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....
SL::DB::Part,Helper::PriceTaxCalculator: agressiveres Caching
Damit wird für ziemlich jeden Objekttyp nur noch ein einziges Queryabgesetzt.
CVars: spelling: dependant -> dependent (wir haben uns irgendwann mal auf AE geeinigt)
PriceTaxCalculator: chart->taxkey lookup vorberechnen
RecordLinks: frühzeitig abbrechen, wenn keine links gefunden wurden.
CVars: beim Autovivifien gültigen Wert für selects forçieren
RecordLinks: Anzeige etwas verbessert
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
CustomVariables: Verwendung mit RDBO als Writer implementiert
CustomVariable-RDBO-Helfer: Dokumentation aktualisiert
CustomVariable-RDBO-Helfer: Konfigurationen sortiert auslesen
Bisher war es Zufall, dass die Konfigurationen in der richtigenReihenfolge von der Datenbank zurück kamen. Dadurch, wie das Umsortierenimplementiert ist, werden die Einträge in der richtigen Reihenfolge in...
Merge branch 'pflichtenhefte'
Conflicts: js/locale/de.js
cvar_as_hashref mixin, um cvars gut zu serialisieren
Pflichtenhefte: Mapping für Tabelle project_statuses gefixt
Refactoring: {strip,restrict}_html in eigene Module ausgelagert
AttrHTML: Model-Helper für sicheres HTML in RDB-Models
Verknüpfte Belege: Unterstützung für Pflichtenhefte
Pflichtenhefte: Unterstützung für an Textblöcke angehängte Bilder