Moritz Bunkus [Tue, 30 Jun 2020 11:52:59 +0000 (13:52 +0200)]
DBUpgrade-Mechanismus: umgekehrte Abhängigkeiten mit »required_by« angeben können
Existierender Mechanismus mit »depends« sagt: die Scripte in »depends«
müssen ausgeführt werden, bevor ich selber ausgeführt werde.
Mit »required_by« kann man das Umgekehrte angeben: ich selber muss
ausgeführt werden, bevor die Scripte in »required_by« ausgeführt
werden können.
Damit kann man z.B. kundenspezifische SQL-Upgrades schreiben, die
erzwungen vor offiziellen SQL-Upgrades ausgeführt werden, ohne die
offiziellen Upgrade-Dateien dafür verändern zu müssen.
Bernd Bleßmann [Wed, 24 Jun 2020 14:45:55 +0000 (16:45 +0200)]
PTC: Steuern auch nach Steuer-Id zurückgeben
Bisher kann der PTC die berechntete Steuer pro Steuerkonto zurückgeben.
Allerdings kann kivi so konfiguriert sein, dass verschiedene Steuern
auf ein Konto gebucht werden. Diese lassen sich dann durch die Rückgabe
des PTC nicht unterscheiden.
Jetzt werden die Steuern zusätzlich auch pro Steuereintrag (also per tax.id)
zurückgegeben.
Jan Büren [Sat, 13 Jun 2020 07:08:28 +0000 (09:08 +0200)]
Bugfix #430 Steuer speichen wirft SQL-Fehler
Das Refactoring 543d78225ec609 hat die Bind-Variablen außer Acht gelassen.
Bernd hat den Teil beim Speichern mit b30eacc6bbc6f gefixt.
Jetzt auch bei Neuerfassung. Ferner Rückmeldung an den Nutzer per Flash
Bernd Bleßmann [Thu, 4 Jun 2020 09:41:23 +0000 (11:41 +0200)]
Original-Rechnung bei Mahnung Drucken: sellprice aus fxsellprice setzen
Sonst stimmt z.B. der Rabatt nicht, da sellprice in der DB den rabattierten
Wert enthält/enthalten kann. sellprice wird aber in IS::invoice_details (
aufgerufen aus Form::prepare_for_printing) als unrabattierter Einzelpreis
verwendet.
Moritz Bunkus [Tue, 26 May 2020 11:01:49 +0000 (13:01 +0200)]
Finanzübersicht: Enddatum bei wied. Rechnungen ohne automatische Verlängerung gefixt
Ist eine wR gekündigt, so darf ihr Betrag nur bis zum Enddatum
berücksichtigt werden. Das gleiche gilt aber, wenn eine Rechnung zwar
noch nicht gekündigt ist, wohl aber ein Enddatum aber keine
automatische Verlängerung eingetragen ist. In dem Fall würde die wR
bei Erreichen des Enddatums nämlich sofort auf gekündigt gesetzt, und
es würden keine weiteren Rechnungen erzeugt.
Bei der vorausschauenden Finanzübersicht muss diese Situation daher
ebenfalls berücksichtigt werden.
G. Richardson [Wed, 13 May 2020 15:38:40 +0000 (17:38 +0200)]
Projektpflicht bei Verkaufsaufträgen - Fehler abfangen
... wenn ein Projekt mit der Projektnummer der zu vergebenden Auftragsnummer
schon existiert. In der Datenbank muß die Projektnummer eindeutig sein.
Auf das Vorhandensein der Projektnummer schon vor dem Speichern des
Auftrags prüfen und gegebenenfalls abbrechen, ansonsten bricht der
Prozeß später ohne eine aussagekräftige Fehlermeldung ab.
Bernd Bleßmann [Fri, 8 May 2020 15:20:52 +0000 (17:20 +0200)]
Abteilungen bei Ansprechpersonen: Freitext-Feld und/oder Auswahlliste
Die Abteilung wird entweder nur mit einer Auswahlliste angezeigt oder mit
Freitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - im
Freitext-Feld eingegebener Text wird auch in contact_departments gespeichert.
In der Mandantenkonfiguration ist das Freitext-Feld (altes Verhalten)
abschaltbar.
Todo: Fremdschlüsselbeziehung zwischen contacts und contact_departments
Bernd Bleßmann [Fri, 8 May 2020 14:50:27 +0000 (16:50 +0200)]
Titel von Ansprechpersonen: Freitext-Feld und/oder Auswahlliste
Der Titel wird entweder nur mit einer Auswahlliste angezeigt oder mit
Freitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - im
Freitext-Feld eingegebener Text wird auch in contact_titles gespeichert.
In der Mandantenkonfiguration ist das Freitext-Feld (altes Verhalten)
abschaltbar.
Todo: Fremdschlüsselbeziehung zwischen contacts und contact_titles
Die Anrede wird entweder nur mit einer Auswahlliste angezeigt oder mit
Freitext-Feld und Auswahlliste. Das ist annähernd das alte Verhalten - im
Freitext-Feld eingegebener Text wird auch in greetings gespeichert.
In der Mandantenkonfiguration ist das Freitext-Feld (altes Verhalten)
abschaltbar.
Todo: Fremdschlüsselbeziehung zwischen customer/vendor und greetings
Jan Büren [Fri, 1 May 2020 09:39:21 +0000 (11:39 +0200)]
Mahnungen: Offene Gutschriften anzeigen und bei Auswahl gegen Offene Posten rechnen
Falls der Haken in der Übersicht gemacht wird, werden alle offenen
Gutschriften für den jeweiligen Kunden angezeigt. Wenn diese aktiviert
werden, werden diese Gutschriften für die jeweilige Mahnstufe ausgegeben.
Entsprechend wird die Summe der offenen Zahlung reduziert.
Offen: Im Mahnungsbericht werden die Mahnungen dann allerdings ohne
die Gutschriften angezeigt
Vorher wurde nur geprüft, ob die Konfiguration schon gesetzt wurde.
Sollte ein Kunde im Nachhinein auf E-Mail-Versand umstelle ist
das Verhalten jetzt komfortabler
Jan Büren [Thu, 16 Apr 2020 07:55:24 +0000 (09:55 +0200)]
MT940 Import aqbanking Version 6 benötigt andere Parameter
Ferner ist die Version 5 buggy, da sie nicht mit den neueren
Längen (seit Mitte 2019 im Einsatz) im Verwendungszweck zurechtkommt.
Entsprechend die minimale Version der aqbanking-tools auf > 6 gesetzt.
Moritz Bunkus [Fri, 20 Mar 2020 13:48:15 +0000 (14:48 +0100)]
Archive::Zip: kein Fix für aktuelle Versionen mehr nötig
Der Fix ist bei 1.40 bereits in offiziellen Releases
enthalten. Deutlich neuere Versionen enthalten sogar Änderungen, bei
denen unser Fix das Modul kaputt macht.
Also… Archive::Zip ≥ 1.40 voraussetzen und unseren eigenen Fix wegwerfen.
Bernd Bleßmann [Mon, 16 Mar 2020 17:37:42 +0000 (18:37 +0100)]
Belegmasken: weitere Werte f. PrintOptions aus form füllen
Das ist für Proforma-Rg aus Aufträgen wichtig, denn diese werden nach einem
erneuten Laden über js gedruckt. Und dazu müssen die vorher eingestellten
Werte wieder richtig vorhanden sein.
Problem war: Auftrag als Proforma drucken ging erst beim zweiten Drucken.
Moritz Bunkus [Mon, 16 Mar 2020 08:52:07 +0000 (09:52 +0100)]
DATEV-Tests: eine gültige UStID-Nr benutzen
Der DATEV-Export nutzt inzwischen Routinen zur Prüfung & sauberen
Formatierung von UStID-Nummern, und die in den Tests verwendete war
nach dem gültigen Algorithmus schlicht nicht gültig.
Moritz Bunkus [Wed, 11 Mar 2020 11:21:56 +0000 (12:21 +0100)]
ZUGFeRD-Import: UStID-Nr auch finden, wenn sie nicht normalisiert sind
Sowohl die UStID-Nummern in der ZUGFeRD.xml als auch die Nummern der
Lieferanten in der Datenbank werden nun zum Vergleichen
normalisiert. Damit wird auch ein Lieferant gefunden, dessen UStID-Nr
in der Datenbank z.B. »DE 123 456 789« ist und in der XML
»DE123456789« steht.
Jan Büren [Tue, 10 Mar 2020 11:24:48 +0000 (12:24 +0100)]
ZUGFeRD: ZUGFeRD-Controller der minimal ZUGFeRD PDF parst
Simples Upload Formular für ein PDF. Falls das PDF gültige
ZUGFeRD Daten hat und ein Lieferant mit UST-ID in kivi gefunden wird,
werden die Formulardaten in der ersten gefunden Kreditorenbelegvorlage
des Lieferanten angezeigt. Details und TODO, s.a. perldoc