Massenerstellen von Rechnungen aus LS: sumbit direkt von der Aktion machen
Das submit, das die Umwandlung der Rechnungen startet, kann direkt über dieActionBar angegeben werden. Damit fällt die js-Funktion ganz weg.
Massenerstellen von Rechnungen aus LS: Aktion nur einmal ausführen
Dafür den Action-Parameter only_once verwenden.Damit das aber klappt, muss die Prüfung, ob etwas angehakt ist, auch als checkan die Action gehängt werden. Denn sonst wird der Knopf abgeschaltet, auch wenn...
ClientJS: Funktion zum Setzen der Cursorposition (z.B. in textareas)
CSS/JS: Git-Revision von HEAD als GET-Parameter verwenden
Webbrowser cachen CSS & JS sehr aggressiv. Das ist während derEntwicklung störend, weshalb es bereits seit langem dieKonfigurationsoption `auto_reload_resources` gibt. Ist diese an, sowird an alle CSS- und JS-URLs ein GET-Parameter `?rand=<Zufallswert>`...
L/P.select_tag: Unterstützung für Text-Filter
Gedacht für Selects mit size="123"-Attribut, die also als Liste undnicht als Combobox gerendert werden.
Es wird direkt oberhalb der Select eine Text-Eingabezeile angezeigt,die als dynamischer Filter für die Optionen verwendet wird. Bei jeder...
L/P.select_tag: Collection, die aus einem leeren Wert besteht, ignorieren
Unter Umständen kann es durch wantarray & Durchschieben in Templatespassieren, dass der $collection-Parameter nicht leer ist (obwohl erleer sein sollte), und statt dessen ein leerer String ist. Bisher...
Neuer Auftragscontroller: veralteten TODO-Eintrag gelöscht
Neuer Auftragscontroller: Drucker-ID an Template-Auswahlmechanismus durchreichen
Der Auswahlmechanismus kann bei der Suche nach der zu verwendendenVorlage das beim Drucker hinterlegte Vorlagenkürzelberücksichtigen. Dafür muss er aber auch gesagt bekommen, welcher...
Wiederkehrende Rechnungen: Druck-/E-Mail-Fehler in Zusammenfassungs-Mail
Pflichtenhefte: Gültigkeitsdatum in Angeboten auch ohne Zahlungsbedingungen setzen
Wiederkehrende Rechnungen: bei E-Mail-Versand Rechnungsattribute als Variablen
Praxisbeispiel ist, dass man im Betreff der Rechnung dieRechnungsnummer angeben möchte; das geht nun mit z.B. »Rechnung <%invnumber%>«.
Neuer Angebots-/Auftragscontroller: Unterstützung für Artikelübersetzungen 3
Die longdescription wird jetzt doch als Hidden im Formular mitübertragen. Dadurch werden gewisse Randfälle und Diskrepanzen zwischenForm-Inhalt und Datenbank-Inhalt vermieden. Nur hiermit ist es jetzt...
Neuer Angebots-/Auftragscontroller: Unterstützung für Artikelübersetzungen 2
Bei Funktion »Artikeldaten aus Stammdaten holen«.
Funktioniert noch nicht für die Langbeschreibung, weil die Funktiondas von der Architektur her bisher gar nicht unterstützt.
Neuer Angebots-/Auftragscontroller: Unterstützung für Artikelübersetzungen 1
Bisher nur beim Hinzfügen von Artikeln.
Neuer Angebots-/Auftragscontroller: Sprach-Drop-Down aus Print-Optionen in Hauptbeleg verschoben
Employee-Controller: beim Gelöscht-Setzen Verknüpfung in Auth-DB lösen
Beim Anlegen von Benutzer*inen in der Auth-DB werden sie nichtzwangsweise auch in der Mandanten-DB angelegt, z.B. wenn die in demMoment noch nicht existiert. Daher werden bei jedem Login in einem...
SL::DB::Employee: Warnung vermeiden
Merge branch '2020-helper-number' into master
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...
Auslagern über Rechnung und Seriennummer besser kombinieren
Falls keine Seriennummer im Beleg dennoch probieren die Wareauszulagern, sodass der Bearbeiter eine entsprechende Fehlermeldung bekommt.
MT940-Import: AQBanking-Unterstützung entfernt
MT940-Import: Implementation eines eigenen Parsers anstelle von AQBanking
Inventur-Modul: DateTime-Methode heißt subtract, nicht substract
Kundenstammdatensuche: Filter auf ZUGFeRD-Einstellungen
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...
Warenimport: Auch für object_to_save priceupdate berechnen
Ansonsten wird in neuer Preis angelegt, aber in der Basis-Maskestimmt die Information "Erneuert am" dann nicht. Das istetwas irreführend.
CSV-Import Waren: Fehlermeldungen verbessern bei nicht vorhandenen Warengruppen
Auftrags-Controller: Wiedervorlage: kein Fehler anzeigen , wenn kein Recht, …
… sondern nur die Action nicht anzeigen.
Sonst kann man gar keine Angebote/Aufträge erstellen/öffnen, wenn man das"productivity"-Recht nicht hat.
Dank an Sven.
VK/EK-Lieferschein: Warnung beim Workflow zur RG, falls nicht aus/eingelagert
In Mandantenkonfig einschaltbar.
Auftrags-Controller: Wiedervorlage
Hier werden die vorhandenen Funktionenn und das Template verwendet, wobeidie Eingabemaske in einem eigenen Browser-Fenster gerendert wird.
Todo: Umstellung auf Dialog für alle Masken (evtl. ein eigenerFollowUp-Controller und Methoden dafür in SL::DB::FollowUp)...
S:USTVA: benötigte Module einbinden
Order->new from poso/sopo keine quonumber übernehmen
Im Lieferantenauftrag macht es keinen Sinn, dass dieVerkaufs-Angebotsnummer als Anfragenummer übernommen wird.
S:C:CustomerVendorTurnover: Sortierung der Belege absteigend nach Datum
S:C:CustomerVendorTurnover: unnütze Zeile weg
DBUtils: Query loggen: Dateinamen des Aufrufers richtig ermitteln
E-Mail Betreff auch mit Kundenbestellnummer vorbelegen.
Auftrags-Controller: Beleg neu Laden nach Mail
Damit sind auch die verknüpften Belege, in denen die Mail verlinkt ist,aktualisiert.
Auftrags-Controller: Beleg-Id für Mailer setzen, damit verknüpft wird
Das sit nur nötig, wenn vor dem Mailen nicht gespeichert wurde. Daswurde zwar gerade erzwungen, aber falls es wieder rausgenommen wird,funktioniert die Verknüpfung auch.
Order-Controller E-Mail nur nach Speichern möglich
Hotfix um einen wirklich gesicherte $::form zu haben
Auftrags-Controller: Speichern und E-Mail-Dialog über vorhandene Funktion
Die js-Funktion email() tut praktisch das gleiche wie save(). Dann kannauch diese benutzt werden.Damit auch klar ist, dass vor dem Aufruf des E-Mail-Dialogs gespeichertwird, ist die action im Controller umbenannt worden.
Auftrags-Controller: Vor dem Aufruf des E-Mail-Dialogs speichern
Das geschieht zwar auch beim Verschicken der Mail wenn man den Dialog bestätigt,aber beim Speichern wird die Belegnummer generiert, die sonst beiungespeicherten Belegen im Dialog selbst (für den Betreff) nicht zur Verfügung...
USTVA: Fall IST-Versteuerung aggregat an der richtigen Stellen
und nicht im Subselect für die Abfrage bezahlter Beleg oder nicht.
USTVA: kivi special fields auch für 7%
S:D:OrderItem: nicht benutzte Module nicht inkludieren
cusordnumber in email auch für neuen controller
SEPA-Überweisungen: Zahlungsbedingungen f. Skonto aus EK-Rechnungen übernehmen …
… und nicht aus den Lieferanten-Stammdaten.
Hier könnte es im VK und EK noch eine Art fallback auf die Zahlungsbedingungenaus den Kunden-/Lieferanten-Stammdaten geben - so dass diese zusätzlich als...
Zahlungsbedingungen auch in Ek-Rechnung angeben können
Diese werden im Bericht EK-Rechnungen schon aus den DB-Daten der Rechnungangezeigt und nicht aus den Lieferanten-Stammdaten. Die Zahlungsbedingungenkönnen ja durchaus mal von denen abweichen, die in den Lieferanten-Stammdaten...
typo spellcheck comment
USTVA nur noch für SKR03/SKR04 Hotfix für 19% Buchungen im 16% Zeitraum
Falls kivi doch 19% Buchungen erzeugt ist die Logiküber taxkeys zum Zeitpunkt ungünstig, da die USTVAdie Wahrheit in der acc_trans so nicht erfassen kann
USTVA temp MwSt Konten anzeigen
USTVA kivi Infofelder für temporäre Mehrwertsteuer
USTVA: Toter Code (ca. 2012 abwärts)
- Typo- KommentareS.a. doc/CHANGELOG:Die Druckvorlagen für USTVA vor 2012 wurden entfernt und das Ausdrucken von USTVA als PDF ist deprecated. Da die Eingabe von Erklärungen als PDF nicht mehr gestattet ist, sollten Archivkopien der USTVA direkt bei Elster bezogen...
USTVA Weiteren toten Code identifizieren - Werte mit Key undef ignorieren
Die summen Abfrage erzeugt auch Werte ohne pos_ustva (category)Diese brauchen nicht weiter verarbeitet zu werden.
toter code
20.10.2009 sschoeling: this sub seems to be orphaned.-> yes.
Auftrags-Controller: Workflow VK->EK: Lieferadresse für direkte Lieferung
Falls beim Workflow Kundenauftrag->Lieferantenauftrag eine Lieferadresseausgewählt oder eine indiv. Lieferadresse eingetragen ist, wir gefragt,ob diese Lieferadresse als (indiv.) Lieferadresse in den Lieferantenauftrag...
Auftrags-Controller: "Speichern und ..." nicht ausgrauen, wenn nicht gespeichert…
…, da vorher ohnehin gespeichert wird.
Kunden-/Lieferantenstamm: Anzeige WebDAV-Reiter
Feature: Auslagern über Rechnung inkl. Seriennummer Lagermenge berücksichtigen
Dateispeicher "webdav" fehler bei vorhergehe ...
nden commit behoben vendornumber anstatt vendor
Dateispeicher "Webdav" auch für Kunden und Lieferanten
Feature: Auslagern über Rechnung inkl. Seriennummer == Chargennummer
Prüft, ob die kommaseparierte Liste in serialnumber mitder Stückzahl in der Position übereinstimmtPrüft, ob die Seriennummer als Chargennummer vorhanden sind.Bei Erfolg werden diese Chargen dann ausgelagert.
Auslagern über VK-Rechnung, Erweiterung um Abgleich Seriennummer == Charge
Option in Mandantenkonfiguration->Lager
aqbanking 6.x benötigt weitere Unterordner
Durch die verkettung der Systemaufrufe kann derMT940 Import aktuell erst beim zweiten Aufruf ausgeführt werden (ubuntu 20.04)Das Anlegen der Unterordner umgeht diese Eigenschaft
S/GL: Typo im POD (t/011pod.t)
S/GL: Typo im POD (t/006spellcheck.t)
Auftrags-Controller: individuelle Lieferadresse
Behebt #365 (redmine)
S/D/Order: before_save-hooks f. indiv. Lieferadressen, um …
- keine leeren zu speichern- das Modul immer auf 'OE' zu setzen
S/D/Shipto: Methode is_empty, um auf leere Lieferadresse zu prüfen
Form::prepare_for_printing: Lieferadresse nicht mehr hier laden. …
Das passiert jetzt in FlattenToForm
FlattenToForm: individuelle Lieferadresse und CVars berücksichtigen.
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 …"...
div_tag aus L in Presenter verschoben
Kosmetik/Typo
Mandanteneinstellung: Projekt zum Auftrag erzeugen auch für Order-Controller
Vorgangsbezeichnung erzwingen auch im Order-Controller
Kosmetik Zeilenumbruch
SL::Mailer: Aufrufer kann optional beliebige Header mitgeben
pod ergänzung GL.pm
Form: Backend-Funktion get_taxcharts entfernt
Toter Code, die ALL_TAXCHARTS werden nicht mehr verwendetAufruf auch in ar.pl entfernt
Skontovorschläge: ungültige Steuer-Zeilen aus acc_trans ignorieren
Buchungen in acc_trans, die das Steuer-Konto ansprechen (also eines,bei dem chart_link AR_tax oder AP_tax enthält), haben oftmals eineungültige Kombination aus taxkey & tax_id (ungültig im Sinne von:...
E-Mail-Versand: vorbelegter Text für Rechnungen mit aktiviertem Bankeinzug
ZUGFeRD: auch bei massengedruckten Rechnungen ZUGFeRD-Infos erzeugen
Funktioniert aber nur, wenn nur eine einzige Mail ausgewähltist. Andernfalls existieren halt mehrere Anhänge mit demselben Namen,was nicht funktionieren kann.
ZUGFeRD: auch wiederkehrende Rechnungen mit ZUGFeRD-Infos erzeugen
ZUGFeRD: Namen der eingebetteten Datei richtig setzen
'ucfilespec' wird erst ab PDF 1.7 unterstützt, was wir nichterzeugen. Daher wurde bisher der Name der temporären Datei auch im PDFals Dateiname verwendet.
Jetzt wird korrekt »ZUGFeRD-invoice.xml« als Name des Anhangs im PDF...
Kosmetik: Einrückung
File: Kein deep clone von Strukturen machen die SL::DB::* Objekte enthalten
Das führt zu Duplizierungen von Singletons, in diesem Fall derDatenbankverbindung die dann beim abbauen kaputtgehen.
(cherry picked from commit 9a86234c1a5624573a3f2738cf25b526527796c8)...
GL get_active_taxes_for_chart - tax_id param
Damit kann man bei bereits gebuchten acc_trans-Einträgen den aktuellentax_id Wert übergeben, so daß der Eintrag bei Dropdowns immer erscheint,also auch dann, wenn er durch Umkonfiguration ansonsten aus dem Dropdown...
DATEV Export Lieferdatum - für Dialogbuchungzahlungen wieder erlauben
In Commit eab277a411 wurde das Lieferdatum für Buchungen auf"Zahlungs"konten deaktiviert. Für Einkaufs- und Verkaufsrechnungen istdas auch korrekt, hier soll nur die Hauptbuchung im DATEV-Export mit...
Wechselkurs pro Angebot/Auftrag: In Angebots-/Auftragsbericht berücksichtigen
Auftrags-Controller: Wechselkurs: Preis beim Hinzufügen eines Artikels umrechnen
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
Wechselkurs pro Angebot/Auftrag: legacy-Methode exchangerate umbenannt
Wechselkurs pro Angebot/Auftrag: DB-Upgrade-Skript + Rose
exchangerate direkt in Tabelle oe ablegen.
Die Implementierung, um bei Angeboten/Aufträgen den Wechselkurs pro Belegzu speichern folgt in weiteren commits und wird erstmal nur für den neuenAuftrags-Controller umgesetzt....
Auftrags-Controller: Wechselkurs: Kosmetik / POD update
Auftrags-Controller: Währung in make_order setzen
Auftrags-Controller: Währung bei Kunden-/Lieferantenwechsel setzen
S:D:Order: kein has_customervendor in kivitendo
Anpassung nach cherry-picks aus odyn
Auftragsschnellerfassung: Korrekturen für Währung/Wechselkurs
- Feld auf disabled setzen wenn nicht gebraucht- _as_null_number damit undef nicht zu 0 wird- Übersetzte Fehlermeldungen
ticket #9491
(cherry picked from commit c581e4685a217bdd5b73380b1f808037a473dd9f)...
exchangerate bei Order erst nach transdate und currency_id setzen
(cherry picked from commit 7d76676faf4c3a4d71fc5df449365374a9997995)(cherry pick von odyn)
Auftragsschnellerfassung: Währung und Wechselkurs definierbar
impl. #9491
(cherry picked from commit 6cdc5a4a33df4530ce4e141151e83138320e27a2)(cherry pick von odyn)