Spaltentyp Text anstelle von varchar() in diversen Tabellen Teil 3
Spaltentyp Text anstelle von varchar() in diversen Tabellen Teil 2
Tabelle »shipto«
Generische Unterstützung für CTI: Click-to-dial
ReportGenerator: class für Links angeben können
SL::MoreCommon: benutztes Encode auch usen
USTVA: Analog zu b0f569c auch Position 46 umdrehen.
Neuer Bericht »Liquiditätsvorschau«
Verkaufsbelege: optional nur Projekte des Kunden anbieten
Auch dieses Feature kann über die Mandantenkonfiguration eingeschaltetwerden.
Instance-Conf am Anfang jedes Requests laden
Angebote: neue Felder Auftragswahrscheinlichkeit, Voraus. Abrechnungsdatum
Einkaufs-/Verkaufsprozesse: optionale Einschränkungen für gewisse Aktionen
Über die Mandantenkonfiguration kann verboten werden, dass gewisseAktionen in den Einkaufs- und Verkaufsprozesse durchgeführtwerden. Diese sind:
- Direkte umwandlung von Verkaufsangeboten und -aufträgen in...
Offene Transaktionen vor DB-Upgrades comitten
Hintergrund ist, dass Locks potenziell vorhanden sein können. EinfachesBeispiel: $::instance_conf wird geladen (dadurch implizitesACCESS-SHARE-Lock auf »defaults«), Upgrade will Schema von »defaults«verändern, was dann hängt, weil dafür ACCESS-EXCLUSIVE benötigt wird –...
Einkauf/Verkauf: Eingabe der Vorgangsbezeichnung optional erzwingen
Wird über eine Option in der Mandantenkonfiguration eingeschaltet.
DB-Schema-Anpassungen für »Spaltentyp Text anstelle von varchar() in diversen Tabellen«
Projektliste: kein Filterkriterium für Status == alle
…und nicht »nie benutzt«
Kundenauswahl bei Summen-/Saldenliste
Angebote/Aufträge drucken: auch das Order-Objekt ausliefern
Im Druck auch den Typ von Artikeln mit ausliefern
SL::DB::Invoice: Verknüpfung auf die Buchungsobjekte
print_html_template auch mit scalarrefs als file aufrufbar gemacht
Ausserdem die Fehlermeldung bei nicht korrektem aufruf mit header angeben.
Form->error: confess anstelle von STDERR bei Fehlern von der Console aus benutzen
SL::DB::Part,Helper::PriceTaxCalculator: agressiveres Caching
Damit wird für ziemlich jeden Objekttyp nur noch ein einziges Queryabgesetzt.
SL::DB::Object: generische Methoden zum Cachen von RDBO-Instanzen
SL::DB::Part: Cachen von Objekten gefixt Teil 2
get_active_taxkey hat vorher ganz einfach nicht gecachet.
SL::DB::Part: Cachen von Objekten gefixt
Über Steuerzonen erhaltene Informationen müssen pro Part-ID gecachetwerden, weil diese natürlich Artikel-spezifisch sind.
Locale: Warnungen
CVars: spelling: dependant -> dependent (wir haben uns irgendwann mal auf AE geeinigt)
PeriodicInvoices: korrekter Fallback, wenn kein email Template gesetzt ist.
PeriodicInvoices: Rechnugnen nicht einen Tag zu früh erstellen, das gibt massig Probleme
SL::DB::CustomVariable::{value,value_as_text}: Verwendung von $::request->cache()
Partpicker: Benutzerdefinierte Variablen mitschicken
SL::DB::Unit::base_factor: Verwendung von $::request->cache()
SL::DB::{Chart,Part}: Verwendung von $::request->cache()
SL::Request: Funktion zum Cachen von Objekten für Dauer des Requests
PriceTaxCalculator: chart->taxkey lookup vorberechnen
LXDebug: Zeitstempel mit Millisekunden-Auflösung ausgeben
SL::Helper::CreatePDF: gewisse Variablen nicht mit Variablen überschreiben lassen
SL::Controller::Base->send_file: neuer Parameter unlink zum Löschen nach Senden
Dispatcher: Requests auf controller.pl ohne action auf Loginseite redirecten
Ist hilfreich, wenn man aus der Browserhistory einen Link wiehttp://…/kivitendo/controller.pl aufruft. Bisher wurde nur eine böseFehlerseite angezeigt.
RecordLinks: frühzeitig abbrechen, wenn keine links gefunden wurden.
Hintergrundjobhistorie: Status für Fehlschlag richtig benennen
CVars: beim Autovivifien gültigen Wert für selects forçieren
Kunden-/Lieferantenbericht: auch im Nicht-Union-Fall nach Typ sortieren können.
Kunden-/Lieferantenbericht: Zahlungsbegingungen anzeigen können.
CustomerVendor-Picker: keine ungültigen, wenn $::form->{obsolete} nicht gesetzt ist
CustomVariable: typo - from_kivi -> from_kivitendo
RDBO Invoice->new_from: Fälligkeitsdatum und Zahlungsbedingungen gefixt
1. Konvertierung von Order-Objekten: Hier wurde das Fälligkeitsdatum zwar richtig übernommen, nicht aber die Zahlungsbedingungen.
2. Konvertierung von DeliveryOrder-Objekten: Lieferscheine haben gar...
RDBO Customer, Vendor: Alias payment_terms auf payment
…für API-Analogie mit Order, DeliveryOrder, Invoice.
RDBO {Invoice,DeliveryOrder}->new_from Attribute nachträglich zuweisen
Macht man die Vermischung ->new(%args, %attributes), so ist dieReihenfolge, wann welche aus %args und welche aus %attributes genommenwerden, aufgrund von Perls beliebiger Hash-Reihenfolge nicht...
RecordLinks: Anzeige etwas verbessert
RDBO BackgroundJob(History): Refactoring von Status-Strings
Test-BackgroundJob: Möglichkeiten, das Ergebnis zu steuern
Rose-Attr-Helfer: _as_timestamp
…mit verschiedenen Präzisionsstufen und Tests!
Locale::parse_date_to_object: Unterstützung für volle Timestamps & explizite Formate
…und dafür Tests.
Locale::format_date_object: explizites Setzen der Formate; Millisekunden als neues Format
…und dazu Tests.
Verknüpfte Belege: Standardmässig rekursive Belege finden
SL::DB::Helper::LinkedRecords: rekursive Suche in linked_records
LinkedRecords: bidi Verhalten den docs angepasst und direction Parameter optional gemacht
warnings: uninitialized in eq
Mal wieder ein paar lexicals in post if.
LinkedRecords: Test und Doku Update
CsvImport: Feldlängen aus den Metadaten auslesen, nicht fest codieren.
Dispatcher: Pro-Request-Initialisierung in eigene Sub verschoben
Weiterhin optionale Initialisierung von Client und User in besagter Sub.Erleichert die Verwendung die Initialisierung vom Dispatcher in eigenenScripten (z.B. der console oder rose_auto_generate_models.pl, auch wenn...
Unbekannte config values beim Speichern d. Benutzereinstellungen nicht löschen
Modul List::UtilsBy in Abhängigkeiten und als Fallback aufgenommen
Lange Datenbankfelder bei bestimmten Lieferantenfeldern
Analog zu Commit 72ad92fd die Feldlänge bei bestimmten Datenbankfeldererhöht (vorher varchar, jetzt text)account_number bank_code ustid name contact
ClientJS: Controller-Instanz zum Rendern auch bei ->new setzen können
CustomVariables: Verwendung mit RDBO als Writer implementiert
CsvImport Waren: Preisupdate auch bei Erzeugnissen u. Dienstleistungen ermöglichen.
Zusätzlich beim Preisupdate prüfen, ob vorhandene Artikel von einem anderen Typals angegeben sind, falls in der CSV-Datei angegeben.
Problem war, dass Artikelnummern jetzt über Waren, Dienstleistungen und...
CsvImport Waren: Code-Vereinfachung
CsvImport Waren: test_run/import in check_existing nicht unterschiedlich behandeln.
Das funktionierte im Standard wg. der falschen Benennung ('test' vs. 'test_run')ohnehin nicht und bei richtiger Benennung gab es auch noch Probleme.
CsvImport Waren: Konsistenz: Fußnote statt 'siehe unten' in der Hilfe.
CsvImport: Der Parameter für den Testlauf heißt 'test', nicht 'test_run'.
CustomVariable-RDBO-Helfer: Dokumentation aktualisiert
CustomVariable-RDBO-Helfer: Konfigurationen sortiert auslesen
Bisher war es Zufall, dass die Konfigurationen in der richtigenReihenfolge von der Datenbank zurück kamen. Dadurch, wie das Umsortierenimplementiert ist, werden die Einträge in der richtigen Reihenfolge in...
RDBO: Manager-Klasse für Vendor
Focusposition nach Erneuern wählbar gemacht
POD Syntaxfehler
L: Parameterextraktion dreier Funktionen gefixt
Template übergibt Hash-Parameter als Hash-Ref, nicht direkt als Hash.
SL::Auth: Überflüssige Zeichen entfernt
Bankkonten einen Namen geben
Damit kann man seinen Bankkonten einfache Namen geben, wie z.B."Tagegeld", damit man bei der Auswahl nicht immer genau auf dieKontonummer achten muß.
Bei der Bankkontenauswahl in Dropdowns ist die Beschriftung jetzt imFormat:...
SL::DBUpgrade2: versehentlich eingesetzten Value entfernt
Siehe 8f7283f501b3ddc2809d073b5d0399d20ed5af06.
Merge branch 'pflichtenhefte'
Conflicts: js/locale/de.js
LaTeX-Escaping von HTML: Newlines am Ende entfernen
Pflichtenheft -> Angebot/Auftrag: Positionen in richtiger Reihenfolge anlegen
…und zwar in der Reihenfolge, in der die Abschnitte im Pflichtenheftangeordnet sind.
Finanzcontrollingbericht: Link zu Kunden auf neuen Controller gefixt
ParseFilter: splitting von :multi über Text::ParseWords
P.part_picker reicht jetzt das flag fat_set_item durch und schluckt nicht mehr class
Part api Funktion um eine Ware als json abzufragen
:multi filter für ParseFilter
cvar_as_hashref mixin, um cvars gut zu serialisieren
Kein Runden des Rabatts vor der Berechnung im Angebot/Auftrag.
Das Vorgehen etwas an da von SL/IS.pm post_invoice() angeglichen.Problem war, dass in Angebot/Auftrag bei Vergabe eines Rabatts dasFrontend richtig grechnet hat, aber das Backend nicht (durch Runden...
KiviLatex-Template-Plugin: leere Listen entfernen
Das sind Einträge, die im HTML so aussehen: <ul> </ul> LaTeX schmeißtbeim Äquivalent (\begin{itemize} \end{itemize}) Fehler. Kann z.B. viaCopy & Paste aus LibreOffice passieren.
Finanzübersicht: Zugriff auf 'data' gefixt (braucht Initializer)
Finanzcontrollingbericht: Abfrage gefixt (fehlende with_objects)
debug statement entfernt
Mahnungen: Beim Drucken Datums- und Zahlenformate von anderen Sprachen beachten
Wiederkehrende Rechnungen: erstes abzurechnendes Periodendatum richtig berechnen
Finanzübersicht: wied. Rechnungen im aktuellen Jahr auch bereits erzeugte mit einbeziehen
Kosmetik: alignment