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...
Part-Controller: Als neu verwenden: neue Id für Kunden-/Lieferanten-Art-Nr.
bzw. nicht die alte Id (MakeModel / PartCustomerPrice) für die neuen Objekteverwenden. Sonst gehen die Kunden-/Lieferanten-Art-Nr. beim Speichern im altenArtikel verloren.
Auftrags-Controller: Aufträge auch mit neuem Controller zusammenfassen können
SL::DB::Order: new_from_multi
Neue Aufträge aus mehreren Belegen (im Moment nur Aufträge) erzeugen.
SL::DB::Order: POD: Doku nicht vorhandener Subroutine entfernt.
SL::Dev::Record: POD: new_part/_service statt create_part/_service
SL::Dev::Record: POD Formatierung
Auftrags-Controller: Variable besser benennen …
bin drüber gestolpert, weil ich gesucht habe, wo im Workflow -> Auftragdie Verknüpfungen gespeichert werden. Wg. $quo nahm ich an, dass es hiernur um Angebote geht.
Mandantenkonfiguration: experimentelle Features einzeln an-/abschaltbar machen
es gibt nun "feature_experimental_order" und "feature_experimental_assortment"
angepasster cherry pick von odyn: bc94c40f2f64e7b40fbd90c49dbf41f86688c32d
Umbennenen von Datei mit mehreren Versionen
Generell können generierte Dokumente nur alle den gleichen Namen haben.Beim Umbennen wird ggf. auch die Version mitgeschickt. Diese muss aus de rID herausgefiltert werden
bei #102
DATEV-CSV-Export leere Feldwerte für Belegfeld2 erlauben
POD Syntax repariert
Auftrags-Controller: bei "als neu speichern" Konfig wiederk. RGs übernehmen
SelfTests: Transactions um Prüfung auf laxe Buchungskonfiguration erweitert
Workflow quotation -> order. Quell-Beleg schließen.
Angebote|Preisanfrage werden immer geschlossen, fallses ein Auftrag oder Lieferantenauftrag daraus generiert wird.Die ursprüngliche Funktion in OE.pm kann als Quelle nochmehrere Belege haben, dies ist im aktuellen Workflow nur eine...
Auftrags-Controller: Beleg vor drucken und E-mailen speichern.
Das nur bei "speichern" auch gespeichert wird, ist vielleicht konsequent, aberim Alltag eher unpraktisch. Viele Anwender hatten damit ein Problem, dass dieverschickte oder gedruckte Version des Belegs anders ist, als die gespeicherte,...
Auftrags-Controller: Wiederkehrende Rechnungen. Konfig nicht mit neuer id …
… speichern, wenn diese schon vorhanden ist, sondern die vorhandene mitden neuen Attributen versehen.
Wenn sich die id ändert, lässt sich nicht mehr feststellen, ob für diese Konfig...
SelfTest: Fehlermeldung beim E-Mail-Versand an den Task-Server hochreichen
Toten Code entfernt: customer_or_vendor_selection.js
Bevor es den Customer-Picker gab, bestand die Möglichkeitüber einen Klick auf ein Fragezeichen den Kunden/Lieferantenrauszusuchen. Die Funktion war noch ein bisschen erweitert,da der Ansprechpartner noch separat angezeigt wurde (toter Projektcode im...
TopQuickSearch: UserPreferences kleinere Syntaxverbesserungen
TopQuickSearch: Syntax Logik bei den Userpreferences. with_empty bei derAuswahl
TopQuickSearch für den Benutzer konfigurierbar gemacht.
Über UserPreferences, allerdings wird die Mandantenkonfiguration (quick_search_modules) nichtberücksichtigt. Der Benutzer hat alle Schnellsuchen zur Verfügung.Das L.multiselect2side macht Probleme deswegen auskommeniert. Wenn aktiv wird das...
Auftrags-Controller: Sprache aus Kunden-/Lieferantenstammdaten vorbelegen.
Auftrags-Controller: totalen Ertrag unten anzeigen
Auftrags-Controller: Verkäufer aus Benutzer vorbelegen, wenn nicht beim Kunden
Beim Anlegen eines Angebots/Auftrags wird der Verkäufer mit dem Verkäufer ausden Kundenstamdaten gefüllt. Ist hier keiner gestezt, so wird der Verkäufer mitdem aktuellen Benutzer vorbelegt.
Auftrags-Controller: "Speichern und Lieferschein/Rechnung" unter Workflow
Auch, wenn hier gespeichert wird, ist es doch ein Workflow.
Kundenstatistik: Rechte abgefragt
Kundenstatistik: Typo und Formatierung
Kundenstatistik: POD Syntaxfehler behoben
Payment-Helper: get_payment_select_options_for_bank_transaction verbessern
Falls es kein Skonto-Datum gibt, d.h. der Beleg hat überhaupt keineSkonto-Option, dann auch dem Benutzer erst gar nicht die Auswahlanbieten.Prinzipiell die Auswahl anzeigen ist sinnvoll, damit das Verhalten...
SEPA-Export: Überweisungen via SEPA - Feature Überweisungsdatum vorbelegen
Muss aktiv in der Mandantenkonfiguration (Feature -> SEPA) aktiviert werden.Entweder wird ein vorhandenes Skontoziel als Ausführungsdatum andie Bank/Export übergeben oder die Netto-Fälligkeit....
Kundenstatistik: javascript uas Templates in eigene js ausgelagert
Kundenstatistik: Rechte
1 Recht um den Tab Belege bei Kunden anzeigen zu lassen1 Recht um den Tab Belege bei Lieferanten anzeigen zulassen
Kundenstatistik: POD
Kundenstatistik: Briefe
Kundenstatistik: Emails
Kundenstatistik: offene Rechnungen, offene Aufträge, Angebote, Aufträge,
Kunden und LieferantenKunden Angebote, Aufträge, RechnungenLieferanten Preisanfragen, Lieferantenaufträge, Rechnungen
Kundenstatistik: dbh auf SL::DB->client->dbh umgestellt
Kundenstatistik: erster commit ohne Webtemplates
Ergänzend zu #359 DB->load anstatt croak
croak|die liefert keine Meldung an den ajax-Aufrufer zurück.SL::DB::..->load hingegen schon. Entsprechend geändert.
fix #359 get_payment_select_options_for_bank_transaction vereinfachen
OrderController Einrückung/Formatierung
OrderController Typo
get_storage_enabled war falsch in MassInvoiceCreatePrint
auch in MassDeliveryOrderPrint eingefügt
Kreditorenbuchungen: Warnung bei vorhandener Rechnungsnummer für diesen Kreditor
Vorbedingung:AP.js erweitert, sodass der Prüfcode entsprechende Inputs von IR oder AP prüft.
Erweiterungen:Einkaufsrechnung (IR) mit derselben Prüfung wie Kreditorenbeleg beim Speichern versehen...
Fixt #336 Can't locate object method "doc_storage_enabled" via Package SL::Controller::MassInvoiceCreatePrin
Auftrags-Controller: OpenDocument-Druck
CustomerVendor-Picker: 'type' nicht als html-Attribut setzen
Die Parameter des Picker-Aufrufs werden an das Input-Tag weitergeben und sowurde das type-Attribut mit dem Typ (customer/vendor) des Pickersüberschrieben.
Dateimanagement: nicht implementierte Speichertypen nicht anbieten/entfernen
Aus Maske und Datenbank (defaults)
DATEV-CSV-Export Belegfeld 2: trim statt regex verwenden
DATEV-CSV-Export Belegfeld 2 6- oder 5-stellig formatieren
Ansonsten gibt es bei führenden 0en immer eine Warnung beimDATEV-Import.
Auftrags-Controller: gelieferte Menge in Auftragsposition anzeigen.
ShippedQty: Typo in POD
Workflow VK-Rechnung->Auftrag auf neuen Controller bei experimentellen Features
Auftrags-Controller: weitere Links hierhin bei experimentellen Features
Auftrags-Controller: nur neue Maske/Links hierhin, wenn experimentelle Features an
- in Menüs Verkauf/Einkauf: Links zu Angebot u. Auftrag)- in Berichten Angebot/Auftrag und Lieferscheine: Links zu Angeboten und Auträgen- im Presenter (und damit in der Liste der verknüpfte Belege)...
SL::Menu: Negierung (!) beim access_string erlauben
und Tests hierzu
SL::Auth: evaluate_rights_ary: Negierung (!) ermöglichen
Auftrags-Controller: S:D:PartsGroup mit use einbinden, nicht mit require
Auftrags-Controller: kein run_before für create_pdf.
Es gibt schon länger keine action_create_pdf mehr.Auch den Namen des session-keys umbenannt.
Auftrags-Controller: kein Unterstrich vor privaten Funktionen
In einem Controller wird den von aussen zugänglichen Funktionen "action_" vorangestellt, deshalb ist zur Unterscheidung das Voranstellen einesUnterstrichs unnötig und verschlechtert die Lesbarkeit.
Auftrags-Controller: Kosmetik, alignement
Auftrags-Controller: Auftrag aus DB mit new(id => ...)->load laden …
und nicht mit find_by, damit ein Fehler bei nicht vorhandener idgeworfen wird.
Auftrags-Controller: kein all_projects mehr nötig, da Projekt-Picker
FlattenToForm - Verkäufer-Daten und gelöschte Benutzer berücksichtigen.
Analog zur Behandlung der Benutzer-Daten, die nur in auth vorhanden sind,auch die Verkäufer-Daten berücksichtigen.
Zudem Daten gelöschter Benutzer/Verkäufer, die der Beleg referenziert, zur...
installation_check: shell_quote mit vorangestelltem Modulnamen aufrufen, …
… sonst wird die subroutine nicht gefunden, wenn mit require eingebunden wird.
Kam im commit 1cff7d8034b00f4fd365a716596b54b798f035d7"InstallationCheck: String::Shellcode nicht zur compilezeit laden"...
Auftrags-Controller: Null-Werte in Eingabezeile von leer unterscheiden.
Die Idee war, bei einem leeren Wert in der Eingabezeile ein default zunehmen (Menge => 1, Preis => "bester" Preis, Rabatt => "bester" Rabatt).
Bisher wurde aber nicht zwischen leer und 0 bzw. 0,00 unterschieden, so dass...
Auftrags-Controller: Bei Angeboten das richtige Nummern-Feld nehmen
Fehler waren hier: keine Angebotsnummer in Name des Anhangs, kein Speichernim Webdav oder Datei-Storage.
Auftrags-Controller: Email: Anhang-Policy anders prüfen
Wenn das Dateimanagement ausgeschaltet ist, gibt es keine attachement_policy imDialog, also nicht auf 'normal' testen.
Sonst wurden keine Anhänge bei ausgeschaltetem Dateinmanagement verschickt.
Auftrags-Controller: print-options aus E-Mail-Dialog für Form::send_email
Sonst wurde z.B. der letzte Ausdruck nicht nicht als Anhang verschickt,wenn dies ausgewählt wurde, da z.B. formname nicht bekannt war.
Added greeting to "my @vc_fields" in flatten_to_form to be able to use the greeting variable in periodic invoices_
Liefertermin Erinnerung für Auftrags-Controller
Falls in Mandanten-Konfig aktiviert, wird ein leerer Eintrag inLiefertermin in Aufträgen beim Speichern oderbeim Workflow 'Speichern und Lieferschein' angemahnt.
DATEV-CSV Export Belegfeld2 wieder mit Fälligkeitsdatum YYMMDD belegen
Buchungsgruppen-Auswahl in Waren alphabetisch sortieren
behebt #356 Bei Zuweisung von zwei Kreditorengutschrift per Kontoauszug verbuchen fehlerhaft
Programmkorrektur für Testfall #b75c6cbb82023b0d6
BankTransactions.pm proposals an Testfall übergeben
BankTransaction.pm POD verbessert, Feedback von Sven verarbeitet
Kontoauszug verbuchen: Nur unabgeglichene Buchungen anzeigen
implementiert teilweise Issue #163
MT940 import: transaction_code statt transactionCode
aqbanking-cli benutzt im Standardprofil transactionCode, und das wurdeauch hier beim umwandeln im Header generiert. Das interne Feld wurdeaber mittlerweile umbenannt zu transaction_code, also wurdetransaction_code nicht mitimportiert. Das hatte dann zur Folge, dass...
Dialogbuchen, Betrag aus Kontoauszug verbuchen schreibschützen (Maske)
Als Konsequenz aus dem vorherigen Commit, sollte der Benutzererstmal nicht fröhlich Freitext-Werte in das Feld füllen.
Bullshit von meinem commit 81ce5300bddff980 rausgeworfen
Nein, Jan. Eben nicht so implementieren, sondern klarerund hoffentlich wartungsärmer.
BankTransaction weniger Code ist mehr Wert
Aufgrund des klarer formulierten PODs kann eine Routine undeine weitere zu "schwache" Bedingung entfernt werden.Fast alle kivi-Testfälle inkl. adaptierter odyn-Testfälle laufen sauber durch.
save_single_bank_transaction dem caller weniger erlauben
Als Konsequenz zum beschriebenem Verhalten im POD
POD Ergänzungen
BankTransaction::save_single_bank_transaction kann nur1 noch niemals vorher verbuchte Bankbewegung mit n Belegen verbuchen.Sollte etwas klarer im POD und später in der Methode deutlich gemacht werden.