Einkaufsrechnungen: Neu buchen SQL Fehler behoben
Fehler trat auf, wenn Aufwandsmethode eingestellt war, und eineEinkaufsrechnung, für die bereits eine Verkaufsrechnung existiertegeändert wurde. Dann wurde fälschlicherweise beim Umkehren der Rechnungversucht die Warenbestandsbuchungen zu ändern....
Form->format_amount: Warnung über negativen repeat count vermeiden
Warnung erscheint, wenn bei Konstrukten wie »'str' x $anzahl« die$anzahl negativ ist.
DATEV: Falsche Variable für Nachkommastellen gefixt
Fun fact: das war seit Refactoring in 2008-12-15 kaputt (Commit40d52f50).
DATEV: Dateinamen richtig in EV-Datei schreiben
Ein foreach über ein Array weist der Iteratorvariablen die Inhalte zu,nicht die Indizes ins Array. Also die Variable nicht noch mal ans Indexnutzen.
Fun fact: das war mindestens seit dem perltidy-Commit in 2005 kaputt.
DATEV: Benutzung undefinierter Werte vermeiden
Wenn der DATEV-Export vom Payment-Helfer mit aktivierten DATEV-Checksheraus aufgerufen wird, so sind diverse Felder wie die KNE-Kopfdatennicht gesetzt (werden auch nicht benötigt).
Hash-Zuweisung mit ungerader Anzahl Elemente vermeiden
In einem Hash wird eine leere Liste im ternären Ausdruck nun mal imListenkontext ausgewertet… und dadurch ist bei so einem Konstrukt dierechte Seite potenziell leer (sie enthält kein Argument):
my %h = ( whatever => test() ? 1 : () );
Benutzung undefinierter Werte vermeiden
Alte DB-Indizes entfernt/aufgeräumt
werden seit Einführung von Primary Keys in den entsprechenden Tabellennicht mehr benötigt.
Fehlende Fremdschlüssel für buchungsgruppen.inventory_accno_id ergänzt
Typos in Doku
Doku Build
Entfernte Symlinks: Dokuupgrade
do.pl: bei Nutzung von croak auch Carp einbinden
Lieferschein: Übernahme einiger Felder aus Auftrag gefixt
Betroffen waren das Auftragsdatum, Angebotsnummer, BearbeiterIn,Steuerzone. Ist in 464f44a kaputt gegangen.
Einkaufs-/Verkaufsmasken: Zahlungsbedingungen bei Kunden-/Lieferantenwechsel resetten
Das ist in 5bc87ade kaputt gegangen.
DBUpgrade-Vorschau, Verkaufsmasken: schönere Bezeichnung für Details-Buttons
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
SL::DB::Project: displayable_name-Methode
Überflüssigen mode aus DeliveryValueReport entfernt
Details: Diese Variable wird nicht mehr verwendet und braucht demnach auch nicht initialisiert zu werden.
SelfTest um Testfall ac.amount ar.netamount ergänzt
In Ergänzung zu #7915128c einen ähnlich sinnvollen Testfall fürSelftest ergänzt.Im Datenbestand muss zwingend ar.netamount acc_trans.amount für TypAR_amount identisch sein.Ansonsten kommt / kam es in der Vergangenheit immer zu cent Differenz in...
Abhängigkeiten für Auth-Upgrades verbessert
behebt #100
Dokumentationslink bei Vorlagen bearbeiten angepasst
ReportGenerator Doku verbessert
Typos / style in Doku
round_amount: Anzahl Stellen nicht zu hoch werden lassen
format_amount - negative 0 vermeiden
Ist eine Zahl z.B. -0.002, und wird auf 2 Stellen gerundet, so wird erstdas Minuszeichen gemerkt, dann gerundet (0.00), und schießlich wird dasMinus wieder hinzugefügt, dadurch bekommt man -0.00. Mit diesem Patchwird das Minus-Zeichen entfernt wenn die gerundete Zahl genau 0 ergibt.
Übersetzung nachreichen für "Verkäufer importieren" beim CsvImport.
Siehe auch commit d13c70502afaee0fec445b82a0e1db1e37d0dfd2"CsvImport für Kunden und Lieferanten: Verkäufer importieren können."
Typo in Übersetzung.
PriceSources: Fehlerbehandlung in PriceRules.
PriceSources: discount_from_source analog zu price_from_source implemeniert.
Wenn keine zur Rabatt-Quelle passende Klasse gefunden werden kann, wird auchhier ein spezieller leerer Rabatt zurückgeliefert.
PriceSources: Namen der Quellen für Kunden- und Lieferantenrabatt berichtigt.
Die Klassen SL::PriceSource::Customer und Vendor verwenden als name'customer_discount' bzw. 'vendor_discount' während SL::PriceSource::ALL'customer' und 'vendor' benutzte.Dadurch ließen sich z.B. diese Rabattquellen nicht deaktivieren.
Revert "POD zu update_attributes ergänzt"
This reverts commit 2271551b46c84fa256c7a2e0a46c04cddf31e89e.
Standardlagerplatz in Stammdaten beim Umlagern ändern
Scheinbar hat dies bisweilen immer nur bei gleichbleibenden Lagern funktioniert(s.a. Ergänzung POD in Object.pm->update_attributes)Ferner, sinnvollerweise das bestehende Part-Objekt verwenden und kein neues...
POD zu update_attributes ergänzt
mit der Bitte an Sven einmal gegenzulesen.
Symlinks entfernt
Die bevorzugte Art das Programm an den Apache anzubinden ist seit Jahrenüber ein AliasMatch der direkt dispatcher.<typ> aufruft.
Das letzte mal haben wir das 2010 probiert, da gab es aber noch vieleInstallationen deren Update nicht trivial gewesen wäre. Das sollte heute...
t8 für sinnvolle Lokalisierung (locales.pl) in mtime_ischanged
Ferner korrekten optionaler Fehlertext bei entsprechender Option ausgeben.
Preisquellen: Fehlerbehandlung in MakeModel
CsvImport für Kunden und Lieferanten: Verkäufer importieren können.
Rückgabewert von system-Aufrufen prüfen und ggf. Fehler ausgeben.
Kosmetik
FlattenToForm: nicht zu rundende Zahlen mit mind. zwei Nachkommastellen darstellen.
3. Überarbeitung Prüfen beim Speichern, ob Dokument geändert ist
Verbesserte Regex für API-Aufruf. Gorash Code-QS. Abfangen vonSQL-Injections auf API-Ebene (100%)
neue Aggregatfunktion "FIRST", für Auswertungen
typo in pod
Massenkonvertierung Lieferschein - Rechnungen. Detailverbesserungen
Aufgrund der Code-QS von Bernd folgende Details bei der Massenkonvertierungvon Lieferscheinen nach Rechnungen eingebaut:a) Das Model filtert jetzt nur nach offenen Verkaufslieferscheinen und...
Testfall convert_invoice.t um html-formatierte texte erweitert
Beim Konvertieren von Lieferschein nach Invoice auch explizit dieFormate von CKEditor prüfen. Ferner leichte weitere Anonymisierung derWarendaten.
Übersetzungsbüro Richardson Rechtschreib-QS von Commits in den Standard ...
Auslagern über Standardlagerplatz: Artikel mit Chargennummern auslagern
Standardmässig funktioniert das Auslagern über Standardlagerplatz nicht, sobald eine Chargenummeroder eine Mindesthaltbarkeit definiert ist, da dass Programm nicht entscheiden kann, welche Charge oder MHD...
Changelog Update
2. Überarbeitung Prüfen beim Speichern, ob Dokument geändert wurde.
API-Funktion minimale Sicherheitschecks auf Parameter.Häßliche If-Abfrage mosufiziertPOD ergänzt
Erste Überarbeitung "Prüfen beim Speichern, ob Dokument geändert wurde."
Prüfen beim Speichern, ob Dokument geändert wurde.
Allgemeine Funktion in Forms zum Lesen und Vergleichen der mtime
überall Form variable lastmtime da mtime mehrfach auftaucht
Conflicts: templates/webpages/ar/form_header.html templates/webpages/do/form_header.html
Zahlungsbedingungen: falsche Beschreibung der Bank-Variablen gefixt
Die Variablen wie <%bank%> wurden bezeichnet als »Ihre Bank«, sprich dieBank der kivitendo-Nutzerin. Das ist schlicht falsch, weil es die Bankdes Kunden/Lieferanten ist, der beim gerade ausgedruckten Beleg...
Zahlungsbedingungen: Variablen für BIC, IBAN, Mandats-ID, Mandatsunterschriftsdatum
Kosmetik: Einrückung
Lagerbewegungen/-bestände auch mit Mindesthaltbarkeitsdatum importieren können.
Auch hier kann es Probleme geben, wenn eine Installation zuerst dasMindeshaltbarkeitsdatum aktiviert hatte und es dann deaktiviert wird (siehe auch"System->Mandantenkonfiguration", Reiter "Lager" unter "Mindesthaltbarkeit...
Rechnungen: vor Benutzen von SL::DB::Invoice Modul auch laden.
Sonst gibt es eine Fehlermeldung, zumindest ohne fcgi.
Request: Dateiupload in form arrays[] gefixt
_recode_recursively hatte die Weiche für Dateiupload nur beiHashzugriff, und hat im Array-Kontext die Daten überschrieben.
Rechtecheck für BankImport Controller
Typos
Typo in xml doku
Changelog für Massenkonvertierung angepasst
Vergessene locals
Optionale Sortierfunktion in Lieferscheinen
Den Commit aus dem Kundenprojekt entsprechend für denStandard überarbeitet und als optionale Aufruf für ein HTML-Templatezu Verfügung gestellt.Entsprechend kurz im POD beschrieben.
Implementiert FB0017 Position nach Art.Nummer in Lieferschein sortieren
Ab dem Status Verkaufs-Lieferschein können die Positionen nach Artikelnummern sortiert werden, sodass diese Sortierreihenfolge in die Rechnung übernommen wird.Implementierung mit Natural Sort, d.h. Buchstaben und Zahlen können gemischt sein....
Massendruck weitere Optionen (zweiter Druckbefehl) implementiert
transdate, copy_printer_id (id des zweiten Druckbefehls) als optionaleParameter beim Aufruf der Konvertierung inkl. Ausdruck in der APIbereitgestellt.
Details: perldoc SL/Controller/MassInvoiceCreatePrint.pm
convert_to_invoice params an Invoice::new_from(%params)
DeliveryOrder.pm übergab etwaige Parameter beim Aufruf von new_froman Invoice->post(%params). Das macht für den Anwendungsfall chart_idin 42ea98b4 Sinn (Order.pm), allerdings benötigt die convert_to_invoice in...
OpenDocument-Template: Umwandlung von HTML-Feldern gefixt
OpenDocument hat gewisse Probleme mit Verschachtelung von gewissenKonstrukten, z.B. kein <text:p> innerhalb von <text:p><text:span>. DieHTML-Felder aber sind immer in ein <p>…</p> eingeschlossen....
OrderItem POD hinzugefügt
Hinweis auf entfernte Funktionen und Verbesserungsmöglichkeiten.
OrderItem tote Funktionen entfernt
Modus-Aufruf (DeliveryPlan) im Menü entfernt
Lieferplan Modus Lieferwertbericht entfernt
Der Modus ist jetzt unnötig, da der Lieferwertbericht eineneigenen Controller hat.
Recht prinzipiell setzen
Nicht nur auf den Menüaufruf verlassen, sondern den gesamtenController vor Ausführung auf das Recht delivery_value_report prüfen.
Druck: Bei template-toolkit auch die globals setzen
SEPA: Nachrichten-ID-Filter in Zusammenfassung anzeigen
Kreditorenbuchungen: In Kopf anzeigen, in welchen SEPA-Exporten der Beleg enthalten ist
Einkaufsrechnungen: In Kopf anzeigen, in welchen SEPA-Exporten der Beleg enthalten ist
Debitorenbuchungen: In Kopf anzeigen, in welchen SEPA-Exporten der Beleg enthalten ist
Rechnungen: In Kopf anzeigen, in welchen SEPA-Exporten der Beleg enthalten ist
Debitoren-/Kreditorenbuchungen: Kreditlimit-Anzeige angepasst/gefixt
Der Titel »Kreditlimit« wird nun wie andere Zeilentitel in der linkenSpalte angezeigt, was den Blickfluss stabilisiert.
Weiterhin wurde in der Debitorenbuchungsmaske auch ein negativer...
SEPA-Suche: nach Nachrichten-ID suchen können
SEPA-Suche: Nachrichten-IDs als Spalte anzeigen
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...
Rechnungssuche: optionale Spalte Mahnstufe implementiert
Debitorenbuchungen: aktuellen Mahnstatus anzeigen
Der Mahnstatus wird nun analog zu Verkaufsrechnungen angezeigt.
Verkaufsrechnungen: aktuellen Mahnstatus anzeigen; Texte leichter verständlich
Zusätzlich zur höchsten Stufe aktuell noch offenen Rechnungen und demgesamten offenen Betrag angemahnter Rechnungen des Kunden wird nun auchexplizit angezeigt, wenn die aktuelle Rechnung selber angemahnt...
Mahnungen: Links zu Debitorenrechnungen gefixt
In der ersten Maske, in der die anzumahnenen Rechnungen ausgewähltwerden können, wurden Links immer nur auf is.pl gesetzt, auch fürDebitorenbuchungen.
E-Mail-Journal: Kosmetik, Übersetzungsanpassungen
E-Mail-Journal: per Default einschalten
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
MRCP.pm. Falls Webdav Archivierung auch PDF in Webdav kopieren
Beim Massenwandeln prinizipiell auch den WebDAV Ordner und dieDatei plus Zeitstempel erstellen. Entsprechende Fehlermeldungenan die Oberfläche zurückgeben, wie allen anderen Meldungen in MRCP auch.
Webdav::File.pm->store um Parameter file erweitert
Falls man ein pdf nicht im Program als Objekt hat, sonderneine wirkliche Datei im Dateisystem vorliegen hat,muss diese nicht erst als Objekt geladen werden, sondern kann simpel mit: $webdav_file->store(file => $path_to_file);...
Rechnungen: Zahlungsein-/-ausgänge nach Datum sortieren
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...
Mahnungen: Rechnungen mit Lastschrifteinzug nur auf Wunsch mit anzeigen
Debitoren-/Kreditorenbuchungen: bei Zahlungen per Knopfdruck auf Fehlbetrag setzen
Debitoren-/Kreditorenbuchungen: Zahlungsdatum mit aktuellem Datum vorbelegen
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.
Changelog, Kosmetik und Warenfilter für Lieferwertbericht
Doku und changelog ergänzt. Sinnvoller formatiert und modelum part erweitert, damit der Filter (Erzeugnis, Dienstleistung undWare) wie beim Lieferplan funktioniert.