Formatierung/Verschönerung zum Commit von gerade (Abrechnungsperiode)
Wiederkehrende Rechnungen: Bei einmaliger Abrechnung, das Enddatum anders setzen
Standardmäßig kommt ansonsten eine eins zurück, was überwiegendfalsch ist.
Shop: 1. Unterversion auch für Shop-Aufträge erstellen
SetClosedTo: Neues Datum korrekt setzen
SetClosedTo: sehr fehlerhaftes debugging entfernt ...
Hintergrund-Job zum Bücher schließen
SelfTest, Optional eine weitere E-Mail-Adresse beim Hintergrund-Job angeben
SelfTests: ID der inkonsistenten BankTransactions ausgeben
Massenerstellen von RG aus LS: geschlossene LS nicht (erneut) verarbeiten
Auch bei dem Weg über den Hintergrund-Job. Wenn nämlich der Task-Serverbeschäftigt ist, kann der Benutzer auf dei Idee kommen, den ganzenProzeß nochmal zu starten. Dann laufen mehrere Jobs nacheinander,...
Hintergrund-Job: Erinnerung an WV verschicken
proof of concept: Formular-Gültigkeit beim Buchen von Verkaufsrechnungen
Ziel: verhindern, dass eine noch nicht gebuchte Rechnung durchVerwendung des »Zurück«-Buttons im Browser mehrfach gebucht werdenkann.
Implementation: Beim Neuanlegen einer Rechnung wird ein einmaliges...
Volltext-Suche: Hintergrund-Job nachts aktivieren
Volltext-Suche: Hintergrund-Job: POD
Volltext-Suche: Hintergrund-Job zum Extrahieren von Texten aus Dokumenten
MassRecordCreationAndPrinting: dbh transactions sicherer
SelfTest: ar_amount nicht bei Anzahlungs- oder Schlußrechnungen prüfen
Merge pull request #33 from kivitendo/f-send-emails-as-html
F send emails as html
MassRecordCreationAndPrinting - MassInvoiceCreatePrint: Auftrag schliessen
MassRecordCreationAndPrinting: Shopstatus setzen
E-Mails als HTML verschicken: Mail-Body wiederkehrende RGs: Variablenersetzung
E-Mails als HTML verschicken: Versand wiederkehrender Rechnungen
Benutzerdef. Var. als HTML-Feld: Druckunterstützung
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...
SL::DB::BackgroudJob::ALL entfernt
Wird nicht wirklich gebraucht und war bis vor dem letzten Release auchnicht richtig mitgepflegt worden.
SL::BackgroundJob::ALL.pm für BackgroundJobs aktualisiert
Zeiterfassung: Eingabe-Datum einzeln prüfen und nicht doppelt konvertieren
Zeiterfassung: Exaktere und lokalisierte Fehlermeldung inkl. Doku
Wiederkehrende Rechnungen: Preis-Fix für einmalige Ausführung
Bei einmaliger Ausführung ist der Preis immer derjenige, der in derRechnung angegeben ist, weil die Auftragswertperiodizität keinenSinn ergibt, wenn es keine Abrechnungsperiodizität gibt.
Zeiterfassung: Konvertierung: Artikel/Projekt: override- und default-Parameter
Zeiterfassung: Konvertierung: POD-Update und Kosmetik
Zeiterfassung: Konvertierung: Refoctored -> Fehlermeldungen
Zeiterfassung: Konvertierung: nur benötigte Paramter an new_from_time_recordings
Zeiterfassung: Konvertierung: Abbrechen, wenn keine Einträge zu verarbeiten sind
Zeiterfassung: Konvertierung: Refoctored -> zentrale Prüfung der Parameter
Zeiterfassung: Konvertierung: Prüfung Datums-Parameter
Revert "CTR: Benutzereingabe in data mit Try::Tiny auffangen"
DateTime->from_kivitindeo wirft keine Ausnahme, daher ist hier try/catchohne Funktion.
This reverts commit a6291ceb5b16c6faf4e24c6d1a5516f06df58e22.
Zeiterfassung: Konvertierung: angegebenen Auftrag als Vorgänger verwenden können
Zeiterfassung: Konvertierung: Einträge ohne Dauer nicht bearbeiten
Zeiterfassung: Konvertierung: geliefert/gelieferte Mengen in Auftrag anpassen
Zeiterfassung: Konvertierung: Auftrag als geliefert markieren, wenn komplett
Todo: hier gibt es einen Bug mit Einheiten
Zeiterfassung: Konvertierung: POD: Kundennummer ist nicht Format-abhängig
Zeiterfassung: Konvertierung: von-bis-Filter benutzt Datum statt End-Zeit.
End-Zeit gibt es nicht bei Eingabe mit Datum/Dauer.
Zeiterfassung: Konvertierung: Carp-Modul wird nicht gebraucht
Zeiterfassung: Konvertierung: Position aus zugehörigem Auftrag
Zeiterfassung: Parameter f. Konvertierung mit link_project/related order
Zeiterfassung: Parameter f. Konvertierung in params übergeben
Zeiterfassung: Fehlermeldungen: Leerzeichen; keine Angabe der Codestelle
Zeiterfassung: richtige Parameter f. Hintergrund-Job prüfen …
und- Hash mit validen Parametern umbenannt- exists statt trueish- "die" statt "croak"
CTR Mehr Benutzerparameter aus dem POD erlauben und prüfen
- Init rounding and link_project defaults- Check for valid user param names- Add params to each source entry for DO->new_from_time_recording- some TODOS
CTR: POD um neue Parameter erweitert
CTR: Wirklich mit "die", die Fehler werfen. Einrückung
CTR: Warnungen zu Fehlern hochgestuft - Variablenbenennung wie in CPI
CTR: Benutzereingabe in data mit Try::Tiny auffangen
Sinnvolle Fehlermeldung in einem Satz zurückgeben unddanach den kompletten Trace.
Zeiterfassung: Hintergrund-Job zum Umwandeln in Lieferscheine
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...