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
vergessene Backend-Funktion für E-Mail-Vorbelegung
Ferner eine Fußnote als Hinweis zur Vorbelegungs-Funktion gesetzt.
Druckfunktion: beim Debuggen temporäre Datei für alle lesbar machen
Druckfunktion: Zeitstempel im Dateinamen
Das hilft herauszufinden, welche die neueste Datei ist, wenn manDruckvorlagen debuggt und dann viele temporäre Dateien herumliegenhat.
Filemanagement: Speichern der erzeugten Mahnungsdokumente
Die Dokumente werden nun bei der entsprechenden Rechnung abgespeichert.
Da ja Rechnungen zusammengefasst werden können, wäre die Zuordnung ggf bei den Kundendaten besser
impl redmine #274
Rückgabe von SL::File::store_pdf prüfen.
Behebt #274
HTTPS: Zustand korrekt erkennen, und im Workflow verwenden
Behebt Probleme, wenn der Server die HTTPS Environmentvariable auf 'off'setzt.
ActionBar/Dateimanagement: Verschicken von Dateien via E-Mail wieder implementiert
Dateimanagement: Anhänge nicht als Referenz an SL::Mailer übergeben
SL::Mailer erwartet, dass der Inhalt der Anhänge, die in$mailer->{attachments} übergeben werden, direkt im Attribut »content«gespeichert ist.
Das Interface von SL::File hingegen gibt nur eine Skalarreferenz auf...
ActionBar: Verwendung bei »offene Forderungen/Verbindlichkeiten«