Reclamation Controller: Support für Drucken via internem Kivi parser hinzugefügt
Dazu werden die benötigten Druck Variablen aus dem Rose DB objektins template array geschrieben.
Helfer Funktionen unter SL/DB/Helper/LegacyPrinting.pm erstellt.Siehe auch perldoc in dieser Datei.
Kreditorenbuchung reverse charge auch für Steuerschlüssel 18 und 19
S:Form: check_exchagerate: die id kann bzw. darf auch "undef" sein.
Das gab z.B. einen Fehler beim Neuanlegen einer Debitorenbuchungen für Kunden,bei denen eine Fremdwärung eingestellt ist.
Params validierung exakter beschrieben (review sprint)
Übersetzung für Stornorechnung (storno_invoice) für Historieneintrag
Form::create_links - fx_transaction payments besser parsen
Bei Fremdwährungszahlungen wird jetzt zusätzlich:
- fx_transaction gesetzt- defaultcurrency_paid gesetzt
Lieferantenauftragsbestätigung: Drucken
Typos: kein "purcharse" mehr
SL::Form: Verschiedene Übersetzungen für Reklamationstypen
reverse Charge Steuerschlüssel 94, keine Steuerbuchung in acc_trans
... dennoch Steuerschlüssel für den DATEV-Export korrekt setzen
Angebots-Eingang: Drucken
Auftrags-Eingang: Drucken
Lieferadresse speichern: Type in SQL-Query: Komma falsch
zu #555 Form::check_exchangerate was an 'undef'
Falls noch keine Kunden oder Lieferanten angelegt worden sind,wird auch keine Standardwährung gesetzt. create_links etwas lesbarerverbessert
check_exchangerate: Datum kann DateTime sein (periodic_invoices) und scheint ...
... auch eine gültige SQL-Abfrage zu erzeugen.
update_exchangerate für Zahlungen auch bei manueller Verbuchung
Wechselkurse für Belege oder Zahlungen für ar und ap holen und berechnen
Form:check_exchangerate: Fall bank_transactions macht keinen Sinn
mehr Tests für update_exchangerate und Rückgabewert für check_exchangerate
> update_exchangerate nicht nur auf Position der Parametern sondern auch den Wert im form>script vertrauen-> check_exchangerate gibt als zweiten Parameter den Ursprung des Wechselkurs...
Kosmetik, Kommentare
update_exchangerate: Negative Wechselkurse nicht akzeptieren
Form: update_exchangerate, check_exchangerate um Belegwechselkurs erw.
Ferner POD, strikte Parameter-Überprüfung und Verdacht aufweiteren ungenutzen Code hinzugefügt.
save_exchangerate entfernt (wurde benötigt für backorder_exchangerate)
Form: get_exchangerate entfernt
get_exchangerate nach check_exchangerate migriert
Die Funktion ist bis auf die eingehenden Parameter identisch
Form: check_exchangerate auf Parameter-Validierung umgestellt
Typo
Add entries for reclamation in SL/Helper/PrintOptions.pm and SL/Form.pm
js: namespace.js laden
Sonst gibt es einen JS-Fehler in den Login-Masken.Das wurde im Layout::None gmacht, aber die Login-Masken basierennun auf dem Layout::Design40Switch.
Falls Mahnung per E-Mail media 'email', aber nicht zweimal senden
Layout: webpages_fallback_path Mechanismus
design40: html5 doctype statt html4 transitional für die alten templates
Zu gerade: Variablen korrekt whitelisten, ansonsten wird zuviel gefiltert
Zu gerade: Bekannte druckvarialben (invtotal und total) nicht in form
Druckvariablen in Zahlungsbedingungen auch in form anbieten
sodass diese angedruckt werden und nicht nur die Variable die 2010 dazukam.
SL::Form::send_email: History auch im Fehlerfall schreiben.
Da sowohl E-Mail-Journal als auch verknüpfte Belege den fehlgeschlagenenSendeversuch anzeigen, sollte der auch in der Historie sein.
ToDo: evtl. könnte das im Fehlerfall anders gekennzeichnet werden.
Unterversionen für Angebote/Aufträge
Versionen werden finalisiert sobald sie per E-Mail rausgeschickt wurdenDanach ist die Bearbeitung gesperrt, aber es ist möglich eine neueUnterversion des Belegs zu erstellen.Unterversionen bekommen den Postfix -x, wobei x:= 2 .. n...
SameSite-Attribut des Session-Cookies auf Strict setzen
Vorgangsbezeichnung in Kreditorenbuchung: Speichern, Laden, Workflow
Mahnungen: E-Mail-Text als HTML
DeliveryOrder: Dateianhang Übersetzungen
Anzahlungs-Rg.: Kosmetik: Einrückung/Ausrichtung
Anzahlungs-Rg.: eigener Typ for Schlussrechnung (final_invoice (F))
Anzahlungs-Rg.: Drucken können
E-Mails als HTML verschicken: Versand in Einkaufs-/Verkaufsbelegen
Files: Druckvariante beim Drucken speichern und bei E-Mail darauf prüfen, …
… um festzustellen, welcher letzte Belegausdruck für die Variante relrevantist.
copy_file_to_webdav_folder: Übergebenen Anhang-Name berücksichtigen
Merge branch 'f-cvar-htmlfield'
Form: get_history sql escaping
Benutzerdef. Var. als HTML-Feld: Druckunterstützung
Kosmetik: Einrückung/Anordnung
Zusätzliche Rechnungsadressen: beim Ausdruck als Variablen verfügbar machen
Drucken: Variablen in Positionen interpolieren
Alle Variablen, die in Schleifen ausgegebenwerden (z.B. Artikelbeschreibung, Langtext, aber auch die Steuern)werden nun ebenfalls der Interpolation unterzogen, sodassz.B. in wiederkehrenden Rechnungen <%current_quarter%> in...
Definitionen von format_amount_units entfernt.
Durch die zwei vorgherigen commits wird format_amount_units nichtmehr verwendet.
Neue Druckvorlagen-Variante Rechnungskopie inkl. Wasserzeichen (marei)
Layout: webpages_path jetzt im Layout
Form::header: viewport Angabe für mobile Endgeräte
E-Mail-Versand: CC an andere kivi-Benutzer per Auswahlliste
Lieferscheine neue Funktion Zurücklagern
Belege die nicht älter als das Zurücklagerungs-Intervall sindkönnen wieder "entlagert" werden.
Lieferschein die ausgelagert sind, wurden bisher strikterals Rechnungen behandelt. Ein Zurücklagern war nur überdie Lagerkorrektur möglich.
PREVIEWED als Übersetzung in Kommentar, damit diese erhalten bleibt …
… beim locales-Lauf.
Und locales-Lauf en.
Mahnungen: alle erzeugten Dokumente zu jeder gemahnten Rechnung im DMS ablegen
Dazu die Dateien nicht mehr in SL::Form::parse_template speichern lassen,sondern in SL::DN selber für jede gemahnt Rechnung ablegen.
Merge branch '2020-leistungsdatum'
HTTP-Header: Lebenszeit für Session-ID-Cookie setzen gefixt
Der Name des Parameters lautet `-expires`, nicht `-expire`.
Außerdem den Timeout direkt aus `$::auth` lesen, um denselbenStandardwert zu nehmen, falls der Timeout nicht in der Konfigurationgesetzt ist.
HTTP-Header: Lebenszeit für Session-ID-Cookie setzen
Wenn ein Cookie kein Ablaufdatum gesetzt hat, so soll der Browser dasCookie beim Beenden löschen. Damit ist es de facto unmöglich, einSession-Timeout anzugeben, das groß genug ist, damit man auch amfolgenden Arbeitstag noch eingeloggt ist (z.B. 24 Stunden)....
Leistungsdatum: DATEV, Debitoren-/Kreditoren-/Dialogbuchungen
Einkauf/Verkauf: Feld »Leistungsdatum« für Steuerberechnung
SL::Helper::Number: API Verbesserungen
- API ist jetzt einheitlich ($amount, [$places], %params)- Benennung ist einheitlich [format|parse|round][number|total]- Tests aus t/helper/round.t nach t/helper/number.t verschoben- Tests für alle neuen Funktionen hinzugefügt...
SL::Helper::Number - format_amount aus SL::Form ausgelagert
- Neue Funktionen können direkt exportiert werden.- Alte Funktionen sind in SL::Form für Kompatibilität auf die neuen geproxied.- Tracing debug statements (enter_sub, leave_sub) entfernt- Zusätzlich noch eine neue Kategorie eingeführt: total, um Werte für...
E-Mail Betreff auch mit Kundenbestellnummer vorbelegen.
Form::prepare_for_printing: Lieferadresse nicht mehr hier laden. …
Das passiert jetzt in FlattenToForm
Individuelle Lieferadresse hinzufügen: falsche Reihenfolge der Werte korrigiert
kam mit "Individuelle Lieferadresse hinzufügen: cp_gender nicht vergessen" (commit bca91008eddc6a1734a75fcd555f10d1c8ac65f6),bzw. "Individuelle Lieferadresse hinzufügen: cp_gender nicht auf leer prüfen …"...
Form: Backend-Funktion get_taxcharts entfernt
Toter Code, die ALL_TAXCHARTS werden nicht mehr verwendetAufruf auch in ar.pl entfernt
E-Mail-Versand: vorbelegter Text für Rechnungen mit aktiviertem Bankeinzug
Lieferdatum in Debitoren-und Kreditorenbuchung
PDF-Erzeugung: alles in temporärem Unterverzeichnis von users erledigen
Das vermeidet Kollisionen, wenn Dateien mit festem Namen wie`pdfa.xmp` für PDF/A erzeugt werden müssen.
Vorlagen: (kaputte) Unterstützung für XML-Vorlagen entfernt
Außerdem ein paar Vorkommen der schon seit längerem entfernte Winston& Taxbird entfernt.
Bug in Emacs' Perl-Syntax-Highlighter umschiffen
SL::Form: Kosmetik: auskommentierten Code entfernt
der ist schon 12 Jahre auskommentiert.
SL::Form: get_lists: Unterstützung für shipto entfernt
get_lists für shipto wird nirgends mehr verwendet, soweit ich das sehe.
Zudem hat _get_shipto module nicht berücksichtigt und da customer und arids aus eigenen Sequenzen bekommen und somit zwei dieser ids für die...
Individuelle Lieferadresse hinzufügen: cp_gender nicht vergessen
shiptocp_gender darf bei der Prüfung, ob die Lieferadresse hinzugefügt werdensoll (also nicht leer ist), nicht berücksichtigt werden, da shiptocp_gender nieleer ist.Allerdings muss shiptocp_gender sehr wohl beim INSERT oder UPDATE...
Unterstützung für JSON-encodierte POST-Daten
Mit diesem Patch werden nun alle POST-Daten in $::request->post_datagespeichert. Wie bisher auch werden Daten mit Content-Type»multipart/form-data« zusätzlich in $::form gespeichert.
Will man aber JSON-encodierte Daten hochladen, so werden die...
Individuelle Lieferadresse hinzufügen: cp_gender nicht auf leer prüfen …
…, denn das ist nie leer.
Und sonst werden individuelle Lieferadressen angelegt, obwohl keineEingaben gemacht wurden.
Hierzu sollte evtl. noch ein DB-Upgrade-Skript erstellt werden, welches...
WebDav: Fehler beim Kopieren anzeigen / Verzeichnis zurück wechseln (2)
Der erste commit 108753a78b203dbe0ccbe6438cc16c8df33c04d3 hat das Druckenohne Fehler beim Ins-Webdav-Kopieren kaputt gemacht. Probleme waren:- ein return vergessen- chdir zurück auch ohne Fehler...
Auth: fehlerhafte JSON-Requests mit JSON und richtigem HTTP-Response-Code beantworten
WebDav: Fehler beim Kopieren anzeigen / Verzeichnis zurück wechseln
Wenn in SL::Form->parse_template bei Common::copy_file_to_webdav_folder etwasschief ging, wurde dort ein "die" oder "Form->error" aufgerufen. Allderdingswird in parse_template vorher das Arbeitsverzeichnis gewechselt, so dass die...
Form->prepare_for_printing: Einheiten übersetzen
Module: Exception::Lite durch Exception::Class ersetzt
generische E-Mail-Adresse für Lieferscheine
Ähnlich wie bei Verkaufsrechnungen gibt es generischeEmpfänger für Lieferscheine beim E-Mail-Versand.Die jetzige Konfiguration (nicht änderbar) entsprichtdem Wert Stammdaten und Ansprechpartner in CC.Ist eine Stammdaten-Mail und ein Ansprechpartner definiert,...
Rechnungsversand E-Mail-Body
Falls die generische E-Mail-Adresse verwendet wird, sollte auchdie generische Anrede hinterlegt sein, selbst wenn ein Ansprechpartnernoch in CC gesetzt wird.
Form::flatten_variables: Array Serialisierung gefixt
Durch einen 11 Jahren alten Bug wurden Top-Level Arrays nichtserialisiert sondern jeweils nur das letzte Element zurückgegeben.
Die gefixte Version schafft alle relevanten Tests der t/helper/flattensuite bis auf nested arrays, die sind von dieser Variante nicht...
TopQuickSearch: UserPreferences kleinere Syntaxverbesserungen
TopQuickSearch für den Benutzer konfigurierbar gemacht.
Über UserPreferences, allerdings wird die Mandantenkonfiguration (quick_search_modules) nichtberücksichtigt. Der Benutzer hat alle Schnellsuchen zur Verfügung.Das L.multiselect2side macht Probleme deswegen auskommeniert. Wenn aktiv wird das...
SL::Mailer: content_type statt contenttype, so wie im POD beschrieben
Form: verwaiste Funktionen entfernt
Form: version nicht mehr in $::form cachen
SL::Version - Versionsbehandlung aus Form ausgelagert
comment fix
Kein Webdav-Datei für statement.tex anlegen
Fix für alte PDF-Archivierungsfunktion im WebDAV.
Falls PDF-Archivierung für WebDAV aktiviert ist,kann die Liste der offenen Forderungen / Verbindlichkeitennicht gedruckt werden. Die eigentlich Fehlermeldung (no path for type)...
Filemanagement: Zentralisierte Prüfung ob bei Drucken im DMS gespeichert wird
Prüfung aller Mandanteneinstellung vor Speicherung im DMS,
fixt #286
E-Mail: Versandfehler oben auch anzeigen