InvoiceItem: Hinzufügen der Felder für Konten und Steuer
Es werden die Wert von relink_accounts als Default genommen und derNutzer kann dies ändern. Es werden alle nötigen Steuerdaten in die Formgeschrieben.
Wiederkehrende Abrechnung Positionen: Bearbeiten in Auftragscontrollern
Debug-Ausgaben entfernt
Lieferantenartikelnummer prominent im Einkaufslieferschein einbinden
ap/ar/gl/io.pl: nicht benutzte Routine post_as_new entfernt
Workflow: sales_reclamation → credit_note
Workflow: (sales/purchase) invoice → reclamation
design40: Zeile löschen icon in io.pl auf icon-delete umgestellt
design40 braucht hier noch zusätzliche styling informationen, aber sosind erstmal die icons verschieden
"alle" E-Mail-Adressen per Anhaken als Empfänger hinzufügen können
DeliveryOrder: _make_record für den alten Controller
Anzahlungs-Rg.: eigener Typ for Schlussrechnung (final_invoice (F))
Anzahlungs-Rg.: Drucken können
Fix: Anzahlungs-Rg.: neuen Typ beim Erzeugen der record items berücksichtigen
Anzahlungs-Rg.: neuen Typ beim Erzeugen der record items berücksichtigen
Files: Druckvariante beim Drucken speichern und bei E-Mail darauf prüfen, …
… um festzustellen, welcher letzte Belegausdruck für die Variante relrevantist.
DMS attachment_policy, falls kein Dokument vorhanden, erste Version erstellen
angepasster commit von Jan
Verkaufsrechnungen direkt als Factur-X/ZUGFeRD-XML exportieren können
E-Mail-Versand: CC: nur kivi-Benutzer mit hinterlegter E-Mail-Adresse anzeigen
E-Mail-Versand: CC: kivi-Benutzer sortieren
Kosmetik
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...
Revert "Seriennummer in LS auf Pos. 1, falls Pflichtfeld"
This reverts commit e503a1d422ed53d99d68db3ebbc6d4dfe11dea7f.
Seriennummer in LS auf Pos. 1, falls Pflichtfeld
... aber nur wenn die Positionen im Lieferschein auch dasPflichtfeld Seriennummer enthalten
Da Seriennummer ein Pflichtfeld sein kann -> 1. Zeile
Lieferschein: Serienummer ist Pflichtfeld, wenn Artikel eine Serienummer hat
E-Mail-Versand: CC an andere kivi-Benutzer per Auswahlliste
Dateianhänge aus Projekten auch in E-Mail anzeigen
In Anlehnung an odyn fa2f21bb7d9247782f5eIm E-Mail-Dialog werden hochgeladene Dateianhänge aus einemglobalen Projekt angeboten und sind vorausgewählt.
Merge branch 'f-factur-x-und-xrechnung'
Merge branch '2020-leistungsdatum'
display_row: ship_$row nicht formatiert ausgeben
Im ganzen Programm wird angenommen, dass `$::form->{ship_$row}`unformatiert ist, nur an dieser Stelle wird es formatiertausgegeben. Das war nicht mal ein Problem, weil es in `update` via`_update_ship()` komplett neu berechnet wird, ohne auf den aktuellen...
Factur-X/ZUGFeRD: in »Factur-X/ZUGFeRD« umbenannt
Mit ZUGFeRD-Standard Version 2.1.1 ist der offizielle Name desEU-Standards schlicht Factur-X. ZUGFeRD ist nur noch der toleriertealte Name.
In der Oberfläche ist nun überall von »Factur-X/ZUGFeRD« die Rede....
Einkauf/Verkauf: Feld »Leistungsdatum« für Steuerberechnung
Einkauf/Verkauf: Sprach-Drop-Down aus Print-Optionen in Hauptbeleg verschoben
Noch nicht erledigt ist der neue Angebots-/Auftragscontroller.
Auftrags-Controller: individuelle Lieferadresse
Behebt #365 (redmine)
E-Mail-Versand: vorbelegter Text für Rechnungen mit aktiviertem Bankeinzug
Auftrags-Controller: Wechselkurs pro Beleg …
- Wechselkurs wird pro Beleg gespeichert- Wechselkurs ist immer änderbar- vorausgefüllt aus "alter" Tages-Wechselkurstabelle
Bezieht sich auch auf #135Refs #135
AR/IR/OE - Steuerbeschreibung an Oberfläche / Druck aus tax_id holen
siehe Kommentare in SL/IS.pm
Wenn ein Steuerautomatikkonto mehrmals bei den Steuern auftaucht kannman die Steuerbeschreibung nicht mehr eindeutig anhand der Kontonummer(hier als taxnumber verwendet) bestimmen, von daher wird jetzt immer...
Workflow Rechnung->Auftrag (neuer Controller). Rabatt nicht mehr umrechnen
Das passiert jetzt in _make_record_item (siehe auch"make_record(_item): discount-Feld richtig behandeln",commit cd6bfeee2bf076f15f9fdf57806a7c42bdf1760e).
Dadurch wurde der Rabatt zweimal durch 100 geteilt.
Belegmasken: weitere Werte f. PrintOptions aus form füllen
Das ist für Proforma-Rg aus Aufträgen wichtig, denn diese werden nach einemerneuten Laden über js gedruckt. Und dazu müssen die vorher eingestelltenWerte wieder richtig vorhanden sein.
Problem war: Auftrag als Proforma drucken ging erst beim zweiten Drucken.
ZUGFeRD: Einstellung bzgl. Erzeugung auch in Kundenstammdaten
make_record(_item): Unterstützung für Gutschriften
Bei Gutschriften stehen gewisse Werte in $::form positiv, die aber imRose-Objekt negativ sein müssen.
ZUGFeRD: Feature über Mandantenkonfiguration abschaltbar
ZUGFeRD: Validierung diverser nötiger Parameter
ZUGFeRD: Rechnungen mit ZUGFeRD-Daten erzeugen
make_record(_item): discount-Feld richtig behandeln
In der Maske und daher in $::form stehen die Werte in Prozent, in denDB-Spalten und damit den Rose-Attributen werden sie aber als Faktorgespeichert, sprich z.B. 0.05 für 5%.
_make_record(_item): Zahlenattribute nicht mit leeren Strings setzen
Wir übergeben diverse Zahlenfelder als hidden inputs, ohne dass wirprüfen, ob die überhaupt gesetzt sind:
1. Im Aufruf 1 ist z.B. `$::form->{customer_id} = undef`, oder es gibt sogar nicht mal ein `$::form->{customer_id}`....
Rechte zum Bearbeiten von Preisen in Belgen getrennt nach VK/EK anwenden
Belege: E-Mail-Dialog: Sprache für Anhang-Übersetzung setzen
Berechtigung, Verkaufsrechnungen persönlich zugeordneter Projekte einzusehen
Man kann nun Mitarbeiter*innen zu Projekten zuordnen, indem man sie inden Projektstammdaten hinzufügt.
Ist eine Mitarbeiter*in zu einem Projekt zugeordnet, so darf sie alleRechnungen ansehen, die über die Projektnummer der Rechnung (nicht der...
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.
manueller Rechnungsversand per E-Mail. Vorbelegung mandantenweit konfigurierbar
Rechnungsversand per E-Mail
Falls bei dem Kunden eine E-Mail-Adresse für denRechnungsversand hinterlegt ist, so hat diese Prioritätvor der allgemeinem Rechnungsadresse.Als visuelle Hilfe, wird aus dem Titel 'Empfänger' derTitel 'Rechnung an:'.
Logik normale Rechnung:...
Mandantenkonfiguration: experimentelle Features einzeln an-/abschaltbar machen
es gibt nun "feature_experimental_order" und "feature_experimental_assortment"
angepasster cherry pick von odyn: bc94c40f2f64e7b40fbd90c49dbf41f86688c32d
Workflow: Auftrag -> Angebot. Vorgangsbezeichnung auch löschen.
In Ergänzung zum Commit vom gerade, die Vorgangsbezeichnung desAuftrags in einem neuen Angebot übernehmen, macht auch kaum Sinn
Workflow Auftrag -> Angebot: Angebotsnummer entfernen
Betrifft nur die alte Form
io.pl: unbenutzte Variable entfernt
Workflow VK-Rechnung->Auftrag auf neuen Controller bei experimentellen Features
calculate_qty (Formel): auf Dialog umgestellt
Auftrags-Controller: Formelberechnung
Sollte evtl. auf Dialog umgestellt werden.
calculate_qty (Formel): Input- und Formel-Feld auch als Dom-Id übergeben können
calculate_qty (Formel): alu (?) und andere unbenutzte Parameter entfernt
E-Mail-Dialog: Template: js-Funktion zum Verschicken der Mail mitgeben können
PrintOptions: brauchen storno flag aus $::form für Rechnungen
Presenter: Neue Struktur in Belegen umgesetzt
io.pl: qty und sellprice nicht validieren
Hintergrund: in kivi.Validator.js werden als "number" zu validierende Elementeneu formatiert, hier gibt es aber keine Möglichkeit, die Anzahl derNachkommastellen zu übergeben.
Beim Drucken von Belegen wurde so z.B. bei einem freien Verkaufspreis die...
Ausdruck der Stückliste / bom in Belegen repariert
Die alte Hidden in display_row "assembly" durch part_type ersetzt, undstattdessen auf part_type = assembly prüfen.
behebt #320
ActionBar: Verwendung bei Hinzufügen-zu-Beleg-Artikel-Auswahlliste
kivi.Validator: display_row: qty und sellprice als Nummerninputs geflaggt
kivi.Validator: check_right_*_format in display_row auf Validator geändert
E-Mail-Dialog: bei Einkaufsaufträgen Standardvorbelegung
Siehe #263.
E-Mail-Dialog: keine Vorbelegung bei Lieferantenauftrag/-lieferschein
E-Mail-Dialog: Vorbelegung vom Kunden/Lieferanten, wenn Ansprechperson keine E-Mail hat
sanitize _update_ship / Prüfung auf form->id
Andernfalls wird ein Fehler auf undefined integer geworfenund bspw. das Erfassen von neuen Aufträge ist nicht mehr möglich.
Vergessener Aufruf io.pl für vorbelegte E-Mail-Texte
... steter Tropfen und der Stein
io::_update_ship: SL::Helper::ShippedQty benutzen
Artikel aus Belegen anlegen - Artikelklassifizierung berücksichtigen
Bei Verkaufsbelegen sollen im Dropdown nur Verkaufsklassifizierungen angezeigt werden,bei Einkaufsbelegen nur Einkaufsklassifizierungen.
Artikel anlegen mit Rücksprung in Belege
belege email dialog: Ohne Ansprechpartner Email aus Stammdaten verwenden
behebt #263
Belege email dialog: Ohne id nicht nach zu sendenden Dateien suchen.
item_selected: kein inplace modify auf form in einer schleife.
Potentielle Ursache für den bizarre copy of ARRAY bug.
id zwingend löschen bei Workflow
Ansonsten wandelt sich der Auftragsbeleg in ein Angebotsbeleg usw.Scheinbar beim Refactoren der Zeile übersehen.
display_row: id, parts_id in $record_items gefixt
Preisquellen: Support für editierbare Preisquellen
ActionBar/Dateimanagement: Verschicken von Dateien via E-Mail wieder implementiert
ActionBar: alte Funktionen zum E-Mail-Versand entfernt
ActionBar: Angebote/Aufträge: E-Mail-Versand über Dialog implementiert
ActionBar: nicht mehr benötigte Lieferadressenmaske entfernt
BUG-Fix: Berechnung des prozentualen Ertrags geändert.
Berechnung des prozentualen Ertrags wird nur beim Verkaufspreisgrößer oder gleich 0,01? oder -0,01? durchgeführt.
Datumvalidierung bei ENTER, d.h bei onchange, nich bei onblur.
Beim Bestätigen der Datumseingabe mit ENTER statt mit TAB wird die Funktion nicht getriggert,und ungültiges Datum wird übernommen.
OnBlur Event für alle Datumsfelder auf OnChange umgestellt.
Link History zu EmailJournal
Einträge in History mit addition MAILED haben nun nicht die Rechnungsnummer sondern die ID des Emailjournalsin snumber stehen, also emailjournal_${journal_id}
Dateimanagement: Alle Anhänge per E-Mail versendbar machen
Es können an eine E-Mail alle Anhänge eines Dokumentes,sowie die Anhänge am Kunden/Liefranten sowie die Anhänge an Artikelnmitgesendet werden.
Falls ein Dokument bereits existiert muss es nicht noch neu erzeugt werden....
Dateimanagement: Massendruck
Der Massendruck per BackgroundJob nutzt nun das FileManagement
Die erzeugten Dateien werden ggf. mit PDF Anhängen erweitertund entsprechend abgespeichert.
Per Flag kann dem massendruck mitgeteilt werden,dass eine leere Seite ggf hinzugefügt wird...
io.pl: disconnect_standard_dbh bei _make_record wieder entfernt
Das war in 49707e3c eingefügt worden mit Hinweis, dass es ein temporärerFix ist bis single-dbh abgeschlossen ist. Kann also wieder raus.
Artikel-Klassifizierung
Die Klassifizierung von Artikeln dient einer weiteren Gliederung um zum Beispiel den Einkauf vom Verkauf zu trennen, etc.
Gekennzeichnet durch eine Beschreibung (z.B. "Einkauf") und ein Kürzel (z.B. "E") Flexibel änderbar und erweiterbar....
SL/PE.pm und bin/mozilla/pe.pl entfernt
fix FSF address
Revert "Artikel-Klassifizierung"
This reverts commit 5067d7bd31514962af9730b33323b831d87164f8.