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...
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
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
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
Auftrags-Controller: gelieferte Menge in Auftragsposition anzeigen.
Workflow VK-Rechnung->Auftrag auf neuen Controller bei experimentellen Features
Auftrags-Controller: weitere Links hierhin bei experimentellen Features
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
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.
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.
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
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.
Kontoauszug verbuchen -> Dialogbuchungsentwürfe verbessert
Nette Idee aus odyn (Start des Gedankens #f09c2b407faa7 Ende des Gedankens #765a3d421e7).Zwei Sollbruchstellen in odyn, deshalb in kivi neu formuliert:
Sollbruchstellen:a) Ein Aufruf von BankTransaction::action_list kann Zustände im Datenmodell verändern...
Bankimport: Fehler beim Verbuchen von Teilzahlungen: Rollback bei Fehler
Falls ein Fehler auftritt wird kein Rollback von der bereits gemachten Zahlung und dem neuen Recordlink gemacht,lediglich die Banktransaktion wird nicht verändert
Erweiterung durch ein Test test_bt_error...
RecordLinks: Support für Kreditore/Debitorenbuchungen
Conflicts: SL/Controller/RecordLinks.pm
ergänzung cherry-pick: form->format_sellprice existiert nicht
BankTransaction/list: vorhandene sepa_export_items an get_agreement übergeben
Conflicts: SL/Controller/BankTransaction.pm
Ergänzung zum cherry-pick von gerade format_sellprice ist nicht in Form.pm
Ferner doppelt gepickte Bibliothek entfernt.
BankTransaction/list: sepa_export_items mit partition_by splitten
Spart eine Doppelschleife
CSV-Import Aufträge: Bei History-Eintrag zwischen Ver- und Einkauf unterscheiden
Auftrags-Controller: Lieferantendetails ("D"): keine Preisgruppe bei Lieferanten
CsvImport Aufträge: interne Bemerkungen aus Kunden-/Lieferantenbemerkunen setzen
falls keine intnotes in der CSV-Datei angegeben sind.
Kontoauszug verbuchen: Fehlermeldungen visuell (flash) besser hervorheben
Beim Analysieren von #355 aufgefallen. Falls Probleme beimVerbuchen der Kontoauszüge auftreten, sollte auch die Flash-Anzeigenicht grün sein.
Auftrags-Controller: Workflow Auftrag VK <-> EK
Auftrags-Controller: fake id für Items nach Workflow setzen.
Für items, die hinzugefügt werden, also noch nicht in der DB gespeichert sind,muss eine fake id gesetzt werden, damit diese bei den actions, die einzelneitems betreffen, auch richtig gefunden/zugeordnet werden können....
Lieferplan um Filter nach Abteilungen ergänzt
Auftrags-Controller: Kunde/Lieferant vorbelegen, wenn deren id übergeben wird
Für die Workflow-Links aus den Kunden-/Lieferantenstammdaten heraus werdendie customer_id oder vendor_id berücksichtigt und die Kunden-/Lieferanten-abhängigen Attribute im Order-Objekt entprechend gesetzt.
Workflow aus Kundenstammdaten zum neuen Auftrags-Controller, …
… wenn experimentelle Features eingeschaltet sind
Auftrags-Controller: Formelberechnung
Sollte evtl. auf Dialog umgestellt werden.
Auftrags-Controller: Kunden-/Lieferantendetails ("D")
Hier sollte die alte Makse auch umgestellt werden, erstens auf Dialog undzweitens damit via Rose zugegriffen wird.
CVars: in Artikelstammdaten sind alle CVars gültig
Der Code zum Rendern der CVars zeigt nur »Element deaktiviert«, wenndie CVar als ungültig geflaggt ist. Das kann auch in den Stammdatenpassieren, nämlich dann, wenn man eine CVar in der Konfiguration als...
Order-Controller: Angebotsgültigkeitsintervall beachten
Wie beim alten Angeboten auch, soll die Gültigkeit des Angebotsaus der Mandatenkonfiguration gesetzt werden, falls hier ein Wert vorhanden ist.
Auch Verwendungszweck beim Import per CSV zusammenfügen
Beim MT940 Import wird purposeX und remote_name_X in einerZeichenkette zusammengefügt. Beim CSV-Import ist dies nichtmöglich, da an der Oberfläche das entsprechende Drop-Down-Elementdiese Zuordnung (Spalte -> Import-Objekt) nicht zulässt.
Auftrags-Controller: bei als neu speichern auch ein neues Objekt erzeugen
Behebt #351 (redmine).
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...
Auftrags-Controller: Anzeige mit Infos über den Kunden-/Lieferantentyp
Auftrags-Controller: Workflow Angebot->Auftrag nur, wenn gespeichert
Auftrags-Controller: Mini-Refactoring: js-save-Funktionen zusammengefasst
Auftrags-Controller: Save as new
Controller::Base::url_for: nur noch fragment erlauben
Mit mosu darüber gesprochen, und folgende Argumente kamen:
TopQuickSearch::Contact: fragment statt hash für for_url
TopQuickSearch::Contacts: direkt auf den Ansprechpartner tab springen
Controller::Base: url_for unterstützt jetzt URI fragments.
Auftrags-Controller: Workflow von Angebot nach Auftrag (Ein- und Verkauf).
Auftrags-Controller: Speichern nicht accesskey "enter"
Auftrags-Controller: auch für Angebote/Anfragen
CsvImport: Makemodels bei bestehenden Waren stabil sortieren
Auftrags-Controller: Konfiguration wiederkehrender Rechnungen.
Auftrags-Controller: E-Mail-Dialog aus common verwenden.
Auftrags-Controller: Beim Drucken Sprache richtig berücksichtigen.
Auftrags-Controller: Fehler bei Anzeige von EK und Marge in 2. Zeile behoben
Wenn das Order-Objekt noch nicht gespeichert ist, kann darauf nicht über$item->order zugegriffen werden. Darum muss an die 2. Zeile eine weitereVariable durchgereicht werden, um zu bestimmen, ob wir im Verkauf sind und...
Auftrags-Controller: Workflow -> Rechnung (Speichern und Rechnung erfassen)
Auftrags-Controller: Verkäufer bei Kundenwechsel ändern
Auftrags-Controller: Sortimente mit Mehrfachauswahl hinzufügen können.
Behebt #220 (redmine).
Controller::LoginScreen: AuthHandler::handle ohne Argumente aufrufen
Abgesehen davon, dass die Parameter nicht mehr benutzt werden, behebtdas einen ganz ekeligen Bug: "panic: attempt to copy freed scalar"
Das Problem ist, dass der AuthHandler selber das Einloggen übernimmt und...
fixt #337
Vergessene Presenter-Umstellung für Controller/Part.pm
SEPA-Sammelanweisung (is_batch_transaction): BUGFIX Loop richtig beenden
Wurde eine Sammelanweisung gefunden, ist die Suche für die betroffenen Banktransaktion beendet.Fälschlicherweise wurde nur die innere Schleife beendet, es muss aber die äußere Schleife beendet werden.
Part: Speichern nicht accesskey enter
Kunden-Spezifische Artikeleigenschaften
neue Tabelle "PartCustomerPrices" mit SL/DB Dateienin Artikelstammdaten eingebaut,
in Preisquellen analog zu den Lieferantenpreisen nun Kundenpreise eingebaut(Unklar ist was bei Kundenpreisen der beste Preis ist !)...
Inventur: Eingabemaske und Journal im Inventory-Controller