Mandantenkonfiguration - Warengruppe als Pflichtfeld
Kann nun konfiguriert werden.
MassRecordCreationAndPrinting - MassInvoiceCreatePrint: Auftrag schliessen
MassRecordCreationAndPrinting: Shopstatus setzen
OrderController: Wiederkehrende Rechnungen: vorbelegte E-Mail-Texte setzen falls leer
Vorher wurde nur geprüft, ob die Konfiguration schon gesetzt wurde. Sollte ein Kunde im Nachhinein auf E-Mail-Versand umstelle ist das Verhalten jetzt komfortabler
Vorbelegte E-Mail-Texte für wiederkehrende Rechnungen genau wie in oe.pl
Rechnungssuche: Filter für Ship via und Shipping Point
Inventory-Import keine Spalte target_qty
Kosmetik Inventory Import
CSV Lagerbewegungs-Import: Numberformat für Fließkommazahlen (qty)
Swiss QR-Bill: QR-Code in Printablauf nur für Formname "Rechnung" erzeugen
Swiss QR-Bill: QrBill.pm: Skalierung Schweizerkreuz angepasst
Swiss QR-Bill: QrBill.pm: Ändere Parameter für Imager::QRCode Instanziierung
Swiss QR-Bill: Variante IBAN ohne Referenz in Druckablauf und Mandantenkonfiguration hinzugefügt
Swiss QR-Bill: QrBill.pm: Füge Variante IBAN ohne Referenz hinzu
Swiss QR-Bill: Datenbankupgrade Mandantenkonfiguration: Varianten einstellbar machen
KiviLatex-Plugin: HTML-zu-LaTeX-Wandlung aus SL::Template::LaTeX verwenden
Die Umwandlung von HTML zu LaTeX ist komplex. Es gibt viele Randfälle,in denen ein falsch platziertes \newline übrig bleibt, über das LaTeXdann stolpert.
Bisher gab es zwei Implementationen dieses Codes:...
Order-Controller: abweichende Rechnungsadresse nur bei Kunden behandeln
Swiss QR-Bill: In Druckablauf OpenDocument/OASIS integrieren
- Feature in Mandantenkonfiguration einschaltbar- Aufruf zum Erzeugen von QR-Code PNG (Steven Schubiger)- Vorlage hinzugefügt (rev-odt/invoice_qr.odt)- PNG Bild CH-Kreuz hinzugefügt- Übersetzungen hinzugefügt, locales Script ausgeführt de/en...
Swiss QR-Bill: Datenbankupgrade Mandantenkonfiguration
Swiss QR-Bill: QrBill.pm Modul
Rebase von 38 Commits.
Swiss QR-Bill: Controller für BankAccount Datenfelder
Swiss QR-Bill: Datenbankupgrade BankAccount
- Felder bank_account_id und use_for_qrbill hinzugefügt
Presenter: eine Instanz der doppelten Funktion restricted_html entfernt
SL::File: auch bei get_all_count Durckvariante berücksichtigen
Auftrags-Controller: DMS: Druck-Variante berücksichtigen
Files: Druckvariante beim Drucken speichern und bei E-Mail darauf prüfen, …
… um festzustellen, welcher letzte Belegausdruck für die Variante relrevantist.
Files: Druckvariante abspeichern können: sql und rose
DMS: Webdav-Backend: Dateizeit mit lokaler Zeitzone holen
DMS: Webdav-Backend: unbenutztes Modul SL::Webdav nicht einbinden.
Auch, wenn es schön wäre, wann das hier benutzt würde ;)
DMS: Webdav-Backend: Root-Pfad nicht erraten, sondern holen
copy_file_to_webdav_folder: Übergebenen Anhang-Name berücksichtigen
Kosmetik: Einrückung
Auftrags-Controller: Email/DMS falls kein Dokument vorhanden, eines erstellen, …
… wenn die Policy sagt, dass der letzte Ausdruck mitgeschickt werden soll
Revert "get_webdav: Zeitstempel vor dem letzten . setzen"
This reverts commit 1a5f8c48c797b02bf12daaa7fda04b8d5347a6b3.
Merge branch 'f-cvar-htmlfield'
Lohnbuchhaltungsimport: Leere Werte für Abteilungen abfangen
Order-Controller: Unterstützung für Drucken & E-Mailen von HTML-Vorlagen
Form: get_history sql escaping
SL::DB::Employee::auth_user: holt korrespondierendes Objekt aus auth.users
Convenience-Funktion, um einfacher an Config-Werteheranzukommen. Beispiel:
foreach my $employee (@{ SL::DB::Manager::Employee->get_all }) { my $email = $employee->auth_user->get_config_value('email');...
invoice_type: Gutschriften bleiben Gutschriften auch wenn die storniert wurden
Andernfalls liefert invoice_type den Typ 'Rechnung' was definitiv falsch ist.
Auftrags-Controller: kivi.Validator.js vor kivi.Order.js einbinden, …
damit die Datumseingabe angepasst wird, bevor es bei onchange zum Servergeschickt wird.
Warenstammdaten: EAN: Leerzeichen trimmen
get_webdav: Zeitstempel vor dem letzten . setzen
und nicht aus der Nummer und anderen Infos zusammenbauen
F:B:Webdav $path enthält Pfad + Datei, entsprechend vereinheitlicht
_convert_pdf_to_png: Mehr Warnungen - quotemeta für Dateinamen mit whitespace
S:F:B:Webdav.pm Pfad auch ausgeben, damit man weiß, was fehlt
Ferner für boolean enabled Rückgabewert direkt von get_doc_webdav ausgeben
Auswahl Druckvorlagen: mobile_webpages und pdf nicht anbieten
RecordLinks: Typo in Modulname SL::DB
P.radio_button/checkbox_tag: label_xyz-Attribute als xzy an Label-Tag durchreichen
Damit ist es möglich, beliebige Attribute auf dem erzeugten Label-Tagzu setzen, z.B. die Klasse oder einen Inline-Style. Beispiel:
[% L.checkbox_tag('awesome', value=1, label='This is awesome', label_class="red") %]
Benutzerdef. Var. als HTML-Feld: Breite & Höhe in Pixeln angeben
E-Mail-Versand: CC: nur kivi-Benutzer mit hinterlegter E-Mail-Adresse anzeigen
E-Mail-Versand: CC: kivi-Benutzer sortieren
Kosmetik
CSV-Import von zusätzlichen Rechnungsadressen
Benutzerdef. Var. als HTML-Feld: Druckunterstützung
Kosmetik: Einrückung/Anordnung
Benutzerdef. Var. als HTML-Feld: Projekte
Benutzerdef. Var. als HTML-Feld: Pflichtenhefte
Benutzerdef. Var. als HTML-Feld: Kunden-/Lieferantenstammdaten-Controller
Betrifft Typen für Kunden-/Lieferantenstammdaten, Ansprechpersonen undLieferadressen.
Benutzerdef. Var. als HTML-Feld: CSV-Import
Benutzerdef. Var. als HTML-Feld: allgemeine Infrastruktur
SL::HTML::Strip: immer Leerzeichen zwischen Textenteilen lassen
L/Presenter: Funktion zum Entfernen aller HTML-Tags
L/Presenter: Funktion zum Säubern von HTML von unerwünschten Tags
Order-Controller: PDF-Handling-Funktionen in Objektmethoden umgewandelt
Erlaubt die einfachere Wiederverwendung, wenn man z.B. mit Mixins fürKundenanpassungen arbeiten möchte.
Zusätzliche Rechnungsadressen: beim Ausdruck als Variablen verfügbar machen
Zusätzliche Rechnungsadressen: in Verkaufsbelegmasken auswählbar
Zusätzliche Rechnungsadressen: in Kundenstammdaten bearbeiten
Zusätzliche Rechnungsadressen: Datenbankupgrade, MetaSetup, Rose-Models
Ein-/Verkauf: Belegnummern von uns erzeugter Belege nicht ändern können
Für Belege, die auf unserer Seite erzeugt werden, kann nun verhindertwerden, dass die Belegnummer manuell angepasst bzw. gesetztwird. Statt dessen wird sie immer vom System beim ersten Speichern...
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...
Auftrag: Projekt automatisch in verknüpftem Pflichtenheft eintragen
Pflichtenhefte: bei Pflichtenheft → Angebot → Auftrag auch PH mit Auftrag verknüpfen
SEPA: aktuell von Kreditinstituten unterstützte Formatversionen nutzen
Lieferplan: Geschwindigkeitssteigerung durch »NOT EXISTS« anstelle von »NOT IN«
Auftragzentrische verknüpfte Belege: Leere Ergebnismengen berücksichtigen
Falls keine Aufträge gefunden werden, auch keinen Aufruf
Optionale auftragszentrische Verknüpfte Belege
Konfigurierbar in der Mandantenkonfiguration. Unabhängig vomaktuellen Belegort werden die verknüpften Belege immer vom VK-Auftragaufgebaut
BankTransaction: Kreditorenvorlagen auch nach Namen sortiert
BankTransaction: Dialogbuchungsvorlagen sortiert nach Name
spellcheck test
Warnung bei fehlendem Lieferschein als Vorgänger zur Rechnung
CsvImport: Interface für zusätzliche Angaben beim Import immer speichern
Lagerbewegungsimport: Testfehler wg. undef vermeiden
Belege verknüpfen: auch nach Belegnummer filtern können
S:D:Order: convert_to_invoice params an Invoice::new_from übergeben
Analog zum Verhalten in SL::DB::DeliveryOrder. Siehe auchcommit "convert_to_invoice params an Invoice::new_from(%params)" (386660077eb786611dc1649d0e1617a29ffc4091)
S:D:Order: convert_to_invoice: items verlinken
Erzeugnis fertigen: Chargennummer für Einzelteile priorisieren
Erzeugnis-Chargennummer == Bestandteil-Chargennummer
Definitionen von format_amount_units entfernt.
Durch die zwei vorgherigen commits wird format_amount_units nichtmehr verwendet.
Auftrags-Controller: Warnung bei nicht vorhandener Kundenbestellummer …
… kann in der Mandantenkonfiguration eingeschaltet werden.
S/D/Order: new_from/new_from_multi: Bearbeiter ist immer der aktuelle Benutzer
Bei Workflows zu neuen Belegen ist der Bearbeiter des neuen Belegs immer deraktuelle Benutzer, egal, was im vorherigen Beleg steht.
Auftrags-Controller: Warnung bei fehlendem Transportkosten-Artikel …
bei VK-Angebot und -Auftrag, wenn in der Mandanten-Konfiguration angegeben.
Zahlungsbedingungen: "calc_date" überschreibt Referenzdatum
Die Methode "calc_date" erzeugt das neue Datum ohne ein neues Objekt zuerzeugen.Deshalb wird ggf der Parameter "reference_date" überschrieben.
Nun wird ein neues Datumsobjekt per "clone" erzeugt....
Employee::current statt manuell an weiteren Stellen
WH: Employee::current statt manuell
(cherry picked from commit 975786bdc3c48380926c63e8a0b37109d144f0f2)(cherry-pick von odyn)
Mailer: Bei fehlerhaften Mailadressen warnen
(cherry picked from commit e8f152b186583bc254ff631f4803189da4f3013e)(cherry-pick von odyn)
scripts/console: utf8 Kompatibilität und Doku zu Term::ReadLine::Gnu
CsvImport Lieferscheine: Zusammenfassen von Lieferpositionen
Wenn in mehreren Positionen Teilmengen einer Position eines Auftragsgeliefert werden, dann diese Zusammenfassen.
CsvImport Lieferscheine: ShippedQty-Helper für Prüfung, ob komplett geliefert
ShippedQty-Helper: undef-Warnung vermeiden
PPI: Offenbar typo in Fehlermeldungstext
kam mit "Auch escapte DTVF Namen erkennen" rein.