Belegpositionen nicht mehr mit ordnumber, transdate, cusordnumber speichern
stattdessen für das Drucktemplate der Rechnung ordnumber_oe, transdate_oe undcusordnumber_oe aus Recordlinks auslesen, und auch entsprechendeDruckvariablen für Angebot und Lieferschein bereitstellen....
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
wzToolTip durch jQuery ToolTipster ersetzt
wzToolTip hat ein uraltes, ist in der Benutzung ausgesprochenunkomfortabel und unflexibel und muss zwingend in jedem benutzendenTemplate manuell nach dem <body>-Tag eingebunden werden. Dadurch kannes z.B. nicht im Layout mit ausgegeben 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...
GetModels: Optional die action setzen.
GetModels Filtered: gelaunderten Filter nicht mehr in Controller schreiben
Statt dessen kann der gelaunderte Filter über das Filtered-Pluginabgefragt werden, z.B. im Controller:
$self->models->filtered->laundered
oder im Template:
SELF.models.filtered.laundered
GetModels Filtered: manuelles Setzen von launder_to entfernt
Dies ist ein Zwischenschritt. Das Ziel ist, den gelaunderten Filter nurnoch im Filtered-Plugin selber zu speichern und ihn von dort abzuholen.
Da launder_to bisher noch nirgends benutzt wird, sondern immer nur der...
GetModels Filtered: gelaunderten Filter im Plugin zur Verfügung stellen
ParseFilter: Komplexe Methoden ermöglichen, die auch den Key ändern
ParseFilter: re-factor das Parsen von Filter- und Methodennamen
ParseFilter: re-factoring des Anwendens von Filtern und Methoden
GetModels: Disablen von Plugins auch für undef
Die Dokumentation sagt Folgendes zum Deaktivieren von Plugins:
Configuration for plugins. If the option for any plugin is omitted,it defaults to enabled and is configured by default. Giving afalsish value as first argument will disable the plugin....
AttrDuration: Implementation für Spalten, die Dauer in Minuten speichern
DBConnect-Cache: undefined-Warnungen vermeiden
Treten z.B. beim Aufsetzen der Testdatenbank auf.
Bankerweiterung - bei Rechnung zuweisen Verkaufsrechnungen anzeigen
Das Feature war kaputt, offene Verkaufsrechnungen wurden nicht angezeigt.
Skonto - korrekte Variablenprüfung payment_term
für den Fall, daß kein payment_term bei den ausgewählten Rechnungen gesetzt ist.
Revert "Banktransactions - beim Speichern der Rechnung Zahlungsart prüfen"
This reverts commit 8809a4d1a4b4d3e5b3de31af94c0679dabfacc28.
Das funktioniert so nicht.
ClientJS: Ziel-Argument bestimmter Funktionen vorne trimmen
jQuery kann aus HTML-Strings DOM-Objekte bauen:$("<p>stuff</p>"). Beginnt der HTML-String mit Leerzeichen, so croaktjQuery daran. Daher bei den betroffenen Funktionen, die immer auf einemso gebauten DOM-Objekt hantieren, das Ziel-Argument um führende...
ClientJS: cosmetics (alignment/indentation)
ClientJS: Kommentar korrigiert
history für Zahlungen ar/ap/is/ir und Zahlungsein- und ausgang
Die Spalte "addition" in history_erp hat jetzt einheitlich den Eintrag"PAYMENT POSTED", übersetzt als "Zahlung gebucht".
Bei Verkaufsrechnungen, Kreditor- und Debitorenbuchung wird jetzt zum...
Typos in Doku
SL::DB::{Invoice,DeliveryOrder}->new_from: manuelles Filtern von Items via coderef
DB-Handle Caches: DATESTYLE korrekt setzen
Payment - falsche geschweifte Klammer bei Skonto Zahlungsvorschlag
Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«
Bankbewegungsimport - detailliertere Fehlermeldungen
bei Fehlern oder nicht zuordbaren lokalen Bankdaten
Banktransactions - beim Speichern der Rechnung Zahlungsart prüfen
ob es einem gültigen payment type entspricht.
Außerdem korrekte Variablenprüfung, für den Fall, daß kein payment_termgesetzt ist.
Zahlungsbedingungen bei Lieferscheinen; veraltete Spalte »terms« entfernt
Kosmetik: Ausrichtung
$&, $' und $` grösstenteils entfernt.
Dispatcher: Client DB Handles cachen.
Spart etwa ein Drittel an Requestoverhead, von 27ms auf 17ms.
Banktransactions Import - bessere Fehlermeldung wenn BLZ nicht stimmt
Beim Import wird sowohl Kontonummer oder IBAN als auch die BLZ geprüft.Für den Fall, daß ein Konto anhand der importierten Kontonummer gefundenwurde, die importierte BLZ aber nicht mit der dazu gespeicherten BLZ...
Indirekte Objektnotation fixen
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...
SL::TransNumber: Belegtabelle vor Auslesen locken
HTML::Util: "nbsp" als HTML-Entity durch " " (space) ersetzen.
"nbsp" wird hier zu space, obwohl U+00A0 (non-breaking space) richtig wäre.non-breaking space kann allerdings zu schwer zu findenden Fehlern zum Beispielbeim CSV-Export führen, wenn ein Benutzer dieses nicht sichtbare Zeichen dann...
ClientJS: Values nicht trimmen
Wenn numerische Werte (also IVs und NVs) per Regex getrimmt werden,wird dabei das POK Flag gesetzt, das anzeigt, dass der Scalar auch einvalider String ist.
JSON kann dann nicht mehr unterscheiden welcher Typ der Scalar ist, und...
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
Locale: Bei parase_date_string undef sofort undef zurückgeben.
parse_amount: Bei amount undef sofort 0 zurückgeben.
RDBO Update: Tax
RDBO Update: Letter
Rechnungen: amount, netamount, paid NOT NULL DEFAULT 0
BankTransactions: typo in deref
Typos
Ausdruck Erzeugnisse mit Stückliste und Lieferantenartikelnummer repariert.
Betraf wohl auch andere Felder zu Artikeln, die vor der Aufbereitung desTEMPLATE_ARRAYS aus der DB gelesen wurden. Diese werden jetzt richtig inTEMPLATE_ARRAYS einsortiert.
Um auch die Einträge für Erzeugnis-Teile und Warengruppen (beim Gruppieren...
prepare_parts_for_printing: weight nicht hier in TEMPLATE_ARRAYS eintragen, …
… da das auch schon in OE|DO->order_details und IS->invoice_detailsgemacht wird. Und durch das doppelte push stimmt die Reihenfolge dannnicht mehr.
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
Berichte->Aufträge/Lieferantenaufträge: Zahlungsbedingungen anzeigen
Form::parse_amount: Parsen als Oktalzahlen verhindern
Ticket 53 - Bearbeiter von Storno-Beleg falsch
Für Dialogbuchen: der Mitarbeiter, der auf den Storno-Knopf gedrückthat, erscheint jetzt auch als der Mitarbeiter in der Stornobuchung.
Merge branch 'bankerweiterung_und_skonto'
Conflicts: locale/de/all
Keine Weiche für mt940 in SL/Controller/CsvImport.pm mehr
Stattdessen ein eigener Controller BankImport, der die Daten über einenneuen Helper in SL/Helper/MT940.pm (wo aqbanking-cli aufgerufen wird)nach CSV konvertiert.
mt940 ist nun kein eigener Importtyp vom CSV-Import mehr. Stattdessen...
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
Bankerweiterung: Typo, find_by correct aufrufen
POSIX: Autoexport aller Funktionen vermeiden.
use POSIX; exportiert den kompletten Funktionsumfang in das package. Dasalleine ist schon nicht schön, allerdings ändert sich die Liste derexportierten Funktionen je nach POSIX Version.
POSIX 1.47 bringt nun mathematische Funktionen, unter anderem round und...
Sessions: IP nicht bei IPv6 validieren.
Locale: eq-overload für t8 Objekte
GetModels: get_callback_params
liefert statt der fertigen URL die parameter für Controller::url_for
Conflicts: doc/changelog locale/de/all
Presenter Code - gl_transaction aus invoice wieder entfernt
Sammelcommit Bankerweiterung und Skonto
Überarbeitung der Bankerweiterung vom Stand Niclas, und Einführung vonBezahlung mit Skonto (alter payment Branch). Mehr Details siehechangelog.
DATEV - Buchungscheck prüft nur Buchungen einer trans_id
DATEV-Check für AR/AP/IS/IR/GL:
In der ersten Inkarnation wurden beim Check alle Buchungen des selbenTages mit geprüft. In der zweiten Version wurde zusätzlich zumTagesdatum nach der trans_id der aktuellen Buchung gefiltert. Hatte die...
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
Rechte-Anpassung für aktuelle Installationen
Es ist mittlerweile eher verwirrend Rechte für eine CRM zu verwalten, dieoffiziell nicht mehr Bestandteil von kivitendo ist.Die Änderung ist insofern defensiv, da alte Installation / Rechtestrukturennicht hiervon betroffen sind und wir für neuere kivitendo-Installation über-...
ClientJS: DOM-Funktion scrollIntoView() als ClientJS->scroll_into_view implementiert
Beim Einlagern auch MHD speichern.
Kundenbericht: Fehler beim Anzeigen von Preisgruppen behoben.
Der Fehler trat auf, wenn Preisgruppen mit Belegen angezeigt werden sollten.Bugfix zu: Preisgruppe bei Stammdaten->Berichte->Kunden anzeigen lassen können.
SL/DB/Helper/ALL Einträge für Brieffunktion
Mappings und MetaSetup für Brieffunktion
Preisgruppe bei Stammdaten->Berichte->Kunden anzeigen lassen können.
Conflicts:
SL/CT.pm bin/mozilla/ct.pl
Filtern nach Kunden-/Lieferantentyp bei Lieferschein-Berichten.
bin/mozilla/do.pl
Filtern/Anzeigen von Kunden-/Lieferanten-CVars in VK-Rechnungs-Berichten
bin/mozilla/ar.pl
Filtern/Anzeigen von Kunden-/Lieferanten-CVars in Angebots/Auftrags-Berichten
SL/OE.pm bin/mozilla/oe.pl templates/webpages/oe/search.html
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....
Lieferantentyp und -Rabatt oben in Einkaufmasken richtig anzeigen.
Die Anzeige von Typ und Rabatt war in Angebot/Auftrag und Lieferschein schonvorgesehen, aber der Rabatt wurd nicht geholt. In der Einkaufsrechnung fehltedie Anzeige ganz.
Wechsel eines Kunden-/Lieferanten mit Typ zu einem ohne …
… beim Bestimmen des Rabatts abfangen.
PriceSource: Objekt der richtigen Klasse für Lieferanten-Rabtt erzeugen.
Project-Controller: Paginaten beim CSV-/PDF-Export ausschalten
Die Entscheidung, ob CSV-/PDF-Export gewünscht wird, ist erst nach dem$report->set_options_from_form klar. Andererseits müssen Module imGetModels deaktiviert werden, bevor die GetModels-Instanz finalisiert...
surplus: Erfassungsdatum bei Stammdatensuche Kunden/Lieferanten ...
... im Bericht anzeigen und danach filtern.
SL/CT.pm bin/mozilla/ct.pl templates/webpages/ct/search.html
Übernahme aus Kundenprojekt.
surplus: Erfassungsdatum bei Stammdatensuche Waren/Dienstleistungen/Erzeugnisse ...
SL/IC.pm bin/mozilla/ic.pl templates/webpages/ic/search.html
Erfassungsdatum bei Verkaufs-Lieferscheinen.
In der Maske anzeigen; im Bericht anzeigen und danach filtern.
Erfassungsdatum bei Auträgen.
SL/OE.pm bin/mozilla/oe.pl locale/de/all templates/webpages/oe/search.html
item_selected: Multiselect bzw. Mengeneingabe beim Artikelselektor
Dieses Feature kann in den Benutzereinstellungen aktiviert werden.