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...
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.
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.
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%)
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...
Ü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...
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: 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...
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
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
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
Einkaufsrechnungen: In Kopf anzeigen, in welchen SEPA-Exporten der Beleg enthalten ist
Rechnungen: In Kopf anzeigen, in welchen SEPA-Exporten der Beleg enthalten ist
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
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
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);...
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
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.
Lieferwertbericht auf eigenen Controller umgestellt und erweitert
Erweiterungen aus einem Kundenprojekt übernommen. Ferner performantergemacht, in Anlehnung an calc_qts aus DeliveryPlan. Zusätzlichdas model einfacher umgesetzt und die Auswertung basiert jetzt auf...
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.
typo in SQL-Query
SEPA: offene Einzüge beim Neuerstellen von Einzügen richtig berücksichtigen
SEPA: In Exportliste Anzahl Rechnungen & Summe der Beträge als Spalten anzeigen
Project::full_description: style=full für »kein Kunde verknüpft« gefixt
SL::Mailer: Inhalt von Attachments direkt übergeben können
Bisher wurde ein Attachmentinhalt immer aus einer Datei gelesen. Liegt derInhalt schon in einer Variable vor, so kann diese nun im Attachment-Hashals Key »content« übergeben werden. Der Dateiname (Key »filename«) wird...
use parent statt use base in MetaSetup
E-Mail-Journal: Sequenznamen fixen
E-Mail-Journal: Journal anzeigen, Eintrag anzeigen, Anhänge herunterladen
Hintergrundjobverlauf: Pfad zum CSS fixen
E-Mail-Journal: verschickte E-Mails speichern
DateTime: neue Funktion end_of_month
Setzt $self auf den Start des letzten Tags eines Monats.
DeliveryOrder->new_from: Lieferbedingungen auch berücksichtigen.
Name für Attachment auch zurückliefern, wenn keine Belegnummer vorhanden ist.
Project-Picker basierend auf Part-Picker
RequirementSpecs: js accessor angepasst
MassInvoiceCreatePrint: js accessor angepasst
PriceRule: js accessor angepasst
PriceSource: js accessor angepasst
Inventory: js accessor angepasst
Controller::Base: js accessor bereitstellen
Der wird eh überall benutzt, also kann er auch gleich dahin.
Einkaufsrechnungssuche: Spalte Lastschrifteinzug optional anzeigen
Rechnungssuche: Spalte Lastschrifteinzug optional anzeigen
Wiederkehrende Rechnungen: Lastschrifteinzugsflag in Konfiguration setzen können
Rechnungen nach Fälligkeitsdatum sortieren
CreatePDF-Helper: variable_content_types als Parameter an SL::Template::create durchreichen
Damit auch mit CreatePDF HTML-formatierte Variablen aus dem ckeditorgedruckt werden können.
Typos in POD.
Angebote/Aufträge drucken: in order_details übergebene form verwenden …
… und beim Laden des Order-Objekts prüfen, ob eine id vorhanden ist.
DBConnect Caching: rollback nur bei Handles ohne AutoCommit
Beseitigt die nervigen Warnungen im Log
DBConnect Caching: DBConnect auto args in den Key aufnehmen
Typos in Doku
CVar-Helper: Beim Parsen darauf achten, ob unparsed_value ein Objekt enthält.
Um Objekte mit der value-Methode einer CVar vom Typ Customer, Vendor oder Partzuweisen zu können, muss beim Parsen die Id des Objekts ermittelt werden.
Dieses wird z.B. im Helper (SL::DB::Helper::CustomVariables.pm) verwendet, um...
POD Fehler
Menu: Nur yaml Dateien einlesen
Ansonsten machen Tempdateien von Editoren das Programm kaputt
Doku: POD für Invoice.pm erweitert
- Invoice anstatt Delivery Order bei new_from- Beispiel-Code für Benutzung von new_from mit parameter attributes- TODO angelegt, Controller sollten einige Datenfelder mit Hilfe von Backend-Funktionen prüfen können - in diesem Fall transdate
Merge branch 'mass_convert_delivery_orders_to_invoice'
Massenkonvertierung von Lieferscheinen nach Rechnung ink. Druck
Die Konvertierung als auch das Generieren des PDFs erfolgt alsBackground-Job. Entsprechend muss der task_server für den.Mandanten eingestellt sein.Details und bekannte offene Punkte im POD der beiden Perl-Module....
DeliveryOrder um convert_invoice erweitert
Diesselbe Idee wie bei SalesOrder->convert_invoice. Der ursprünglicheLieferschein wird geschlossen und das neue Objekt mittels record_linksverknüpft.Entsprechend Testfall mitgeliefert.