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.
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
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.
SL::DB::CVar::value: mit übergebenen DateTime-Objekten klarkommen
Ruft mal value als getter auf, so wird ein DateTime-Objektzurückgegeben. Als setter aufgerufen, erwartete die Funktion bisheraber, dass ein String übergeben wird. Somit war es nicht möglich, eine...
PriceSource: Bei Kundenrabatten nicht rabattierfähige Artikel ignorieren
Layout: Javascript Includes gefixt
1. jquery-ui muss im Top vorhanden sein für glquicksearch.js2. Javacript und CssMenu brauchen das frame_header css nicht einbinden3. js includes normalisiert ohne "js/" Präfix
Nach Request alle Datenbankhandle rollbacken
An diversen Stellen wird in Legacycode eine Transaktion manuellerstellt. Wenn in dieser Transaktion eine Exception geworfen wird,beendet das den Requst ohne die Handle aufzuräumen in der Annahme, dassdie disconnected werden....
Kontoauszug verbuchen - prüfen, ob Bankbuchung und Rechnung schon verlinkt
Eine Bankbuchung darf zwar mehrere Rechnungen begleichen, aber jedeRechnung nur einmal. Daher wird vor dem verbuchen geprüft, ob es für dieBankbuchung schon eine Verknüpfung zu der Rechnung gibt.
invoice_type, displayable_type und displayable_name für ap
Bei Einkaufsrechnungen und Kreditorenbuchungen gibt es keine Stornosoder Gutschriften.
Kontenabgleich - Anfangsdatum mit >= statt > filtern
Es sollen alle Bankbuchungen inklusive dem Anfangsdatum angezeigtwerden, nicht nach dem Anfangsdatum.
DeliveryOrder - Doku und Typos
Typos - kein "wether" mehr!
Projektbericht - Sortierung nach Status und Typ repariert
ist nach Umstellung auf Controller kaputt gegangen
OpenDocument Druck: foreach Konstrukte korrekt ausschneiden
PriceSource: Vor Popup Einheit resetten
Ansonsten gibt es beim nächsten Update Probleme mit doppelt formatiertenEinheiten.