API für Telefonnummernrückwärtssuche
Authentifizierung: Unterstützung für HTTP Basic Authentication RFC 7617
Schnellsuche für Verkaufs- & Einkaufslieferscheine
Kontoauszug verbuchen: Neuen Skonto-Typ
Eingabe eines freien Skonto-Betrags in der Maske aktiv.Ferner Anzeigen des Skonto-Betrags bei with_skonto_pt, damitder Anwender besser visuell unterstützt wird.
Payment::pay_invoice um Zahlungsbedingung freies Skonto erweitert
POD angepasst. Falls der Zahlungstyp free_skonto und der Parameterskonto_amount übergeben wird, so wird dieser anstelle von einemberechneten Skonto-Betrag verbucht. Das Vorzeichen wird entsprechend...
Redundanten Template-Code in bank_transactions/invoices.html aufgeräumt
Payment Kosmetik/Konvention
POD aktualisiert. Pflicht-Parameter am Anfangder Methode prüfen
Kosmetik, Kommentar verbessert, toter Code entfernt
Kontoauszug verbuchen rückgängig machen. Closedto und GL
Falls eine Buchung in einer geschlossenen Periode ist,erst gar nicht die Möglichkeit zum Anwählen geben.Ferner GLTransaction auch erlauben, allerdings diese dannkomplett (gl Nebenbuch) rauslöschen
BT valutadate anstelle transdate an pay_invoice
Der Tag der Buchung ist in diesem Fall der Tag derWertstellung, entsprechend "richtigeren" wert an pay_invoiceübergeben.
BankTransaction(closed_period) Prüft Valutadatum gegen closedto
Gibt 1 (wahr) zurück falls das Valutadatum der Bankbewegunginnerhalb einer geschloßenen Periode ist. Andernfalls 0.
POD, Test und 2 Stellen im Controller geändert.Offen: Payment-Helper, der sollte allerdings nichts über den Zustand...
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,...
Reconciliation: Veto, kein invoice_amount nachträglich setzen.
Im Fehlerfall die Summe der Bank gegenüber der Buchungenan Benutzer (testfall) übergeben.
unlink_bank_transaction optionaler parameter für testfall
BankTransaction Die richtigen (erwarteten) Parameter von amount an pay_invoice
Stellt den vorherigen Zustand im Controller wieder her, der überFallunterschiede vom Invoice-Typ Vorzeichen verschoben hat.Tests laufen damit erstmal durch. Ferner kann und muss es mehr...
Payment pay_invoice alle acc_trans_ids sammeln
Hintergrund. new_acc_trans wird mehrfach für verschiedeneFälle verwendet, entsprechend nach jeder Änderung einsammeln
BankTransactionAccTrans für ALL.pm
BankTransaction: Neue Funktion um Bankverbuchungen wieder rückgängig zu machen
action_unlink_bank_transaction inkl. PODDer Bericht Bankbewegungen erhält im Presenter Anhakboxen (ähnlich wie bei SEPA)
BankTransaction: weniger im Controller rechnen -> ausgelagert in Objekt
s.a. Commit davor. Redundanzen hier direkt vorbeugen.
Dialogbuchungen aus Bankbewegungen teilweise Verbuchungen erlauben
Da vorher nur komplette Bankbewegungen verbucht werden konnten,war es nicht sinnvoll Teilbeträge im Dialog zu buchen.Das Verfahren ist jetzt geändert und übergeben wird der aktuelleRest-Betrag der Bankbewegung
BankTransaction new method not_assigned_amount
returns the current open amount of this bank transaction.Added to POD
BankTransaction: save_single_bank_transaction API-Änderung
S.a. POD und devel-ListeTestfälle angepasst
save_single_bank_transaction: acc_trans_ids von pay_invoice speichern
Payment-Helper pay_invoice um Rückgabewert der acc_trans_ids erweitert
Kosmetik/Perl-Detail Optionen als Hash anstatt array
Neue Helper-Tabelle SL/DB/BankTransactionAccTrans.pm
Hintergrund: Verbuchte Bankbewegungen sind nur übereinen löschbaren RecordLink aktuell zuordenbar.Das macht ein verlässliche Aussage über die Verbuchungender Bankbewegung schwierig. Besser wäre es eine...
SL::DB::Invoice(closed) POD korrigiert s.a. #368
Ggf. die Routine ganz entfernen oder zumindestens fürGutschriften wie in 368 beschrieben patchen
SL::DB::BankTransactions(linked_invoices): Returns an array of record objects
Anstatt nur die Namen der Belege werden jetzt die Beleg-Objektezurückgegeben. Einziger Aufruf der Methode beim ReportGenerator inController::BankTransactions. Die Stelle entsprechend angepasst
PTC: Sortierung von items beachten bei Rechnungen die nachträglich geändert wurden
(cherry picked from commit eacfe1d260a6f9d4c12aa508b2c4d4cc018508c8)
Order: Auftrag mit Items und Ware laden
Die werden überall gebraucht, also gleich mitladen
(cherry picked from commit cb546c6e64e4b3315dcd8b826261939a89baa543)
Order: second row javascript direkt indizieren.
Beschleunigt das Nachladen der zweiten Zeile bei großen Aufträgen (100+Zeilen), weil der client weit weniger DOM selectors auswerten muss.
(cherry picked from commit 87ca139b2162813d71dec8e4e8ecef21588c818d)
Preisregeln: Präzedenzbug bei Mengenregel behoben
Durch eine fehlende Klammerung konnten Mengenregeln zufällig nichtgreifen.
(cherry picked from commit f1cf2062a7df1877e931f5655afe899e0dacb649)
CreatePDF-Helper: UNLINK für temporäre Dateien (wieder) richtig setzen
Berechtigung, Einkaufsrechnungen persönlich zugeordneter Projekte einzusehen
Betrifft sowohl Einkaufsrechnungen als auch Kreditorenbuchungen.
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...
Autovervollständigung Kunden/Lieferanten auch ohne Stammdatenrechte
Ergebnis von SL::DB::Manager::Employee->current cachen
Order-Controller: Workflow -> *-Auftrag vorher Speichern
Ansonsten werden die cvars nicht übernommen.Außerdem ist es konsistenter, da bei allen anderenWorkflow-Aktionen auch immer gespeichert wird (Rechnung oder LS).
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,...
DMS-Dateianhänge beim E-Mail-Versand Vorauswahl konfigurierbar
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
Verkauf->Rechnungsbericht Filter nach nicht per E-Mail verschickten Belegen
SL::RP: unbenutzte Subroutine entfernt.
DisplayableNamePrefs: Benutzereinstellungen
DisplayableNamePrefs: Mandantenkonfiguration
DisplayableNamePrefs: SL::DB:xxx verwenden DB-Helper
erstmal nur Customer/Vendor/Part
DisplayableNamePrefs: DB-Helper als Mixin
DisplayableNamePrefs: UserPreferences-Helper f. DisplayableName
Ansprechpartner um boolean Hauptansprechpartner erweitert
Entsprechend mit einigen Attributen für den Export von Kundenstammdatenhinzugefügt.Hintergrund: Ansprechpartner-Export gibt nur die Liste aller Ansprechpartner.Das Feld Kontakt (in der Tabelle Kunde) war wahrscheinlich der Vorgänger...
Kontoauszugsimport 2 Konten bei einer Bank. Bankgebührenbuchung wird als schon importiert makiertFix für #367
Stammdaten-Kunden: Neues Feld Amtsgericht. Weitere Export-Möglichkeiten
Ust-ID, Kreditlimit, Amtsgericht (benötigt bspw. für Factoring)
Aufruf von with_objects in RequirementSpecPart korrigiert
bei SL::DB::Object ist der Parameter "with", nicht "with_objects" (wiebei SL::DB::Manager::Object)
Das hatte allerdings keine kritischen Auswirkungen, der Parameter wurdeignoriert und die Daten wurden dann erst später geladen.
BackgroundJob SelfTest: unbenutzte Variable entfernt
Typos und spellcheck: unkown -> unknown
Ergänzung zu a3b8cfa7b7546 (Mahnungen konfigurierbar machen)
- bessere Fehlerbehandlung > send_mail läuft schon in einer Transaktion Von daher mit die hart aussteigen Die Signatur des E-Mail-Versenders sollte dann auch zur E-Mail-Adresse passen, entsprechend backup vars erstellt vor dem Aufruf von Form::create_signature
Verkaufsaufträge: konfigurierbares Intervall für Lieferdatum-Berechnung
Zahlungserinnerung an Rechnungsadresse schicken - Weiche für Absender
Mail-Absender aus defaults.dunning_creator ableiten.Falls die Rechnungsadresse E-Mail gesetzt ist, diese als Empfänger nehmen ansonsten dieglobale E-Mail des Kunden (abwärtskompatibel)....
fixt: #345 Mahnungsersteller im Ausdruck konfigurierbar machen
Im Menüpunkt Mahnungen konfigurieren, kann man nun wählen, obder aktuelle Mitarbeiter für die Mahnung/Zahlungserinnerung gesetzt istoder der ursprüngliche Mitarbeiter/Ersteller der Rechnung
Rechnungsadresse aus den Stammdaten bei periodischen Rechnungen verwenden (Anzeige beim Editieren)
Stammdaten -> Kunden um Textfelder Rechnungsmail und Herkunft personenbezogener Daten erweitert
i)Die Rechnungsmail ist die generische E-Mail des Kunden, welche dieRechnung in der Regel bearbeitet (buchhaltung@, einkauf@).ii)Aufgrund der DSGVO ist es im Zweifel sinnvoll den Erstkontakt...
SelfTests: check_ap_paid berücksichtigt Auswahl von fromdate und todate
PTC: Fehlerhafte ungerundete Berechnung von grossamount
Bei Rechnungen mit sehr vielen sehr kleinen Positionen wurde dieRundungsfehlerakkumulation nur in den finalen netamountsberücksichtigt, nicht aber in den daraus berechneten grossamounts was zuCent-Abweichungen geführt hat....
Korrektur PriceTaxCalculator: Falsches Objekt zum Prüfen genommen
mit Sven durchdiskutiert
(cherry picked from commit d4102550a27e2bee22d4faed2626fc1434d9e721)
PTC: item->discount auf 0, wenn nicht definiert, um Warnungen zu vermeiden
PTC: Rückgabe sellprice für items: Steuer und Rabatt berücksichtigen.
So war das vor dem PTC-Rundungs-Patch …"PTC rundet nicht mehr Rabatt vor Mengenmultiplikation"
PTC: Kosmetik/Kommentare
PTC rundet nicht mehr Rabatt vor Mengenmultiplikation
siehe Ticket #82
Neuer Test für 100000 Artikel zu 0,10€ bei 3% RabattEinen weiteren Test angepasst an die neuen Zahlen.
PTC: nicht einfach die Rundungsgenauigkeiten erhöhen …
… das verschiebt das Problem auf jeden Fall nur.Siehe auch Ticket #82.
Diser commit macht den Teil"Ferner Rundungsgenauigkeiten für wiederkehrende Rechnungen erhöht." auscommit 075f64d61e999506517a304022525d83c29e6e3e rückgängig....
Fixt #350 Fehler p.income_accno_id does not exist
Die mehrmals in RP.pm vorkommenden Zeilen'JOIN chart c on (p.income_accno_id = c.id)'und'JOIN chart c on (p.expense_accno_id = c.id)'erzeugten einen Fehler, da es in der Tabelle partskeine solchen Spalten gibt, sondern in taxzone_charts...
Fixt #352 Beim Drucken mehrerer Rechnung aus dem Bericht heraus wird der Rabatt falsch berechnet
Hotfix für die zweifache Berechnung vom Rabatt (Marge bei Berichten falsch) erstellt.Hintergrund: Der alte Code erwartet keine vorformatierten Werte, wird aber bei...
Fixt #348 DatevExport kommt mit bestimmten Zeichen im Buchungstext nicht klar
In der Mandantenkonfiguration befindet sich jetzt eine Einstellung,welche die Kodierung des DATEV-Exports steuert. DATEV erwartet CP1252.kivitendo kann diese Kodierung so vom kivitendo Nutzer einfordern, alternativ nicht...
toten Code entfernt
LC_CTYPE-Locale auf eine UTF-8-Locale setzen
Beim Starten des Perl-Interpreters wird die Locale anhand vonUmgebungsvariablen wie `LC_CTYPE`, `LC_ALL` und `LANG`gesetzt. Unter (F)CGI sind diese normalerweise leer, wodurch alsLocale die POSIX-Locale (`C`) gewählt wird — und die hat nur ASCII als...
Weitere Fallback-Module entfernt und Doku angepasst (s.a. #344)
Part-Controller: Normalisieren nach Parsen der Form und nicht als run_before
Das Problem enstand durch commit 2e97532c88dacf9523576df4028b6f7df5967ea8"Fixt #349 (Normalisierung Artikel) - normalize_text_blocks nach Part-Controllermigriert"
normalize_text_blocks greift auf $self->part zu, welches beim Neuanlegen...
Dokumentation/Modulabhängigkeiten ergänzt (s.a. #344)
Fehlermeldung bei 'als neu Speichern' bei Erzeugnissen ohne Erzeungisbestandteile werfen
Filemanagement: Mandantenkonfig "Erzeugte Dokumente löschbar" wird nicht berücksichtigt
Dieses Flag wurde bisher noch nirgend berücksichtigt.
fixed Issue #220
Fixt #349 (Normalisierung Artikel) - normalize_text_blocks nach Part-Controller migriert
Kosmetik (Einrückungen) zum Commit von gerade
disable_one_time_config: Transaktionssicher (Testcode entfernt!)
CreatePeriodicInvoices: Transaktionssicher
Aufträge verarbeiten, Rechnungen erzeugen, Drucken und E-Mail-Versandin einer Transaktion
disable_one_time_config: Transaktionssicher
Neu angelegte Artikel in Shopware aktivieren.
Scheint seit Shopware 5.2 notwendig zu sein, damit der Artikel im Frontend erscheint.s. https://forum.shopware.com/discussion/39006/artikel-nach-import-ueber-rest-api-im-frontend-nicht-sichtbar
Implementiert #357 Auftrag schliessen, falls einmalig wiederkehrende Rechnung inaktiv
Die Generierung einer periodische Rechnung mit der Periode einmaligsollte auch den Quell-Auftrag schliessen.
DATEV::CSV undef ist kein gültiger Wert für den DATEV-Export
fixt den Fehler beim Testfall
DATEX-Export, kein Fälligkeitsdatum für Dialogbuchungen exportieren
Lager->Einlagern: kein extra EAN-Feld mehr
das funktionierte ohnehin nicht und seitcommit 87b5c8e4245710eec1c6257ab4e291080bc900bd"PartPicker kann auch nach EAN suchen"
kann der Partpicker auch nach der EAN suchen.
WH->transfer braucht die EAN auch nicht, da diese gar nicht in inventory...
Kontoeinstellungen: Folgekonto kann nicht das Konto selbst sein.
behebt #329"Konto mit identischem Folgekonto führt zu Endlosschlaufe"
Part-Presenter: Typ u. Klassifizierung: Abfangen, wenn kein Argument übergeben
behebt #332"Bug: Bericht Lagerbestand gibt Fehler beim einschliessen leerer Lagerplätze"
Lager->Berichte->Lagerentnahme: richtige js-Funktionen einbinden
Hier wurde wohl bei der Übernahme aus einem anderen Projekt eineneue js-Datei vergessen. Aber es gibt eine andere, die es noch tut.
behebt #333"Bericht Lagerentnahme: Lagerplatz lässt sich nicht auswählen"
Lager/Einlagern: Grund der Einlagerung wird ignoriert
- Abfrage der eindeutigen ID des Transfertypes statt der Bezeichnung hinzugefügt- Abfrage nach der eindeutigen ID des Transfertyps erweitert:- ist diese vorhanden so wird sie direkt verwendet- ist sie nicht vorhanden so wird das Transferobjekt über den alten Weg erzeugt und die ID des Transfertyps daraus genommen...
Artikel nicht löschen können, wenn in Preisregeln verwendet.
behebt #353"Preisregeln Wenn Artikel gelöscht wird"
OrderItem-Manager: sortspec für sellprice und discount genau spezifiziert.
Sonst ist die Sortierung-Spalte evtl. nicht eindeutig, wenn z.B. dasPart-Objekt mit in der Abfrage ist.
behebt # #334"Sortierung Artikelstammdaten/Preisinformationen/Verkaufspreisinformation:...
Form::flatten_variables: Array Serialisierung gefixt
Durch einen 11 Jahren alten Bug wurden Top-Level Arrays nichtserialisiert sondern jeweils nur das letzte Element zurückgegeben.
Die gefixte Version schafft alle relevanten Tests der t/helper/flattensuite bis auf nested arrays, die sind von dieser Variante nicht...
Auftrags-Controller: date_tags mit richtiger id ansprechen
Fehler kam rein mit:commit 43e74053df32b26b2e2ec5059bebc60d47be753b"Auftrags-Controller: date_tag mit _as_date füttern"
Inventur: Fehlermeldung an Benutzer, wenn kein Artikel ausgewählt wurde.
Inventur: Schwellwert in Mandantenkonfig. für Warnung bei Mengenabweichung
In der Mandantenkonfiguration kann ein Mengenschwellwert eingegeben werden.Wenn die bei der Inventur gezählte/eingegebene Zielmenge mehr als dieserSchwellwert von der Menge in der Datenbank abweicht, dann wird eine Warnung...