Drafts: load kann jetzt zusätzliche Argumente aus form übernehmen
Kontoauszug verbuchen: Fehlermeldung und falscher Betrag
Werden mehrere Rechnungen mit einer Banküberweisung bezahlt,bekommt letzte Rechnung immer den Rest des Betrages,auch wenn sie überbucht wird.
fix Redmine #192
Eine Rückbuchung von ganz bezahlten Rechnungen kann über diesen Weg nicht gemacht werden
Kundenstammdaten: Lieferadresse speichern, wenn beliebiges Feld gesetzt
Vorher wurde nur gespeichert, wenn der Name gesetzt war. Das istallerdings inkonsistent mit dem Verhalten von vor der Umstellung derMaske auf das Controller-Modell. Weiterhin gibt es bei der...
Kontoauszug verbuchen - SEPA-Zahlungen berücksichtigen und schließen 2
auch bei Verbuchen per "Vorschlag" die SEPA-Zahlungen schließen.
Typos in Doku
Neues Recht "Verknüpfte Belege"
Hintergrund ist, daß es derzeit z.B. möglich ist, daß Benutzer die nurRechte haben um Angebote zu sehen, über die verknüpften Belege eineÜbersicht über alle anderen Belege aus dem Workflow, bis hin zurRechnung zu sehen. Zumindest eine Zusammenfassung (Datum, Beträge), ohne...
CsvImport: Aufträge: Einheiten behandeln
PartPicker: in Testseite auch einen vorausgefüllten Picker anzeigen
"Kontoauszug verbuchen - SEPA-Zahlungen berücksichtigen und schließen
Erstellt man SEPA-Überweisungen für das Bankprogramm, verbucht dieZahlungsausgänge aber per "Kontoauszug verbuchen", wird derursprüngliche SEPA-Prozess unterbrochen. Dort war vorgesehen, daß man...
BankTransaction: Filter aus letztem Commit auch nicht vorbelegen
BankTransactions: Lieferantenfilter nicht benutzen, wenn...
kein fremder Konteninhaber existiert. Ansonsten wird da einfach nacheinem zufälligen Vendor gefiltert der kein Konto hat.
Finanzübersicht: Neue Spalte »Kosten« analog zu BWA-Kosten
Kontoauszug verbuchen -> Buchung erstellen -> Lieferanten-Filter verbessern
Falls in dem Datenmodell Drafts.pm, Dialogbuchungen vorhanden sind,stürzt die Filterfunktion einfach ohne Rückmeldung ab und macht nichts weiter.Sinnvollerweise nur Ergebnisse filtern, die auch eine vendor_id im Draft haben.
CsvImport::BankTransaction: currency als info spalte anzeigen
CsvImport::Base: benutzte header korrekt setzen
CsvImport: leere Mappings schon beim Einlesen überspringen
CsvImport Mapping: header mit helper parsen
sonst gibt es wieder die gleichen Probleme mit UTF-BOM
preferences to client-features managed
featured form-objects visible/unvisible
CsvImport: Spaltenzuordnung für non multiplexed
Refactoring: BankTransaction
minimalen aufgeräumt. Alte Copy&Paste doppelte Checksan der Stelle entfernt, die ich gelesen und verstanden habe.
BankTransactions GUI Hotfix Verbesserung
Wenn man über die Liste aller Rechnung jetzt auch denzu verbuchenden Betrag als Hilfestellung angezeigt bekommt, muss dieserentsprechend konsequent auch bei dem einfachen AJAX-Anklickenangezeigt werden.
Bankauszug verbuchen invoice_amount vor pay-invoice
Die Reihenfolge der Verarbeitung des Bankausszugs ist jetztwichtig. Vorher wurde einfach der Betrag der gesamten Rechnungabgezogen, jetzt ist es nur noch der offene Betrag, der nachder Zahlungsverbuchung dann auf 0 ist. Deshalb vorher ...
Feature Kontoauszug verbuchen - nur maximal offene Beträge
amount_open -> open_amount - richtige Helper-Funktion aufrufen
Keine Rechnungen mit Bankauszug verbuchen überbezahlen
Order: Doku: weniger Bugs. Typo.
Order: Mehr Bugs
Order: mehr fehlende Sachen in Doku ergänzt
Order: POD aufgeräumt, reformatiert, Bugs notiert.
Order: Überflüssige Includes entfernt
Auftrags-Controller: Doku und Kommentare
CsvImport: Aufträge: Fallback Lieferbedingungen auf die vom Kunden/Lieferanten.
Setzt die Lieferbedingungen auf die des Kunden oder Lieferanten des Auftrags,falls in der CSV-Datei keine Lieferbedingungen angegeben sind.
FlattenToForm: Zahlungsbedingungen des Kunden/Lieferanten nicht kopieren
Es haben die ZB des Beleges zu gelten, nicht die desKunden/Lieferanten. Die Variable »payment_terms« wird zwar später wiederanhand von »payment_id« überschrieben (in »OE::order_details« und dann...
Zahlungsbedingungen: Unterscheidung zwischen Angeboten/Aufträgen und Rechnungen
Dies führt ein neues Attribut »payment_terms.description_long_invoice«und dazugehörige Übersetzungen in »generic_translation« ein.
Die Druckvariable »payment_terms« wird nun in Abhängigkeit vom...
Verkaufspreisinformationen: Preisentwicklung der Stammdaten anzeigen
Verkaufspreisinformationen: Typfilter in der Überschrift anzeigen
Dadurch wird auf einen Blick etwas klarer, was die Tabelle anzeigt.
Verkaufspreisinformationen: »Seite:« nicht anzeigen, wenn es nur eine gibt
In dem Fall ist $self->{pages}{cur} 0 oder undef und nicht 1.
ProjectPicker: Die (Un)-Gültigkeits-Spalte/Methode heißt valid, nicht obsolete.
Der Fehler führte dazu, dass bei Eindeutigen Eingaben im Picker dennoch keinErgebnis ausgewählt wurde, sondern der ajax-Call einen Fehler meldete, der dannunterging.
ProjectPicker: SL::DB::Manager::Project hat (noch) keinen type_filter.
Es gibt zwar einen project_type, aber der ist als Filter noch nichtimplementiert.
Dieser Fehler führte dazu, dass bei eindeutigen Eingaben im Picker dennochkein Projekt ausgewählt wurde. Der ajax-Call lieferte einen Fehler zurück,...
Drafts: gl auch eingebunden
Projektliste: Kundenname bei PDF-/CSV-Export richtig ausgeben
Der Controller-Helfer für den ReportGenerator muss aus Objekten Wertemachen können. Wie das geschieht, wird über die Spaltendefinitionfestgelegt. Für Nicht-HTML-Anzeige wird entweder eine zur Verfügung...
Übersetzung für Buchungsgruppe -> Booking group
Nicht-übersetzte Deutsche Begriffe entfernt und übersetzt
Shopartikel, Steuersatz, Abteilung, Preisgruppe (gab es auch alsPreisklasse).
Drafts: Ausgelagert in Controller
Kontoauszug verbuchen, Startdatum der Verbuchung greater/equal
Wie bei fromdate und auch sonst überall im Programm, entsprechenddas Startdatum der Kontoverbuchung noch als gültigen Wert mitnehmen.
Dispatcher: end_of_request() sub aus main namespace verbannt
Brieffunktion: Umstellung Druck auf Template Toolkit
Damit wird auch alter Backendcode wie IS->get_customer() nicht mehrbenötigt.
Brieffunktion: Löschen von Entwürfen gefixt
Brieffunktion: unbenutzte Tabellenspalten entfernt, vc_id → customer_id umbenannt
Brieffunktion: WebDAV-Verzeichnisinhalt anzeigen
Brieffunktion: Versand per E-Mail implementiert
Brieffunktion: Nutzung von SL::Webdav zur Speicherung im Webdav
Common::copy_file_to_webdav_folder ist alter Code, der bei neuem Codenicht mehr benutzt werden sollte.
Brieffunktion: Drucken auf Drucker gefixt
1. Drucker wurden nicht geladen. Daher gab's die Option zum Drucken direkt auf einen Drucker nicht.
2. Temporäre Druckedateien wurden anschließend nicht gelöscht.
3. Der anschließende Redirect nutzte falsche Variablen und hat daher de...
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...
Brieffunktion: Löschen von Briefen gefixt
Brieffunktion: beim Drucken im WebDAV speichern
(I)LIKE-Argumente immer mit Funktion SL::DBUtils::like erstellen
5.10 compat: mehr yada-yada ops
(nach ... acken ist nicht trivial)
perl5.10 compat: ellipsis (yada-ayada) ist da syntax error
SL::Controller->send_file: trueish zurückgeben
send_file meldet Fehler (z.B. »kann Datei nicht öffnen«) durchcroak(). Im Erfolgsfall sollte die Funktion aber regulär einen wahrenWert zurückgeben, um ordentlich in eval{} benutzt werden zu können.
CVars: Lieferadressen-CVars in Stammdaten bearbeiten
CVars: Konfigurationen für Lieferadressen anlegen können
CustomerVendor: CVar-Aufbereitungs- und -Speicher-Code in eigene Subs ausgelagert
Reapply "country_mode entfernt."
Mit mit neuem Autor neu.
Revert "country_mode entfernt."
Originalcommit: b05b5075ac0f3cbb0823c2f513cdbcacfb17bede.
ParseFilter: neuer Filter "trim"
Ausserdem autotrim bei substr, head und tail Filtern
TopQuickSearch: Bei CustomerVendor redirects immer db mitgeben
TopQuickSearch für Kunden und Lieferanten
TopQuickSearch: Auftrag, Angebot, Lieferauftrag, Preisanfrage
Typos und spellcheck.t
TopQuickSearch: Doku
TopQuickSearch: Konfiguration in client_config
TopQuickSearch: qw() -> liste, zum einfachen auskommentieren
TopQuickSearch: locales aufgeräumt, debug entfernt
TopQuickSearch: Alle Part Varianten for free
TopQuickSearch: GL controller kann weg
TopQuickSearch: erste version
warnings: diverse nicht initialisierte hash keys in CsvImport
CsvImport/ARTransactions: fehlerhafter check auf undefinierte tax_id
warnings: SL::Controller::CsvImport::num_imported auf 0 initalisieren
Beschriftung im Lieferwertbericht korrigiert
Auftrags-Controller: POD - hauptsächlich Todos
Auftrags-Controller: unbenutzte action "update" entfernt.
Auftrags-Controller: javascript-Code in eigene Datei auslagern
Auftrags-Controller: event bindings nicht mehrfach hinzufügen.
Dazu event handler für die Positions-Zeilen mit run_once_for registrieren undin eine eigene Funktion init_row_handlers() ausgelagert. Damit kanninit_row_handlers() gefahrlos immer nach dem Hinzufügen neuer Positionen...
Auftrags-Controller: Preisfaktor berücksichtigen
Auftrags-Controller: Mehrfach-Artikelauswahl: Verbesserungen
- ungültige Artikel nicht anzeigen.- Artikel nicht mehrfach hinzufügen, wenn ausversehen mehrfach Enter gedrückt oder der Weiter-Knopf mehrfach angeklickt wird.
Auftrags-Controller: Druck-Möglichkeit mit Options
Todos/Anmerkungen- im Moment werden nur PDF/Bildschirm und PDF/Drucker unterstützt- Sprache kann die Vorlage steuern, aber nicht das Hinzufügen von übersetzten Artikeln- es kann sicher noch mehr ausgelagert werden, entweder in den...
Auftrags-Controller: longdescription
Auftrags-Controller: Sortieren der Positionen
Auftrags-Controller: Positions-Spalte anzeigen und renummerieren bei Änderungen.
Auftrags-Controller: vorhandene orderitems vor Neu-Schreiben nicht löschen …
Hintergrund: Wird einem Rose-Object eine Relationship als Array übergeben (z.B.$order->orderitems(@items), so löscht Rose dei DB-Einträge und schreibt sie neu.In dem Fall werden allerdings auch DB-Trigger ausgelöst, was hier zum...
Auftrags-Controller: Einheiten per Select ändern können und sellprice anpassen.
Auftrags-Controller: Mehrfach-Artikelauswahl mit Mengeneingabe.
Auftrags-Controller: Webdav
Auftrags-Controller: Abteilungen
Auftrags-Controller: Liefertermin
Auftrags-Controller: PriceSources
Auftrags-Controller: css-Klasse: reformat_number zum Neuformatieren von Zahlen
Auftrags-Controller: Funktion "Speichern und Lieferschein".