Payment::pay_invoice with skonto -> Steuersatz ist eindeutig
tax_id in acc_trans definiert sicherer den Steuersatz als dertaxkey (Steuerschlüssel von DATEV), s.a. FK-Constraint:"acc_trans_tax_id_fkey" FOREIGN KEY (tax_id) REFERENCES tax(id)
DATEV::CSV Typo in Datenstruktur
SelfTests: False Positive bei Buchungen auf ic_cogs als Sammelkonto vermeiden
CSV-Helfer: Leere Zeilen ignorieren.
Als leere Zeilen hier gelten auch Zeilen, die nur das Trennzeichen enthalten.
Mit leeren Zeilen gab es immer wieder Probleme, teils mit schwer zuinterpretierenden Fehlermeldungen, teils mit nicht gewünschtem Verhalten, z.B....
Auftrags-Controller: Workflow Auftrag VK <-> EK
SL::DB::Order->new_from: Prüfung auf Quell- und Ziel-Typ refactored
Typo in Fehlermeldung
Auftrags-Controller: fake id für Items nach Workflow setzen.
Für items, die hinzugefügt werden, also noch nicht in der DB gespeichert sind,muss eine fake id gesetzt werden, damit diese bei den actions, die einzelneitems betreffen, auch richtig gefunden/zugeordnet werden können....
Lieferplan um Filter nach Abteilungen ergänzt
Auftrags-Controller: Kunde/Lieferant vorbelegen, wenn deren id übergeben wird
Für die Workflow-Links aus den Kunden-/Lieferantenstammdaten heraus werdendie customer_id oder vendor_id berücksichtigt und die Kunden-/Lieferanten-abhängigen Attribute im Order-Objekt entprechend gesetzt.
Workflow aus Kundenstammdaten zum neuen Auftrags-Controller, …
… wenn experimentelle Features eingeschaltet sind
Auftrags-Controller: Formelberechnung
Sollte evtl. auf Dialog umgestellt werden.
Auftrags-Controller: Kunden-/Lieferantendetails ("D")
Hier sollte die alte Makse auch umgestellt werden, erstens auf Dialog undzweitens damit via Rose zugegriffen wird.
Payment Helper - Parameter in POD korrigiert
Payment Helper - besser Fehlermeldung in pay_invoice
Dev create_sales_invoice - type ist invoice
CVars: in Artikelstammdaten sind alle CVars gültig
Der Code zum Rendern der CVars zeigt nur »Element deaktiviert«, wenndie CVar als ungültig geflaggt ist. Das kann auch in den Stammdatenpassieren, nämlich dann, wenn man eine CVar in der Konfiguration als...
Order-Controller: Angebotsgültigkeitsintervall beachten
Wie beim alten Angeboten auch, soll die Gültigkeit des Angebotsaus der Mandatenkonfiguration gesetzt werden, falls hier ein Wert vorhanden ist.
Auch Verwendungszweck beim Import per CSV zusammenfügen
Beim MT940 Import wird purposeX und remote_name_X in einerZeichenkette zusammengefügt. Beim CSV-Import ist dies nichtmöglich, da an der Oberfläche das entsprechende Drop-Down-Elementdiese Zuordnung (Spalte -> Import-Objekt) nicht zulässt.
Merge pull request #17 from robert-scheck/apache24
Update .htaccess for Apache 2.4 to avoid mod_access_compat dependency
Auftrags-Controller: bei als neu speichern auch ein neues Objekt erzeugen
Behebt #351 (redmine).
Order: new_from: auch gleiche Quell- und Ziel-Typen berücksichtigen
See also: https://httpd.apache.org/docs/2.4/upgrading.html
vergessener Presenter::EmailJournal
Der Betreff der E-Mail soll anklickbar sein und direkt zumDetaileintrag des Mail-Journals führen.Überwiegend übernommen von Presenter::Letter
Verknüpfte Belege um die Verknüpfung 'E-Mail Journal' erweitert.
Falls das E-Mail-Journal aktiviert ist wird zusätzlich zu derarchivierten E-Mail auch die Verknüpfung vom Beleg zu der E-Mail mitgespeichertund ist im Beleg zusätzlich direkt anwählbar.Etwas mehr Details im POD vom Mailer.pm, die Implementierung orientiert...
DATEV/CSV check_encoding, sollte wirklich das encoding checken
Entsprechend vier Testfälle für die Routine gesetzt und Hintergründe in #348 dokumentiert.
Auftrags-Controller: Anzeige mit Infos über den Kunden-/Lieferantentyp
SL::DB::Order: keinen Fehler werfen, wenn Typ noch nicht zu ermitteln.
Das ist der Fall, wenn noch kein Lieferant oder Kunde gesetzt ist.
SelfTests/Transactions.pm erweitert
Da beim Löschen von Zahlungen mittlerweile auch kaskadieren diereconciliation_links gelöscht werden, können verwaiste abgeglichenBankbewegungen entstehen.Entsprechend Testfall ergänzt.
Auftrags-Controller: Workflow Angebot->Auftrag nur, wenn gespeichert
Typos in POD
Auftrags-Controller: Mini-Refactoring: js-save-Funktionen zusammengefasst
Auftrags-Controller: Save as new
Controller::Base::url_for: nur noch fragment erlauben
Mit mosu darüber gesprochen, und folgende Argumente kamen:
TopQuickSearch::Contact: fragment statt hash für for_url
InstallationCheck: String::Shellcode nicht zur compilezeit laden
TopQuickSearch::Contacts: direkt auf den Ansprechpartner tab springen
Controller::Base: url_for unterstützt jetzt URI fragments.
HTML Menü: Javascript ausgelagert in eigene Datei
Form: verwaiste Funktionen entfernt
Auftrags-Controller: Workflow von Angebot nach Auftrag (Ein- und Verkauf).
SL::DB::Order->new_from implementiert.
Im Moment nur von Angeboten zu Aufträgen (Ein- und Verkauf).
Auftrags-Controller: Speichern nicht accesskey "enter"
Auftrags-Controller: auch für Angebote/Anfragen
Zahlungsbedingungen bei Kundenwechsel aus Stammdaten holen
`IS::get_customer` kann die Entscheidung, ob die Zahlungsbedingungenüberschrieben werden sollen oder nicht, gar nicht treffen, weil esnicht genug Informationen hat. Nur der Aufrufer hat die, und daher...
Behebt: #343 Kontoauszug verbuchen Skontoautomatik bei Verkaufsrechnungen defekt
modules/fallback: Module entfernt.
In modules/fallback sollten nur module stehen die:
a) für installationcheck gebraucht werden oderb) nicht per apt installierbar sind
Das gilt für die folgenden Module schon lange nicht mehr:
AM::_get_warehouse: schnelleres Query
Das alte war extrem langsam für Installationen mit vielen Lagerplätzen
Typo in POD
PriceSource: unknown Flag um "fast" korrekt durchzureichen
PriceSource: fast Flag für zukünftige Performanceoptimierungen
CsvImport: Makemodels bei bestehenden Waren stabil sortieren
Part: makemodels_sorted accessor
Makemodel Manager mit _sort_spec
Auftrags-Controller: Konfiguration wiederkehrender Rechnungen.
Auftrags-Controller: E-Mail-Dialog aus common verwenden.
Auftrags-Controller: Beim Drucken Sprache richtig berücksichtigen.
Auftrags-Controller: Fehler bei Anzeige von EK und Marge in 2. Zeile behoben
Wenn das Order-Objekt noch nicht gespeichert ist, kann darauf nicht über$item->order zugegriffen werden. Darum muss an die 2. Zeile eine weitereVariable durchgereicht werden, um zu bestimmen, ob wir im Verkauf sind und...
Auftrags-Controller: Workflow -> Rechnung (Speichern und Rechnung erfassen)
Auftrags-Controller: Verkäufer bei Kundenwechsel ändern
Auftrags-Controller: Sortimente mit Mehrfachauswahl hinzufügen können.
Behebt #220 (redmine).
Presenter::Tag::link - umbenannt in link_tag
um Namenskonflikte mit dem link builtin zu vermeiden
Controller::LoginScreen: AuthHandler::handle ohne Argumente aufrufen
Abgesehen davon, dass die Parameter nicht mehr benutzt werden, behebtdas einen ganz ekeligen Bug: "panic: attempt to copy freed scalar"
Das Problem ist, dass der AuthHandler selber das Einloggen übernimmt und...
PriceSource: Objekte cachen.
Im Moment werden die einzelnen Worker im normalen Workflow mehrfachangelegt, einmal für die verfügbaren, und dann noch einmal für denbesten und zum wiederherstellen der existierenden.
Für größere Belege wird das merklich, und bei komplexen...
Presenter: Kosmetik: Anordnung
Presenter: Klasse für SL::DB::PurchaseInvoice ist SL::Presenter::Invoice
Sichtbarer Effekt: in der Liste der verknüpften Belege wurde dieRechnungsnummer und damit der Link zur Einkaufsrechnung nichtangezeigt.
LaTeX-Druck: Newlines nicht entfernen
LaTeX-Druck: Unicode-Control-Zeichen und nicht druckbare Zeichen entfernen
Filtert z.B. das »bidirectional left-to-right«-Kontroll-Zeichen raus,an dem sich LaTeX verschluckt.
DATEV/CSV: Buchungstext exportieren
Durch einen Typo wurde da statt dem Slot "buchungstext" der Slot"buhcungsbes" exportiert, der natürlich leer war.
PriceSource: Doku Update
Preisquelle Stammdaten: lastcost hat jetzt niedrige Priorität
Damit überstimmt der nicht mehr listprice sofern der vorhanden ist
fixt #337
Vergessene Presenter-Umstellung für Controller/Part.pm
SEPA-Sammelanweisung (is_batch_transaction): BUGFIX Loop richtig beenden
Wurde eine Sammelanweisung gefunden, ist die Suche für die betroffenen Banktransaktion beendet.Fälschlicherweise wurde nur die innere Schleife beendet, es muss aber die äußere Schleife beendet werden.
Presenter/RequirementSpec: typo
Part: Speichern nicht accesskey enter
PartCustomerPrices: Preisbehandlung nicht hart kodieren
Kunden-Spezifische Artikeleigenschaften
neue Tabelle "PartCustomerPrices" mit SL/DB Dateienin Artikelstammdaten eingebaut,
in Preisquellen analog zu den Lieferantenpreisen nun Kundenpreise eingebaut(Unklar ist was bei Kundenpreisen der beste Preis ist !)...
Inventur: Eingabemaske und Journal im Inventory-Controller
Inventur: Inventurzählungen mit Lagerbewegungen im Backend SL::WH speichern können
Inventur: Voreinstellungen für Lager, Lagerplatz und Stichtag (DB und Rose)
Inventur: neue Tabelle für gezählte Artikel. DB-Upgrade und Rose
Inventur: Manager-Klasse für Inventory (f. sorting/paginating)
PartPicker kann auch nach EAN suchen
Formatierung und unnötiges Arrayelement entfernt
Artikelliste bei Schnellsuche, wenn mehrere Treffer vorgeschlagen sindund keiner ausgewählt istfix #282
Presenter::CustomerVendor: interface normalisiert
es gibt jetzt zusätzlich:- customer_picker- vendor_picker
die auf den jeweiligen typ gecrurried sind
Presenter::Tag: date_tag aus Plugin/L verschoben
Presenter::Tag: textarea_tag aus Plugin/L verschoben
Presenter::Tag: Optionale Precision für input_number_tag
Presenter::Tag: singleton tags
Vorher wurden alle tags als singleton (also ohne schließenden Tag)gerendert, wenn sie keinen content hatten. Das geht aber kaputt beitextarea, weil ein einfaches <textarea> den kompletten folgenden HTMLCode als Content interpretiert....
Presenter::EscapedText: quote_html nicht über $::locale laufen lassen
Die quote_html Liste in speacial_chars ist extrem langsam. Für HTMLGenerierung lieber diese optimierte nehmen.
SL::DB<->Presenter: Argumente aus Templates korrekt splicen
Objektmethode date für GLTransaction
In gl gibt es nur gldate. Entsprechend wie bei invnumberdie auf reference in gl verweist date auf gldate gesetzt.Verbessert das Verhalten wenn es bei Details auflisten in Projektenverknüpfte Dialogbuchungen gibt.
SelfTests: check_paid_ap ID in E-Mail-Bericht übergeben -> einfachere Analyse
Presenter: can-Aufruf an geproxytes Objekt durchreichen & geproxyte Klasse laden
Presenter: richtige Presenter-Klasse bei DB-Klassen Customer/Vendor laden
Presenter: Neue Struktur in RecordLinks
Presenter: Doku
Presenter: Neue Struktur im DBUpgrade
Benutzerdefinierte Datenexporte: Standardwerte für Parameter angeben können