wiederkehrende Rechnungen: auch bei E-Mail erzeugtes Dokument im DMS speichern
Leistungsdatum: wiederkehrende Rechnungen
Wiederkehrende Rechnungen: Druck-/E-Mail-Fehler in Zusammenfassungs-Mail
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%>«.
ZUGFeRD: auch wiederkehrende Rechnungen mit ZUGFeRD-Infos erzeugen
SelfTest: Transactions: check_summe_stornobuchungen optimiert
Für den zu beobachteten Zeitraum werden jetzt getrennt betrachtet, obRechnungen aus diesem Zeitraum storniert sind und mit Ihren Partnern inder Summe nicht 0 ergeben,oder obStornorechnungen in diesem Zeitraum erstellt wurden und mit Ihrem Partner...
SelfTest: Transactions: Stornosumme -> copy/paste-Fehler ar statt ap
SL/BackgroundJob/SelfTest: eine lfd. Modulnummer hinzufügen.
Die Ergebnisse für das E-Mail-Template liegen in einem Hash mit denModul-Namen als keys. Im Template wird über die keys iteriert, damit istdie Reihenfolge aber nicht garantiert. Deshalb wird hier eine Modulnummer...
Kosmetik: POD bei SelfTest: keine leeren Abschnitte
Das gibt Warnungen beim podchecker
Wiederkehrende Rechnungen: ge-e-mailte Rechnungen im WebDAV speichern
Rechnungsmassenerstellen: keine DB-Transaktion um convert_to_invoice()
convert_to_invoice() macht selber intern bereits eine Transaktion auf;daher ist die außen unnötig.
Weiterhin waren die Parameter merkwürdig übergeben:
• Für eine On-The-Fly-Unterscheidung für »diese Parameter« vs. »keine...
Massendruck: Kopieren ins Webdav in den Helper verschoben.
Damit erzeugen alle Druckvorgänge hierüber Kopien im Webdav
Massendruck Lieferscheine/Rechnungen: doc_storage_enabled importieren
SetNumberRange: Validitätsprüfung auf Benutzereingabe (data) im Job
SetNumberRange: Background-Job um Jahreszahlen im Nummernkreis zu erhöhen
Nimmt die vierstellige Zahl des nächsten Jahres und multipliziertdiese mit 1 oder einem anderen Faktor. Präfixe und Länge desNummernkreis bleibt erhalten. Bspw.:
Letzte Rechnungsnummer:...
SelfTest: Geschwindigkeitssteigerung durch »NOT EXISTS« anstelle von »NOT IN«
Nicht ganz frische PostgreSQL-Versionen (mindestens bis 9.6 inklusive)optimieren »NOT IN«-mit-Subquery nicht automatisch und müssen daherfür jede Zeile des äußeren Selects einen linearen Scan auf die...
Task-Server auf unterschiedlichen Maschinen laufen lassen können
Jede Task-Server-Instanz und jeder Hintergrundjob haben nun ein neuesAttribute »node_id«. Darüber kann gesteuert werden, dass bestimmteJobs nur von einer bestimmten Instanz ausgeführt werden....
Wiederkehrende Rechnungen: Druckvorlage nach Auftragssprache auswählen
Bisher wurde immer die Standarddruckvorlage genutzt und die im Auftragund damit der Rechnung eingestellte Sprache komplett ignoriert.
Weiterhin wird der Dateiname des Anhangs nach der eingestellten...
Periodische Rechnungen: find_template-Aufruf gefit
find_template gibt je nach Kontext (Skalar vs. Array) unterschiedlicheDinge zurück. Innerhalb einer Hashzuweisung herrscht Array-Kontext,und damit kann je nach Reihenfolge, in der die Hash-Parameter von Perl...
Module: weitere Anpassungen für Exception::Lite → Exception::Class
Merge branch 'f-bundled-perl-modules'
SelfTest: gldate mit itime vergleichen - sollte übereinstimmen
Module: gebundletes YAML durch dünnen Wrapper über YAML::XS & YAML ersetzt
Variable »$query« nicht durch doppelts »my« shadowen
SelfTest Transaction zum commit von gerade: weniger false positives
Bei Buchungen, bei denen nicht ein RecordLink existiert (GL),gelöscht, ist es nicht mehr möglich sauber auf verwaiste Einträge zutesten. Entsprechend min(itime) from bank_transaction_acc_trans als...
BankTransaction: want a whole lotta test
neuer Test full_workflow in bank_transactions1.Verbucht drei Verkaufsrechnungen nacheinander, davoneine mit Zahlungsbedingung Skonto nach ZB. Zusätzlichzu den Nebenbücher werden acc_trans Einträge kontrolliert,...
BackgroundJob SelfTest: unbenutzte Variable entfernt
Rechnungsadresse aus den Stammdaten bei periodischen Rechnungen verwenden (Anzeige beim Editieren)
SelfTests: check_ap_paid berücksichtigt Auswahl von fromdate und todate
Kosmetik (Einrückungen) zum Commit von gerade
CreatePeriodicInvoices: Transaktionssicher
Aufträge verarbeiten, Rechnungen erzeugen, Drucken und E-Mail-Versandin einer Transaktion
SelfTests: Transactions um Prüfung auf laxe Buchungskonfiguration erweitert
SelfTest: Fehlermeldung beim E-Mail-Versand an den Task-Server hochreichen
SelfTest false positive vermeiden
Der #b4cc349b ist leider auch Schrott.Im Array hab ich nur failed mit 0 oder 1 als zuverlässige Status-Meldung
$self->all_passed enthält nicht mehr den Zustand, ob alleTests erfolgreich waren. Als Workaround auf zwei negativStatus-Meldungen prüfen, die bei Problemen gesetzt sind.
SelfTests: False Positive bei Buchungen auf ic_cogs als Sammelkonto vermeiden
Verknüpfte Belege um die Verknüpfung 'E-Mail Journal' erweitert.
Falls das E-Mail-Journal aktiviert ist wird zusätzlich zu derarchivierten E-Mail auch die Verknüpfung vom Beleg zu der E-Mail mitgespeichertund ist im Beleg zusätzlich direkt anwählbar.Etwas mehr Details im POD vom Mailer.pm, die Implementierung orientiert...
SelfTests/Transactions.pm erweitert
Da beim Löschen von Zahlungen mittlerweile auch kaskadieren diereconciliation_links gelöscht werden, können verwaiste abgeglichenBankbewegungen entstehen.Entsprechend Testfall ergänzt.
SelfTests: check_paid_ap ID in E-Mail-Bericht übergeben -> einfachere Analyse
fehlendes BCC in CreatePeriodicInvoices.pm(_email_invoice) hinzugefügt
POD-Fehler fixen
Wiederkehrende Rechnungen: Einmalige Rechnungen auch nur einmalig ausführen
Die kleinste Periode die calculate_dates verwendet ist monatlich.Falls eine einmalige Rechnungen ein Startdatum älter als einenMonat besitzt, werden mehrere Rechnungen erzeugt....
Wiederkehrende Aufträge mit einmaliger Periode verbessert
Die Deaktivierung erst nach der Generierung der Rechnung veranlassen.Andernfalls werden diese automatisch bei anderen Rechnungsläufen deaktiviert.
WebshopApi: BackgroundJob ShopPartMassUpload.pm
WebshopApi: BackgroundJob ShopOrderMassTransfer
Task-Server & FailedBackgroundJobsReport: Encoding des E-Mail-Bodys gefixt
SL::Mailer erwartet die Einträge in Perls internem Encoding. Daher istjegliche Verwendung von Encode::decode(…) falsch.
Zusätzlich muss aber dem Template-Toolkit mitegeteilt werden, dass die...
PDFs werden nicht mehr bei wiederkehrenden Rechnung per E-Mail erzeugt/angehangen
fix redmine #238
CsvImport: Controller erzeugt temporäres Profil, nicht der Hintergrund-Job.
BackgroundJob::CsvImport: unbenutztes Modul SessionFile::Random nicht laden
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...
Wiederkehrende Rechnungen, um neue Periode 'einmalig' erweitert.
Wiederkehrenden Rechnungen die aus einem Auftrag automatisch generiertwerden können jetzt die Periode 'einmalig' (engl. 'one time') mit demZeitwert 0 haben.Falls diese Periode angewählt wird, wird die Konfiguration des Auftrags...
Hintergrundjob zum Schließen bei geschlossenen Aufträgen verlinkten Projekten
Der Job ist per Default deaktiviert. Wenn eine solche Funktionalität füreine Installation benötigt wird, so muss der Admin manuell einenHintergrundjob dafür anlegen.
SelfTests: check_overpayments verbessert
i) chart_link muss nicht mehr über JOIN chart c c.link mit der acc_trans vereint werdenii) Der Test hat keine sinnvollen Daten an den Benutzer zurück- gegeben. Jetzt wird die Kunden- und die Rechnungsnummer gemeldet...
false positive in SelfTests gefiltert (Periode)
Hintergrund:Um nur die Daten-Analyse auf das aktuelle Geschäftsjahr (Geschäftsjahr gleichKalender-Jahr) zu machen, wird für die meisten Tests mit transdate == current_yeargefiltert.Problem: Periodenübergreifende Buchungen (Zahlungsein- und -ausgänge) werden...
SelfTest Kosmetik
Ein überflüssiges JOIN entfernt und etwas sinnvoller denCode formatiert.
SelfTests check_summe_stornobuchungen optimiert
Die Summenprüfung der Stornobuchungen mussauch über den Jahreswechsel hinaus Buchungen berücksichtigen.
Mehr als eine SelfTest-Modul prüfen
Der Aufruf der SelfTest funktionierte nur für genau eineDatei - Mit einer leicht anderen Aufruf-Syntax werden auch weitereTests durchgeführt.
Revert "Mehr als eine SelfTest-Modul prüfen"
git add --patch falsch angewandt.
This reverts commit db4680753f5ec1de62bdc0557f850afd810444d1.
BUGFIX: Benachrichtigung automatisch erstellter Rechnungen fehlerhaft
Dieses Problem wird im Redmine Ticket #218 angesprochen.
Durch Verwendung einer lokalen Variable behoben
Kosmetik, bessere Beschreibung für neuen SelfTests (#24)
Copy und Paste-Fehler bei Beschreibung im Positiv-Testfallübersehen, sowie Einrückungen verbessert.
Weiteren Transaction-Selftest
Falls ein datepaid im Nebenbuch gesetzt ist, so darf paid nichtauf 0 sein, wenn es keine Zahlungen in der acc_trans hierzu gibt.
»with_transaction« anstelle von »do_transaction« verwenden
Es sollte so selten wie möglich »do_transaction« verwndet werden, damitman sich immer angewöhnt, »with_transaction« zu nutzen.
Hintergründe und Unterschiede zwischen den beiden Funktionen sind in der...
CsvImport: deutlich anzeigen, ob Vorschau oder echter Import
CsvImport: Spaltenzuordnung für non multiplexed
Hintergrundjob periodische Rechnungen: bei Fehlern Fehlermeldungen ausgeben, …
… nicht die Anzahl der Fehler.
SelfTests: Weitere Randfälle zumindestens in der Analyse-Ausgabe erwähnen
Hintergrund: Steuerschlüssel können auch bei Zahlungskonten vorhanden sein,damit wäre eine Verknüpfung mit einer Netto-Rechnung auch nicht sinnvoll.
SelfTests erweitert: arap.paid mit acc_trans.paid vergleichen
Der Bezahl-Wert in den Nebenbücher muss auch immer mit dem Bezahl-Wertin der acc_trans(chart_link= '%ARAP_paid%' übereinstimmen.
SelfTests verbessert
Eingangsrechnungen können und dürfen diesselbe Rechnungsnummer haben,entsprechend beim group by berücksichtigt.Ferner amount auf Zahlungsausgangskonto und nicht Zahlungseingangskontenberücksichtigt.
SelfTest: Überbuchte Bank-Transaktion finden
Es ist möglich, mehrere Rechnungen auf einen Schlag einer Bankbewegungenzuzuordnen. Aktuell wird an der Oberfläche der Anwendung hier keineWarnmeldung/Rückmeldung ausgegeben. Eine überbuchte Bankbewegung ist...
SelfTests Buchungen ohne Steuer auch mit Steuerschlüssel 11, etc filtern
Nicht nur Steuerschlüssel 0 kann steuerfrei sein, sondern auchdiverse andere (tax.rate beachten!)
SelfTests: Verwaiste invoice-Einträge auch auf Zeitraum beschränken
Wiederkehrende Rechnungen: Variablen Periodenstart-/-enddatum richtig setzen
Die Perioden beginnen nicht mehr immer nur am 1. des Monats, sondern andem Tag, der über das Vertragsstartdatum angegeben ist. Daher müssenauch die Variablen <%period_start_date%> und <%period_end_date%> anhand...
Wiederkerende Rechnungen: Implementation automatischer Versand via E-Mail
SL::DB::Printer: »Dokument an Drucker schicken« zentralisiert
Die neue Funktion print_document übernimmt das Spawnen des externenProzesses und schickt das Dokument an den Drucker. Das Dokument kannentweder direkt als Inhalt oder als zu sendender Dateiname übergeben...
Revert "Bugfix zu manuelle Lieferadresse im Auftrag wird nicht in wiederkehrende Rechung übernommen"
This reverts commit f46afb13bacfe1d838cb4a7a5b5b58e8145ff4b1.
Wird durch einen folgenden Commit besser implementiert, nämlich direktin der Umwandlungsroutine von Auftragsobjekten zu Rechnungsobjekten.
Selftest Transaction - Syntaxfehler entfernt
SelfTest - bessere Fehlerbehandlung für Einbinden der Test-Module
Fehlermeldung an den TaskServer zurückgeben.Fehlermeldung(en) in der Status-E-Mail hinzufügen.
SelfTests falscher Zeitraum für Standard-Tests
Selftests konsequent auf fromdate -> todate umgestellt
Ferner Kosmetik von hässlichen SQL Formatierungen
Self-Tests Haupt- / Nebenbuchprüfung verbessert
Weitere Selftests
- Kreditoren Haupt und Nebenbuch Netto-Prüfung (ap.netamount == acc_trans.amount)- Für alle Taxkeys <> 0 muss auch eine Steuerbuchung in acc_trans vorhanden sein
SelfTest -> Transaction. Test verbessert (ar.amount invoice.amount)
Summe laut Verkaufsbericht gleich Summe der Rechnungen (ar).Der Test schlägt fehl, wenn es Debitorenbuchungen gibt, da hier keineinvoice Einträge gemacht werden. Entsprechend die Abfrage verbessert.
SelfTest: Datenbanknamen gefixt; Client-Namen auch mit ausgeben
SelfTest: Bei overpaid auch invnumber ausgeben, zur besseren Analyse
Copy & Paste Fehler, bei Fehlertext SelfTest #11
Csv-Import-Hintergrund-Job: Als Ergebnis einen Text zurückgeben, nicht das Job-Objekt.
Die implizite Rückgabe des Job-Objekts führte beim Speichern der Job-Historie zueinem DB-Fehler, der nichts mit dem Import zu tun hat.
MassRecordCreationAndPrinting: SessionFiles für TaskServer Fix
SelfTest um Testfall ac.amount ar.netamount ergänzt
In Ergänzung zu #7915128c einen ähnlich sinnvollen Testfall fürSelftest ergänzt.Im Datenbestand muss zwingend ar.netamount acc_trans.amount für TypAR_amount identisch sein.Ansonsten kommt / kam es in der Vergangenheit immer zu cent Differenz in...
Massenkonvertierung Lieferschein - Rechnungen. Detailverbesserungen
Aufgrund der Code-QS von Bernd folgende Details bei der Massenkonvertierungvon Lieferscheinen nach Rechnungen eingebaut:a) Das Model filtert jetzt nur nach offenen Verkaufslieferscheinen und...
Massendruck weitere Optionen (zweiter Druckbefehl) implementiert
transdate, copy_printer_id (id des zweiten Druckbefehls) als optionaleParameter beim Aufruf der Konvertierung inkl. Ausdruck in der APIbereitgestellt.
Details: perldoc SL/Controller/MassInvoiceCreatePrint.pm
MRCP.pm. Falls Webdav Archivierung auch PDF in Webdav kopieren
Beim Massenwandeln prinizipiell auch den WebDAV Ordner und dieDatei plus Zeitstempel erstellen. Entsprechende Fehlermeldungenan die Oberfläche zurückgeben, wie allen anderen Meldungen in MRCP auch.
Wiederkehrende Rechnungen: Lastschrifteinzugsflag in Konfiguration setzen können
POD Fehler
Massenkonvertierung von Lieferscheinen nach Rechnung ink. Druck
Die Konvertierung als auch das Generieren des PDFs erfolgt alsBackground-Job. Entsprechend muss der task_server für den.Mandanten eingestellt sein.Details und bekannte offene Punkte im POD der beiden Perl-Module....
CreatePeriodicInvoices: HTML-Formatierung beim automatischen Drucken richtig formatieren
Hintergrundjob für E-Mail-Bericht über fehlgeschlagene Jobs
Wiederkehrende Rechnungen: Testcase für Periodizitäten
Wiederkehrende Rechnungen: Berechnung für Auftragswertperiodizität angepasst