Auftragsschnellerfassung: Währung und Wechselkurs definierbar
impl. #9491
(cherry picked from commit 6cdc5a4a33df4530ce4e141151e83138320e27a2)(cherry pick von odyn)
Auftrags-Controller: Sprache f. Überstzung im E-Mail-Dialog verwenden
CSV-Import Debitorenbuchungen: Lieferdatum bei Steuerermittlung berücksichtigen
CSV-Import Debitorenbuchungen: Feld für Kontonummer heißt accno, nicht chart
Auftrags-Controller: Steuerwerte pro Steuer, nicht pro Steuerkonto ausweisen
CsvImport für Lieferscheine
CsvImport: Report-Begrenzung: "Alles" anzeigen als Voreinstellung.
CsvImport: Filter/Begrenzung für Status-Bericht wieder ermöglichen.
CsvImport: Anzahl der Fehler beim Ergebnis anzeigen
Typos und spellcheck für occurred
Abteilungen bei Ansprechpersonen: Freitext-Feld und/oder Auswahlliste
Die Abteilung wird entweder nur mit einer Auswahlliste angezeigt oder mitFreitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - imFreitext-Feld eingegebener Text wird auch in contact_departments gespeichert....
Abteilungen bei Ansprechpersonen: SimpleSettings-Controller zum Editieren
Titel von Ansprechpersonen: Freitext-Feld und/oder Auswahlliste
Der Titel wird entweder nur mit einer Auswahlliste angezeigt oder mitFreitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - imFreitext-Feld eingegebener Text wird auch in contact_titles gespeichert....
Titel von Ansprechpersonen: SimpleSettings-Controller zum Editieren
Anreden: Kunden-/Lieferantenstamm: Freitext-Feld und/oder Auswahlliste
Die Anrede wird entweder nur mit einer Auswahlliste angezeigt oder mitFreitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - imFreitext-Feld eingegebener Text wird auch in greetings gespeichert....
Anreden: SimpleSettings-Controller zum Editieren
Project löschen - Rücksprung zu Übersicht repariert
Die action heißt list, nicht search
Auftrags-Controller: Einfüge-Position eines neuen Artiklens angeben können
Testfall für #266 - Rückgabewert für Routine setzen
Fixt #266 Kontenabgleich mit Bank transaktionssicher
ZUGFeRD-Import: UStID-Nr auch finden, wenn sie nicht normalisiert sind
Sowohl die UStID-Nummern in der ZUGFeRD.xml als auch die Nummern derLieferanten in der Datenbank werden nun zum Vergleichennormalisiert. Damit wird auch ein Lieferant gefunden, dessen UStID-Nr...
Mandantenkonfiguration: UStID-Nummern beim Speichern validieren
ZUGFeRD: ZUGFeRD-Controller der minimal ZUGFeRD PDF parst
Simples Upload Formular für ein PDF. Falls das PDF gültigeZUGFeRD Daten hat und ein Lieferant mit UST-ID in kivi gefunden wird,werden die Formulardaten in der ersten gefunden Kreditorenbelegvorlage...
ZUGFeRD: Zahlungsinfos ergänzt: Kontonummer, Typ=Einzug/Überweisung
PDF-Erzeugung: alles in temporärem Unterverzeichnis von users erledigen
Das vermeidet Kollisionen, wenn Dateien mit festem Namen wie`pdfa.xmp` für PDF/A erzeugt werden müssen.
Typo in comments
Massendruck: Option "beidseitig" auch beim Drucken aus Rechnungsberichten
Inventur: beim Zählen/Korrigieren auch Artikel ohne MHD berücksichtigen, …
…, wenn MHD in der Mandantenkonfiguration eingeschaltet ist.
S:C:Inventory: Kosmetik/Kommentar: emacs happy
Login: Callback setzen und berücksichtigen, wenn abgemeldet
Wenn ein Ziel innerhalb des Programms aufgerufen wird (z.B. aus einemLink, den man zugschickt bekommt) und man nicht eingeloggt ist, sowird man zu dem Ziel weitergeleitet, nachdem man sich eingeloggt hat.
LoginScreen: Request beenden, wenn Benutzer nicht authentifiziert wird
False Positive bei Überprüfung von Lieferant und Lieferaten-Rechnungsnummer verhindern
Falls eine Buchung noch am selben Tag verändert wird,kommt es fälschlicherweise zu der Aussage, dass schon eineRechnung mit dieser Rechnungsnummer zum Lieferanten erfasst worden sei....
Massenerstellen von Rechnungen aus LS: Filtern nach Kundentyp
Reconciliation: Veto, kein invoice_amount nachträglich setzen.
auch nicht für Vorschläge
Auth: fehlerhafte JSON-Requests mit JSON und richtigem HTTP-Response-Code beantworten
Auftrags-Controller: Prüfung beim Holen der Kunden-/Lieferanten-Art.-Nr, …
… ob Option eingeschaltet ist und ob Kunde/Lieferant schon gewähltwurde. Sonst gibt es einen Fehler beim Workflow von VK in EK und umgekehrt.
Part: typo
(cherry picked from commit 8ce71088e51f6bce25c8406ff65f72fad3c15d1a)
CSV-Import Debitorenbuchungen: maximale Betragsabweichung (Einstellungen) parsen
S:C:Letter: Vergessene Presenter-Umstellung für ein select_tag
Auftrags-Controller: Positions-Update: auch Artikelnummern updaten
Auftrags-Controller: Spracheinstellungen aus Druck-/E-Mail-Dialog speichern.
Rechte zum Bearbeiten von Preisen in Belgen getrennt nach VK/EK anwenden
Recht zum Einsehen von Einkaufsdokumenten aller Mitarbeiter anwenden
Trennung VK/EK in Berichten
Auftrags-Controller: PDF-Download per ajax-send_file
Controller::send_file: rendern bei ajax abschalten können
Damit kann man weitere client_js-Kommandos absetzen.
Controller::send_file schickt jetzt über client_js wenn ajax
(cherry picked from commit 0f16bc87b4804cf05cefb5ac1514c7f565cfbfbd)
Controller::redirect_to: url_for nicht doppelt aufrufen, wenn ajax
Macht zwar nichts, muss aber auch nicht.
Jahresabschluß - GLTransaction->post und Tests
Der YearEnd Controller nutzt nun GLTransaction->post, damit muß man dieacc_trans-Einträge nicht mehr von Hand zusammenbauen, und die Buchungenpassieren automatisch als Transaktion, die Buchungen werden validiert...
S:C:YearEndTransactions: Warnung vermeiden: Variablen waren schon deklariert
S:C:YearEndTransactions: Kosmetik: Tab entfernt
Auftrags-Controller: self an _row-Template übergeben …
… und nicht einzelne Variablen aus self, die dort abgefragt werden.
Auftrags-Controller: Benutzereinstellung: Positions-Update aus Artikel-Stamm
Auftrags-Controller: Positions-Update aus Artikel-Stamm
Jahresabschluß - YearEndTransactions neu implementiert
Der alte Jahresabschluß hatte eine Reihe von Schwächen, z.B. wurde nichtzwischen Bestands- und Erfolgskonten unterschieden, und es wurde auchkein Gewinn- oder Verlustvortrag gemacht. Der Anwender mußte selber...
balance_startdate_method_options nach AccountingPeriod Helper
verlagert, wird auch für YearEndTransactions benötigt.
Preisgruppenpreise als Preisliste bei Kunden anzeigen
Wenn dem Kunden eine Preisgruppe zugeordnet ist, werden die Preise inden Kundenstammdaten als Preisliste (eigener Tab) angezeigt.
BankTransaction: keine Leerzeichen am Ende vom Verwendungszweck einfügen
Wenn man mehrere Felder einfach mit `join(' ', @felder)` zusammenfügt,so entstehen nun mal ein Haufen Leerzeichen, auch wenn alle Felderselber leer sind. Das führt konkret beim Import von Banktransaktionen...
BankTransaction: Vorschlagslistencode aus action_list eigene Funktion verlagert
BankTransaction: Sortierungscode vereinfacht
Neuer Workflow Lieferantenauftrag->Kreditorenbuchung
Für jedes Aufwandskonto der Positionen im Lieferantenauftrag wird eineZeile in der Kreditorenbuchung erstellt. Gebucht wird standardmäßigauf des entsprechende Aufwandskonto. In der Mandantenkonfiguration...
Auftrags-Controller: mime-type füer odt
Part Controller - neuer Tab mit Lagerinformationen
Order Controller POD - Typos
Inventory stock_in - select_default_bin Modus
wird in der Form / URL ein select_default_bin=1 übergeben, wird derStandardlagerplatz des Artikels vorausgewählt (sofern vorhanden).
Ansonsten passiert das Aktualisieren von Lager/Lagerplatz nur, wenn sichder Artikel nach Laden der Seite ändert.
Inventory Controller - Datenbankoptimierungen für mini_journal
Aus Datenbanksicht war das Inventory mini-journal eine Katastrophe.
Die trans_id Abfrage führte zu einem ersten Seq Scan auf der Tabelle inventory. my $query = 'SELECT trans_id FROM inventory GROUP BY trans_id ORDER BY max(itime) DESC LIMIT 10';...
Auftrags-Controller: Kunden- bzw. Lieferanten-Art-Nr. in Pos-Zeile anzeigen.
… sofern in den Benutzereinstellungen auch die Suche danach ausgewählt ist.
Auftrags-Controller: PartPicker filtert nach Kunden- und Lieferanten-Art.-Nr., …
… sofern das in den Benutzereinstellungen ausgewählt ist.
PartPicker nach Kunden- und Lieferanten-Artikel-Nr. suchen und filtern können
PartPicker: Mehrfachauswahl: Ursprüngliche Filter für Dialog merken.
Damit klappt das auch hier mit der Suche nach gültigen/ungültigen/allenArtikeln.
Controller - alten unbenutzten Code entfernt
action Name in POD aktualisiert
EB/SB Buchungen minimale Kindersicherung für Datumswerte
Die Funktion lässt den Nutzer zuviele Freiheiten ;-(Ausreichend wäre es nur ein Datum (vgl. sql-ledger yearend) eingebenzu lassen und das Folgedatum ist dann automatisch der nächste Tag.
Kontoauszug verbuchen rückgängig: Mitarbeiter in history protokollieren
Kontoauszug rückgängig machen: Nur bei aktuellem Beleg arap.paid neu setzen
Hintergrundjobs: einmalige Jobausführung: Daten übergeben können
Entweder, man übergibt `data` als Parameter inURI-Hash-Form (z.B. '&data.var=value'), als normaler YAML-encodierterString, so wie er auch in der Datenbanksteht (z.B. '&data=---%0Avar%3Dvalue'), oder man übergibt...
Hintergrundjobs: Controller-Action zur einmaligen Ausführung eines Jobs
Gedacht für Aufruf von extern, gibt JSON zurück. Beispiel:
curl --silent --user "<username>:<password>" \ 'https://<hostname>/kivitendo/controller.pl?action=BackgroundJob/execute_class&class=CleanAuthSessions'
Part-Controller: Kosmetik
Part-Controller: Gültigkeit von CVars richtig speichern
Das behebt den Bug, dass sich CVars in den Warenstammdaten nicht mehrungültig/gültig gesetzt werden konnten.
Revert "CVars: in Artikelstammdaten sind alle CVars gültig"
This reverts commit ab45df2fa087f4b754ef02f238557ab0e28a676b.
CVars in den Warenstammdaten sind nicht immer gültig. Das Problem hier war,dass das Speichern des Gültig-Flags durch einen anderen Bug nicht funktionierte,...
Bugfix: Brieffunktion prüft im Einkauf auf Verkaufsbriefrechte
Ternärer Operator für Fallunterscheidung(is_sales or is_not_very_much_sales)
Auftrags-Controller: item-ids nach Speichern richtig setzen
Vergessen, den idx in jedem Fall weiterzuzählen. Dadurch konnte es passieren,das Positionen aus dem Auftrag gelöscht und evtl. Langtexte und Werte der2. Zeile falsch zugeordnet wurden.
Nachtrag zu:...
Auftrags-Controller: Einstellungen/Höhe des Scrollbereichs berücksichtigen …
… für den Positionsbereich
Kontoauszug verbuchen, bei DB Verwendungszweck übernehmen
Dialogbuchungen aus Kontoauszugs-Import erstellen,der Verwendungszweck wird in die Beschreibung übernommen
Admin-Controller: Anlegen der Vollzugriffs-Gruppe gefixt
Nach dem Anlegen einer neuen Auth-DB und neuer Session-Tabellen sollteeigenlich auch eine Gruppe namens »Vollzugriff« angelegt werden, dieZugriff auf alle Funktionen bekommt — wurde sie aber nicht....
Admin-Controller: falscher Funktionsname für Auth-Variablen gefixt
Die Umstellung auf Auth-Handler mit Einführung der Möglichkeit, sichauch über HTTP-Basic-Authentifizierung anzumelden, hat als Änderungmitgebracht, dass dieAuthentfizieriungsvariablen (z.B. »{AUTH}admin_password«) nicht mehr...
Module: weitere Anpassungen für Exception::Lite → Exception::Class
OrderController: nach Speichern hiddens der ids wieder setzen, …
… falls die Makse nicht neu geladen wird.
OrderController: Kosmetik
Module: Exception::Lite durch Exception::Class ersetzt
Module: gebundletes YAML durch dünnen Wrapper über YAML::XS & YAML ersetzt
Merge branch 'f-project-search-custom-variables'
OrderController Sortierung berichtigt. Sort::Naturally hat auch nichtwie erwartet sortiert
Pflichtenhefte: Exportoption bzgl. benutzerdefinierter Variablen in Suchmaske gefixt
Projekte: benutzerdefinierte Variablen in Suchmaske
Projekte: alte Suchmaske entfernt
OrderController: reorder mit Sort::Naturally damit nach Preis ordentlichsortiert wird
BankTransaction: save_bt keinen bezahlten rechnungen akzeptieren
Telefonnummernsuche: Datenank-ID & Typ zurückgeben
Merge branch 'f-phone-number-lookup'
Bankverbuchungen: freies Skonto auch abziehen. Code-Vereinfachung (not_assigned)
Vergessen, den freien Skonto-Betrag von invoice_amountabzuziehen. Not-Aus-Schalter in feeb3fc8352. Jetzt auchim Controller saubere Fehlermeldung ausgeben.