Anpassung Erfolgsrechnung
CsvImport: Warnungen: Uninitialisierte Variablen
DATEV: Warnungen: Uninitialisierte Variablen
Bankimport: Nicht alle Vorschläge beim ersten "Verbuchen" sichtbar
Beim Einbau der Berücksichtigung des SEPA Exports sind die gefundenen Regeln für jede Banktransaktionvorher zurückzusetzen.
Lagerbuchungen: Fehler bei Sortieren nach Chargennummer
Can't use an undefined value as an ARRAY reference at SL/WH.pm line 445.
Es fehlte die Sortiervorschrift für "chargenumber"
Typo in Kommentar
SL::Dev::Record - Doku Beispiel für viele Aufträge
Doku zu DATEV.pm csv_export_for_tax_accountant
DATEV csv_export_for_tax_accountant nutzt generate_datev_data
DATEV.pm Einrückung
DATEV Daten Test
DATEV Export - nach Abteilung filtern
SL/GoBD.pm nutzt generate_datev_data statt _get_transactions
DATEV-Checks beim Buchen nutzen nun generate_datev_data
SL/DATEV.pm für KNE-Export überarbeitet / Zwischendaten eingeführt
_get_transactions war bisher eine interne Funktion von SL::DATEV, die vor demDATEV-Export aufgerufen wurde, und die Daten aus der Datenbank ausgelesen undtransformiert hat. In diesem Schritt wurde auch auf DATEV-Fehler geprüft, daher...
DATEV Export - Vorbereitung für CSV Export
DATEV KNE Export Refactoring
Anstatt die Werte aus der DB direkt zu transformieren und per add_blockdirekt die KNE-Datei zu bauen werden jetzt alle Daten in einem Array ausHashrefs gesammelt und unformatiert zwischengespeichert.Aus diesem Zwischenstand wird dann erst in einem Rutsch die KNE-Datei...
CsvImport: Mehrdeutigkeit nur prüfen, wenn entsprechende Daten angegeben sind.
Fehler kam im commit"CsvImport: bei nicht eindeutigen Kunden/Lieferanten Fehler melden." rein.
CsvImport: customernumber/vendornumber statt number
ActionBar: Verwendung bei »System« → »Vorlagen« → *
»System« → »Vorlagen« → »Stilvorlage« entfernt
Die Funktion funktioniert seit der Aufteilung der Stylesheets inmehrere Unterdateien schlicht nicht mehr. Da sich bisher niemandbeschwert hat, wird die Funktion wohl auch nicht benötigt.
ActionBar: Verwendung bei »System« → »Historiensuchmaschine«
Kreditoren/Debitoren-Buchung zuletzt bebuchtes Konto laden
Wenn nur ein Konto ohne Wert vorhanden ist, gehen wir davon aus,dass der Anwender einen anderen Kunden/Lieferanten buchen möchten undhier das zuletzt bebuchte Konto als Default möchte
ActionBar: Verwendung bei »System« → »Benutzer«
ActionBar: Verwendung bei »System« → »Bücherkontrolle«
ActionBar: Verwendung bei »System« → »Korrekturen im Hauptbuch«
ActionBar: Verwendung bei »System« → »Lager«
CsvImport Mulitplex: Template: kein loop.count ausserhalb einer Schleife
CsvImport Aufträge: Rabatt richtig für Datenbank aufbereiten.
In der DB steht der Rabatt als Hundertstel.
CsvImport Aufträge: bei nicht eindeutigen Artikeln Fehler melden.
CsvImport Aufträge: Artikel auch nach EAN suchen
CsvImport: bei nicht eindeutigen Kunden/Lieferanten Fehler melden.
CsvImport: Kunden/Lieferanten auch nach GLN suchen können.
Für die Imports, die die Angabe eines Kunden oder Lieferanten brauchen undcheck_vc verwenden (Aufträge, Ansprchpersonen, Lieferanschriften,Debitorenbuchungen), kann neben Id, Nummer oder Name auch die GLN verwendet...
Typo in Übersetzung behoben.
CsvImport Multiplex/Aufträge: CVars bei Fehlern nicht behandeln
Verbuchte Zahlungen auch in neuen Fällen von Bankbewegegungen berücksichtigen
Ergänzend zu af131a46:Banktransaction: Kontoauszug verbuchen: Sonderfall für "credit_notes"
bank_transactions.t richtige Anzahl von Tests
Testfall test_ap_transaction auch ausführen
Seit Anbeginn des Testfalls vorhanden. Jetzt auch ausgeführt.
Testfall Verbuchen Kontoauszug zu Kreditorenbeleg ergänzt
Sehr viele Tests für ar, nur einen speziellen für ap.
Test: Lieferantengutschrift verbuchen, auch die Gegenseite Banktransaktion prüfen
Die Zahlung wurde korrekt gebucht, allerdings erwartet kivitendo jetzt auchÄnderungen in der bank_transactions invoice_amount, in anderen Testfällen(test1) wird diese auch überprüft.
überflüssiges SQL-Upgrade-Script »parts_add_chart_foreign_keys.sql« entfernt
Im dem Script werden drei Fremdschlüssel für Spalten angelegt, die imnachfolgenden Script »parts_remove_unneeded_fields.sql« gleich gedropptwerden. Damit ist das Script überflüssig und sogar schädlich, falls...
SL::X::DBError Serialisierung sollte auch die msg ausgeben
Ver-/Einkauf/Finanzbuchhaltung: automatisches Update nach Kunden-/Lieferantenwechsel
CsvImport Multiplex/Aufträge: Auch nicht angegebene CVars im Objekt speichern.
ActionBar: Verwendung bei »System« → »Benutzerdefinierte Variablen«
ActionBar: Verwendung bei »System« → »Lieferbedingungen«
ActionBar: Verwendung bei »System« → »Zahlungsbedingungen«
ActionBar: Verwendung bei »System« → »Sprachen und Übersetzungen« → »SEPA-Überweisungen«
ActionBar: Verwendung bei »System« → »Sprachen und Übersetzungen« → »Anreden«
ActionBar: Verwendung bei »System« → »Einheiten bearbeiten«
Rechnungssuchen Einkauf/Verkauf: Seitentitel an Menütitel anpassen
Damit wird klarer, dass nicht nur nach Debitorenbuchungen gesuchtwird, sondern auch Verkaufsrechnungen und Gutschriften.
ActionBar: Verwendung bei »Einkauf« → »Berichte« → »Einkaufsrechnungen…«
ActionBar: Unterstützung für »only_if«/»not_if« bei Links
ReportGenerator: Action-Bar-Actions über Hook-Funktion ausgeben lassen können
Damit ist es möglich, dass die Actions vom Report-Generator zwischenden Actions der Hauptmaske eingefügt werden.
Kontoauszug verbuchen: Zeilen ohne Vorschläge trotzdem anzeigen
LXDebug: clone_for_dump als eigenständige Funktion zur Wiederverwendung
ActionBar: Und nochmal Korrektur zu html Menü scrolling
PriceSource: editable Dokumentation
Preisquellen: Support für editierbare Preisquellen
ActionBar: top-padding in html menü + actionbar
ActionBar: Scrolling von ausgeklapptem HTML Menü gefixt
DO::get_shipped_qty - typo
ActionBar: Standardaktion im Artikelstammdatencontroller auf »Speichern«
ActionBar: Standardaktion im Kundenstammdatencontroller auf »Speichern«
ActionBar: nicht »continue«, sondern »next« für Short-Circuit einer Schleife
Kreditorenbuchungen: Storno von bezahlten Rechnungen verhindern
Das Action-Bar-Setup nutzt den Wert $::form->{totalpaid} als Indikatordafür, ob bereits Zahlungen verbucht wurden. Ist das der Fall, so darfdie Rechnung nicht storniert werden können.
Daher muss dieser Wert berechnet werden, bevor das Action-Bar-Setup...
ActionBar: Standard-Aktions-Button optisch hervorheben
Der Standardbutton ist derjenige, der bei Druck auf Return/Enterausgelöst wird.
Aktuell ist die Hervorhebung über fette Schrift geregelt. Eine andereMöglichkeit wäre, die Border von 1px auf 2px zu erhöhen, was das...
SL::X: und ohne typo
Datenbankexceptions: SL::X::DBError korrekt ausgeben
ActionBar: ReportGenerator: get('actionbar') liefert Array von Bars
ActionBar: Hintergrundjob-Verwaltung: Action heißt destroy, nicht delete.
changelog - Features aus Unstable aktualisiert
Typos in changelog
ustva-report.html geierlein-js kosmetik
Zwei Leerzeichen-Einrückung ist scheinbar das gängigstefür JavaScript Funktionen im kivitendo-Projekt.
ustva html Template: geierlein-pfad Variable korrigiert
Die Prüfung weiter oben ist korrekt, der eigentliche Variablennameaber dann für das Programm falsch. Scheinbar war dieser bei ODhartkodiert und das Feature wurde nicht vor dem Commit im Standardgeprüft.
trigram Indizes mit may_fail versehen und UPGRADE entsprechend angepasst
CsvImportReport: Manager-Methode destroy löscht nicht aus aktiver Sitzung
Vorher wurden alle Reports bis auf den letzten aus der aktiven Sitzung gelöscht.Da aber mit den Reports auch das Profile gelöscht wird und im Profil derzufällige Dateiname der temporären Csv-Datei enthalten ist und dieser nach einem...
BankImport: Csv-Datei mit zufälligem Dateinamen speichern und im Profil übergeben
siehe auch commit "CsvImport: zufälligen Dateinamen für jeden Import. Ablegen intemporärem Profil"
CsvImport: zufälligen Dateinamen für jeden Import. Ablegen in temporärem Profil
Damit können auch mehrere gleiche Imports von einer Session aus gleichzeitigaufgerufen werden.
CsvImport: Controller erzeugt temporäres Profil, nicht der Hintergrund-Job.
CsvImport: temporäres Profil nicht beim Report speichern, …
… denn das passiert schon beim Anlegen des Hintergrund-Jobs.
BankImport: Refactoring: Profil über init-Methode laden.
BackgroundJob::CsvImport: unbenutztes Modul SessionFile::Random nicht laden
CsvImport: doppeltes delete-Statement entfernt
CsvImport: doppelt angegebene Methode "file" entfernt
POD: Typo in Autor-Abschnitt verbessert.
ActionBar/Dateimanagement: Verschicken von Dateien via E-Mail wieder implementiert
Kreditorenbuchungen: Zahlungen buchen gefixt
Seit Umstellung auf die Verwendung des Chart-Pickers heißt dieForm-Variable für das Verbindlichkeitskonto »AP_chart_id«, und nichtmehr »APselected«. Außerdem enthält sie die Datenbank-ID des Kontos,und nicht die Kontonummer.
WebDAV: Überflüssigen Aufruf webdav_path im Frontend entfernt
WebDAV::get_all_objects ruft in der Methode seit Anbeginn des Modulsschon ein webdav_path auf, von daher schreddern bevor noch mehrcopy & waste im Programm passiert
SL::Template::*: Form::template direkt nutzen, nicht mehr Form::init_template
Form::init_template wurde bei der Umstellung entfernt, bei der nurnoch die eine Template-Instanz im SL::Presenter genutzt wird, und Formkeine eigene mehr beinhaltet.
Mailer: Zeichensatzattribut bei Anhängen nur bei Text-Anhängen setzen
Ein als Binärdaten zu behandelnder Anhang darf nicht natürlich nichtumcodiert werden. Normalerweise ignorieren E-Mail-Programme beiNicht-Text-Anhängen den Zeichensatz, wenn er gesetzt ist, aber wir...
Mailer: Attribut »path« bei »Content-Type« nicht setzen
Darin steht der Pfad auf dem lokalen System und ist damit eininformation leak, z.B. /var/www/kundenname/kivitendo/files/…
LXDebug::dump: Objekte aus Namensraum SL::* ohne »as_debug_info« wie Hash behandeln
LXDebug::dump: nur Form-Instanzen als Hash behandeln, nicht alle Hash-basierten Objekte
LXDebug::dump: Unterstützung für zirkuläre Strukturen
Durch die Umstellung auf vorheriges Reduzieren auf essenzielleInformationen muss dump() sicherstellen, dass es bei zirkulärenStrukturen nicht in eine Endlosschleife gerät.
Weiterhin müssen alle Rückwärtsreferenzen aufgeweicht...
kivi.File.js: Debugcode wieder entfernt
LXDebug::dump: Interna von Rose-DB- und DateTime-Objekten nicht mehr ausgeben
dump arbeitet nun nicht mehr direkt auf dem zu dumpenden Objekt,sondern auf Kopien, die je nach Typ auf ihre essenziellenInformationen zusammengeschrumpft werden. Dafür kann ein Objekt eine...
Dateimanagement: Fehler beim Umbenennen richtig zurückgeben
Ist man z.B. bei den Artikelstammdaten und versucht, eine Dateiumzubenennen, und ändert den Namen nicht, so sollte eine Fehlermeldungangezeigt werden. Wurde sie aber nicht, weil Folgendes passierte:...
Dateimanagement: Stammdaten: DOM-Elemente bei multiples Tab-Aufrufen nicht duplizieren
Der Aufruf des Tabs »Dateianhänge« in den Artikelstammdaten lieferteinen Tab aus, in dem der HTML-Code für den Umbenennen-Dialogvorhanden ist (initial versteckt). Ruft man den Dialog dann auf, so...
kivi.popup_dialog: Dialog vor »custom close function« schließen
Wenn die »custom close function« den Dialog im DOM verschieben möchte,so macht sie das mit $dlg.remove().appendTo('#new_parent_id'). Dabeigeht aber die Dialog-Initialisierung flöten.
Wird also erst anschließend $dlg.dialog('close') ausgeführt, so hagelt...