kivitendo-erp.git
4 years agoAbteilungen bei Ansprechpersonen: SimpleSettings-Controller zum Editieren
Bernd Bleßmann [Fri, 8 May 2020 15:08:25 +0000 (17:08 +0200)]
Abteilungen bei Ansprechpersonen: SimpleSettings-Controller zum Editieren

4 years agoAbteilungen bei Ansprechpersonen in eigene Tabelle: DB-Upgrade und Rose
Bernd Bleßmann [Fri, 8 May 2020 15:03:18 +0000 (17:03 +0200)]
Abteilungen bei Ansprechpersonen in eigene Tabelle: DB-Upgrade und Rose

4 years agoTitel von Ansprechpersonen: Freitext-Feld und/oder Auswahlliste
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

4 years agoTitel von Ansprechpersonen: SimpleSettings-Controller zum Editieren
Bernd Bleßmann [Fri, 8 May 2020 14:47:13 +0000 (16:47 +0200)]
Titel von Ansprechpersonen: SimpleSettings-Controller zum Editieren

4 years agoTitel von Ansprechpersonen in eigene Tabelle: DB-Upgrade und Rose
Bernd Bleßmann [Fri, 8 May 2020 12:32:24 +0000 (14:32 +0200)]
Titel von Ansprechpersonen in eigene Tabelle: DB-Upgrade und Rose

4 years agoAnreden: Kunden-/Lieferantenstamm: Freitext-Feld und/oder Auswahlliste
Bernd Bleßmann [Fri, 24 Apr 2020 13:16:09 +0000 (15:16 +0200)]
Anreden: Kunden-/Lieferantenstamm: Freitext-Feld und/oder Auswahlliste

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

4 years agoAnreden: SimpleSettings-Controller zum Editieren
Bernd Bleßmann [Fri, 24 Apr 2020 12:56:32 +0000 (14:56 +0200)]
Anreden: SimpleSettings-Controller zum Editieren

4 years agoAnreden in eigene Tabelle: DB-Upgrade und Rose
Bernd Bleßmann [Fri, 17 Apr 2020 14:26:23 +0000 (16:26 +0200)]
Anreden in eigene Tabelle: DB-Upgrade und Rose

4 years agoKosmetik: Einrückung
Bernd Bleßmann [Wed, 6 May 2020 13:02:31 +0000 (15:02 +0200)]
Kosmetik: Einrückung

4 years agoAnsprechpersonen: DOM-Id für Löschen-Knopf setzen
Bernd Bleßmann [Fri, 8 May 2020 14:43:50 +0000 (16:43 +0200)]
Ansprechpersonen: DOM-Id für Löschen-Knopf setzen

Damit wird der Löschen-Knopf wieder ausgeblendet.

4 years agoVorlagen: Weiche für Anrede je nach dem, ob "natürliche Person" gesetzt ist
Bernd Bleßmann [Wed, 6 May 2020 09:46:51 +0000 (11:46 +0200)]
Vorlagen: Weiche für Anrede je nach dem, ob "natürliche Person" gesetzt ist

4 years agoDoku zu Kunden/-Lieferantenstamm: "natürliche Person"
Bernd Bleßmann [Fri, 8 May 2020 10:49:56 +0000 (12:49 +0200)]
Doku zu Kunden/-Lieferantenstamm: "natürliche Person"

4 years agoKunden/-Lieferantenstamm: Flag "natürliche Person" in Maske
Bernd Bleßmann [Wed, 6 May 2020 09:46:11 +0000 (11:46 +0200)]
Kunden/-Lieferantenstamm: Flag "natürliche Person" in Maske

4 years agoFlattenToForm: natural_person mit übernehmen
Bernd Bleßmann [Wed, 6 May 2020 09:39:14 +0000 (11:39 +0200)]
FlattenToForm: natural_person mit übernehmen

4 years agoKunden/-Lieferantenstamm: Flag "natürliche Person": DB-Upgrade + Rose
Bernd Bleßmann [Tue, 5 May 2020 10:24:40 +0000 (12:24 +0200)]
Kunden/-Lieferantenstamm: Flag "natürliche Person": DB-Upgrade + Rose

4 years agolocales: Lauf für englisch (en)
Bernd Bleßmann [Mon, 4 May 2020 09:12:07 +0000 (11:12 +0200)]
locales: Lauf für englisch (en)

4 years agoKreditorenbeleg-Storno: Buchungsdatum richtig setzen
Jan Büren [Thu, 7 May 2020 07:55:11 +0000 (09:55 +0200)]
Kreditorenbeleg-Storno: Buchungsdatum richtig setzen

Aufgefallen durch den Zeitstempel selftest

4 years agoProject löschen - Rücksprung zu Übersicht repariert
G. Richardson [Mon, 4 May 2020 08:56:44 +0000 (10:56 +0200)]
Project löschen - Rücksprung zu Übersicht repariert

Die action heißt list, nicht search

4 years agoMahnungen: Offene Gutschriften anzeigen und bei Auswahl gegen Offene Posten rechnen
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

4 years agomarei: Syntax-Fix für Zahlungserinnerung.tex
Jan Büren [Sat, 25 Apr 2020 06:21:35 +0000 (08:21 +0200)]
marei: Syntax-Fix für Zahlungserinnerung.tex

4 years agomarei: add lmodern to allow vector fonts with older debian installations
Jan Büren [Sat, 25 Apr 2020 06:20:01 +0000 (08:20 +0200)]
marei: add lmodern to allow vector fonts with older debian installations

4 years agohelp text changed dbupgrade2_tool.pl
Tamino [Thu, 12 Mar 2020 14:59:48 +0000 (15:59 +0100)]
help text changed dbupgrade2_tool.pl

4 years agoHinzufügen der Option ajax_return zu L.sortable_element
Tamino [Fri, 24 Apr 2020 15:00:32 +0000 (17:00 +0200)]
Hinzufügen der Option ajax_return zu L.sortable_element

4 years agoBei Sortimenten Sortimentsartikel nach 'position' sortieren
Andreas Rudin [Mon, 20 Apr 2020 11:16:34 +0000 (13:16 +0200)]
Bei Sortimenten Sortimentsartikel nach 'position' sortieren

Bisher wurde die Spalte 'position' in der Tabelle assortment_items
ignoriert.

4 years agoDokumentation: longdescription referenziert auf part.notes (Bemerkungen)
Jan Büren [Sat, 18 Apr 2020 14:35:40 +0000 (16:35 +0200)]
Dokumentation: longdescription referenziert auf part.notes (Bemerkungen)

4 years agoVK-Bericht: Transportmittel als Hauptsortierung
Jan Büren [Fri, 17 Apr 2020 11:24:32 +0000 (13:24 +0200)]
VK-Bericht: Transportmittel als Hauptsortierung

4 years agoMahnungen: Ausdruck der Originalrechnung inkl. Anw. HTML-Formatierungen
Jan Büren [Fri, 17 Apr 2020 11:04:37 +0000 (13:04 +0200)]
Mahnungen: Ausdruck der Originalrechnung inkl. Anw. HTML-Formatierungen

4 years agoMahnungskonfiguration Ausdruck der Originalrechnung konfigurierbar
Jan Büren [Fri, 17 Apr 2020 11:03:52 +0000 (13:03 +0200)]
Mahnungskonfiguration Ausdruck der Originalrechnung konfigurierbar

4 years agoMahnungen: Optionales Feld Rechnungen ausdrucken für Mahnungs-Konfiguration
Jan Büren [Fri, 17 Apr 2020 10:13:15 +0000 (12:13 +0200)]
Mahnungen: Optionales Feld Rechnungen ausdrucken für Mahnungs-Konfiguration

4 years agoWiederkehrende Rechnungen: vorbelegte E-Mail-Texte setzen falls leer
Jan Büren [Thu, 16 Apr 2020 10:00:49 +0000 (12:00 +0200)]
Wiederkehrende Rechnungen: vorbelegte E-Mail-Texte setzen falls leer

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

4 years agoMT940 Import aqbanking Version 6 benötigt andere Parameter
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.

4 years agoAuftrags-Controller: Einfüge-Position eines neuen Artiklens angeben können
Bernd Bleßmann [Wed, 15 Apr 2020 13:59:52 +0000 (15:59 +0200)]
Auftrags-Controller: Einfüge-Position eines neuen Artiklens angeben können

4 years agolocales: Lauf für englisch (en)
Bernd Bleßmann [Wed, 15 Apr 2020 08:54:32 +0000 (10:54 +0200)]
locales: Lauf für englisch (en)

4 years agolocales: Vergessene Übersetzung zum Kontenabgleich
Bernd Bleßmann [Wed, 15 Apr 2020 08:54:07 +0000 (10:54 +0200)]
locales: Vergessene Übersetzung zum Kontenabgleich

4 years agoMahnungen: Optional auch Original-Rechnung hinzufügen
Jan Büren [Mon, 13 Apr 2020 09:13:29 +0000 (11:13 +0200)]
Mahnungen: Optional auch Original-Rechnung hinzufügen

4 years agoVerkaufsbericht: Transportmittel in Bericht mitausgeben
Jan Büren [Mon, 13 Apr 2020 08:05:31 +0000 (10:05 +0200)]
Verkaufsbericht: Transportmittel in Bericht mitausgeben

4 years agoDoku: kivitendo Pflege und Installation mittels branch verbessert
Jan Büren [Wed, 1 Apr 2020 10:31:51 +0000 (12:31 +0200)]
Doku: kivitendo Pflege und Installation mittels branch verbessert

4 years agoChangelog: ZUGFeRD und Suchoption Waren ergänzt
Jan Büren [Thu, 26 Mar 2020 11:45:08 +0000 (12:45 +0100)]
Changelog: ZUGFeRD und Suchoption Waren ergänzt

4 years agoArtikelsuche: Suche nach in Erzeugnis verbauten Artikeln
Jan Büren [Thu, 26 Mar 2020 11:43:07 +0000 (12:43 +0100)]
Artikelsuche: Suche nach in Erzeugnis verbauten Artikeln

Als Ergebnis werden Erzeugnisse und deren Bestandteile angezeigt.
Gültige Suchkriterien sind aktuell nur die Spalten in parts

4 years agoArchive::Zip: kein Fix für aktuelle Versionen mehr nötig
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.

4 years agoBelegmasken: weitere Werte f. PrintOptions aus form füllen
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.

4 years agoDATEV-Tests: eine gültige UStID-Nr benutzen
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.

4 years agoTestfall für #266 - Rückgabewert für Routine setzen
Jan Büren [Sat, 14 Mar 2020 12:31:21 +0000 (13:31 +0100)]
Testfall für #266 - Rückgabewert für Routine setzen

4 years agoFixt #266 Kontenabgleich mit Bank transaktionssicher
Jan Büren [Sat, 14 Mar 2020 07:17:27 +0000 (08:17 +0100)]
Fixt #266 Kontenabgleich mit Bank transaktionssicher

4 years agoMerge branch 'f-zugferd'
Moritz Bunkus [Fri, 13 Mar 2020 13:54:52 +0000 (14:54 +0100)]
Merge branch 'f-zugferd'

4 years agoZUGFeRD: Bankkonten: Standardwert »use_for_zugferd« auf FALSE gesetzt
Moritz Bunkus [Wed, 11 Mar 2020 11:43:52 +0000 (12:43 +0100)]
ZUGFeRD: Bankkonten: Standardwert »use_for_zugferd« auf FALSE gesetzt

4 years agoTests: Anpassung an Mandantenkonf. Adress-Feld in Bestandteile aufgeteilt
Moritz Bunkus [Wed, 11 Mar 2020 11:43:20 +0000 (12:43 +0100)]
Tests: Anpassung an Mandantenkonf. Adress-Feld in Bestandteile aufgeteilt

4 years agoDATEV: UStID-Nummern-Validierung auf neues Modul SL::VATIDNr umgestellt
Moritz Bunkus [Wed, 11 Mar 2020 11:25:24 +0000 (12:25 +0100)]
DATEV: UStID-Nummern-Validierung auf neues Modul SL::VATIDNr umgestellt

4 years agoZUGFeRD-Import: UStID-Nr auch finden, wenn sie nicht normalisiert sind
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.

4 years agoZUGFeRD: UStID-Nummern validieren und normalisiert ausgeben
Moritz Bunkus [Wed, 11 Mar 2020 11:04:46 +0000 (12:04 +0100)]
ZUGFeRD: UStID-Nummern validieren und normalisiert ausgeben

4 years agoMandantenkonfiguration: UStID-Nummern beim Speichern validieren
Moritz Bunkus [Wed, 11 Mar 2020 11:02:19 +0000 (12:02 +0100)]
Mandantenkonfiguration: UStID-Nummern beim Speichern validieren

4 years agoKunden/Lieferanten: UStID-Nummern beim Speichern validieren
Moritz Bunkus [Wed, 11 Mar 2020 10:57:15 +0000 (11:57 +0100)]
Kunden/Lieferanten: UStID-Nummern beim Speichern validieren

4 years agoSL::VATIDNr — Validierung/Normalisierung von UStID-Nummmern/schweizer UIDs
Moritz Bunkus [Wed, 11 Mar 2020 10:56:41 +0000 (11:56 +0100)]
SL::VATIDNr — Validierung/Normalisierung von UStID-Nummmern/schweizer UIDs

4 years agoZUGFeRD: ZUGFeRD-Controller der minimal ZUGFeRD PDF parst
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

4 years agoZUGFeRD: Mehr monatliche Einheitsvarianten erlauben und Jahr (ANN) ergänzt
Jan Büren [Tue, 10 Mar 2020 08:42:47 +0000 (09:42 +0100)]
ZUGFeRD: Mehr monatliche Einheitsvarianten erlauben und Jahr (ANN) ergänzt

4 years agoTypo in Zugriffsrechten
G. Richardson [Mon, 9 Mar 2020 12:43:54 +0000 (13:43 +0100)]
Typo in Zugriffsrechten

4 years agoZUGFeRD: Konsolen-Debug auskommentiert
Jan Büren [Mon, 9 Mar 2020 09:35:21 +0000 (10:35 +0100)]
ZUGFeRD: Konsolen-Debug auskommentiert

Wirft im Webserver 'bad header' Fehlermeldungen

4 years agoZUGFeRD: Zahlungsinfos ergänzt: Kontonummer, Typ=Einzug/Überweisung
Moritz Bunkus [Fri, 6 Mar 2020 14:11:15 +0000 (15:11 +0100)]
ZUGFeRD: Zahlungsinfos ergänzt: Kontonummer, Typ=Einzug/Überweisung

4 years agoZUGFeRD: falschen schließenden HTML-Tag korrigiert
Moritz Bunkus [Tue, 3 Mar 2020 15:29:16 +0000 (16:29 +0100)]
ZUGFeRD: falschen schließenden HTML-Tag korrigiert

4 years agoZUGFeRD: Einstellung bzgl. Erzeugung auch in Kundenstammdaten
Moritz Bunkus [Tue, 3 Mar 2020 15:26:06 +0000 (16:26 +0100)]
ZUGFeRD: Einstellung bzgl. Erzeugung auch in Kundenstammdaten

4 years agoZUGFeRD: Kosmetik
Moritz Bunkus [Tue, 3 Mar 2020 13:19:23 +0000 (14:19 +0100)]
ZUGFeRD: Kosmetik

4 years agoZUGFeRD: Zahlungsbedingungen: Skonto-Basis-Betrag mit ausgeben
Moritz Bunkus [Tue, 3 Mar 2020 12:58:50 +0000 (13:58 +0100)]
ZUGFeRD: Zahlungsbedingungen: Skonto-Basis-Betrag mit ausgeben

4 years agoZUGFeRD: UStID des Kunden angeben, sofern bekannt
Moritz Bunkus [Tue, 3 Mar 2020 11:57:07 +0000 (12:57 +0100)]
ZUGFeRD: UStID des Kunden angeben, sofern bekannt

4 years agoZUGFeRD: Verkäufer-UStID ist über Validierung erzwungen vorhanden
Moritz Bunkus [Tue, 3 Mar 2020 11:46:42 +0000 (12:46 +0100)]
ZUGFeRD: Verkäufer-UStID ist über Validierung erzwungen vorhanden

4 years agoZUGFeRD: richtige Typencodes für Stornos
Moritz Bunkus [Tue, 3 Mar 2020 11:38:25 +0000 (12:38 +0100)]
ZUGFeRD: richtige Typencodes für Stornos

4 years agomake_record(_item): Unterstützung für Gutschriften
Moritz Bunkus [Tue, 3 Mar 2020 11:37:51 +0000 (12:37 +0100)]
make_record(_item): Unterstützung für Gutschriften

Bei Gutschriften stehen gewisse Werte in $::form positiv, die aber im
Rose-Objekt negativ sein müssen.

4 years agoZUGFeRD: fehlende Übersetzungen ergänzt
Moritz Bunkus [Tue, 3 Mar 2020 10:29:41 +0000 (11:29 +0100)]
ZUGFeRD: fehlende Übersetzungen ergänzt

4 years agoZUGFeRD: Test-Modus über Mandantenkonfiguration konfigurierbar gemacht
Moritz Bunkus [Tue, 3 Mar 2020 10:27:59 +0000 (11:27 +0100)]
ZUGFeRD: Test-Modus über Mandantenkonfiguration konfigurierbar gemacht

4 years agoinstallation check für zugferd typo gefixt
Jan Büren [Mon, 2 Mar 2020 16:32:08 +0000 (17:32 +0100)]
installation check für zugferd typo gefixt

4 years agoZUGFeRD: nicht nach \documentclass, sondern \begin{document} suchen
Moritz Bunkus [Mon, 2 Mar 2020 16:21:52 +0000 (17:21 +0100)]
ZUGFeRD: nicht nach \documentclass, sondern \begin{document} suchen

\documentclass steht evtl. in einem Include.

4 years agoZUGFeRD: Kosmetik
Moritz Bunkus [Mon, 2 Mar 2020 16:18:07 +0000 (17:18 +0100)]
ZUGFeRD: Kosmetik

4 years agoDokumentationsupdate zu benötigten Perl-Modulen
Moritz Bunkus [Mon, 2 Mar 2020 14:55:05 +0000 (15:55 +0100)]
Dokumentationsupdate zu benötigten Perl-Modulen

4 years agoSL::ZUGFeRD: Funktionen zum Extrahieren von ZUGFeRD-XML-Daten aus PDFs
Moritz Bunkus [Mon, 2 Mar 2020 14:53:09 +0000 (15:53 +0100)]
SL::ZUGFeRD: Funktionen zum Extrahieren von ZUGFeRD-XML-Daten aus PDFs

4 years agoZUGFeRD: Feature über Mandantenkonfiguration abschaltbar
Moritz Bunkus [Fri, 28 Feb 2020 16:23:38 +0000 (17:23 +0100)]
ZUGFeRD: Feature über Mandantenkonfiguration abschaltbar

4 years agoZUGFeRD: Validierung diverser nötiger Parameter
Moritz Bunkus [Fri, 28 Feb 2020 16:13:34 +0000 (17:13 +0100)]
ZUGFeRD: Validierung diverser nötiger Parameter

4 years agoZUGFeRD: allgemeine Notizen für alle Rechnungen in Übersetzungen anlegen können
Moritz Bunkus [Fri, 28 Feb 2020 15:25:45 +0000 (16:25 +0100)]
ZUGFeRD: allgemeine Notizen für alle Rechnungen in Übersetzungen anlegen können

4 years agoZUGFeRD: Rechnungen mit ZUGFeRD-Daten erzeugen
Moritz Bunkus [Fri, 28 Feb 2020 11:03:39 +0000 (12:03 +0100)]
ZUGFeRD: Rechnungen mit ZUGFeRD-Daten erzeugen

4 years agoUNECRecommendation20: Mapping von Einheitsnamen auf Codes
Moritz Bunkus [Fri, 28 Feb 2020 11:00:01 +0000 (12:00 +0100)]
UNECRecommendation20: Mapping von Einheitsnamen auf Codes

4 years agoISO 4217: Mapping von Währungsnamen auf Codes
Moritz Bunkus [Fri, 28 Feb 2020 10:59:47 +0000 (11:59 +0100)]
ISO 4217: Mapping von Währungsnamen auf Codes

4 years agoISO 3166: Mapping von Ländernamen auf ISO 3166-1 Alpha 2-Codes
Moritz Bunkus [Fri, 28 Feb 2020 10:59:27 +0000 (11:59 +0100)]
ISO 3166: Mapping von Ländernamen auf ISO 3166-1 Alpha 2-Codes

4 years agoPDF/A-Erzeugung: die XMP-Metadaten selber erzeugen
Moritz Bunkus [Tue, 5 Nov 2019 15:53:11 +0000 (16:53 +0100)]
PDF/A-Erzeugung: die XMP-Metadaten selber erzeugen

4 years agoPDF-Erzeugung: alles in temporärem Unterverzeichnis von users erledigen
Moritz Bunkus [Tue, 5 Nov 2019 14:07:24 +0000 (15:07 +0100)]
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.

4 years agoPDF-Erzeugung: Support fürs Erzeugen von PDF/A-konformen PDFs
Moritz Bunkus [Tue, 5 Nov 2019 12:46:38 +0000 (13:46 +0100)]
PDF-Erzeugung: Support fürs Erzeugen von PDF/A-konformen PDFs

Es gibt einen Rose-DB-Helfer `S:D:H:PDF_A`, der die erforderliche
Struktur für `SL::Template::LaTeX` (via
`$form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_a}`) erzeugt. Der Helfer ist
für die üblichen Belegklassen (`S:D:{Order,DeliveryOrder,Invoice}`)
eingebunden.

Weiterhin können über
`$form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_attachments}` Dateien in PDFs
eingebettet werden.

Das Erzeugen funktioniert nur für LaTeX-Vorlagen, nicht für
OpenDocument-Vorlagen.

Für LaTeX werden nun weitere Pakete benötigt, deren Präsenz vom
Installations-Check geprüft werden: `pdfx`, `embedfile`.

Für `embedfile` muss leider eine von uns modifizierte Version benutzt
werden, da der letzte offizielle Release das PDF-Attribut
`/AFRelationship` nicht unterstützt. Dieses Attribut muss aber für
jede in ein PDF/A eingebettete Datei gesetzt sein. Daher liefern wir
die modifizierte Version im neuen Unterverzeichnis `texmf` mit, das
über die Umgebungsvariable `TEXINPUTS` höhere Präferenz bekommt, als
die Systemverzeichnisse.

Die relevante Modifikation ist der folgende Pull-Request:

https://github.com/ho-tex/oberdiek/pull/72

Siehe auch folgender Bug:

https://github.com/ho-tex/oberdiek/issues/37

4 years agoVorlagen: (kaputte) Unterstützung für XML-Vorlagen entfernt
Moritz Bunkus [Tue, 5 Nov 2019 14:42:29 +0000 (15:42 +0100)]
Vorlagen: (kaputte) Unterstützung für XML-Vorlagen entfernt

Außerdem ein paar Vorkommen der schon seit längerem entfernte Winston
& Taxbird entfernt.

4 years agoBug in Emacs' Perl-Syntax-Highlighter umschiffen
Moritz Bunkus [Tue, 5 Nov 2019 13:00:35 +0000 (14:00 +0100)]
Bug in Emacs' Perl-Syntax-Highlighter umschiffen

4 years agomake_record(_item): discount-Feld richtig behandeln
Moritz Bunkus [Thu, 27 Feb 2020 14:48:16 +0000 (15:48 +0100)]
make_record(_item): discount-Feld richtig behandeln

In der Maske und daher in $::form stehen die Werte in Prozent, in den
DB-Spalten und damit den Rose-Attributen werden sie aber als Faktor
gespeichert, sprich z.B. 0.05 für 5%.

4 years ago_make_record(_item): Zahlenattribute nicht mit leeren Strings setzen
Moritz Bunkus [Fri, 15 Sep 2017 12:35:16 +0000 (14:35 +0200)]
_make_record(_item): Zahlenattribute nicht mit leeren Strings setzen

Wir übergeben diverse Zahlenfelder als hidden inputs, ohne dass wir
prüfen, ob die überhaupt gesetzt sind:

1. Im Aufruf 1 ist z.B. `$::form->{customer_id} = undef`, oder es gibt
   sogar nicht mal ein `$::form->{customer_id}`.
2. Dies wird ohne Prüfung auf den tatsächlichen Wert als Hidden
   ausgegeben, und endet damit als `<input type="hidden"
   name="customer_id" value="">`.
3. In Aufruf 2 kommt das dann als `$::form->{customer_id} = ''` an,
   also als leerer String, egal, ob der Wert vorher `undef`, ein
   leerer String war oder gar nicht existiert hat.

Wenn man nun, wie `_make_record_item`, über alle Schlüssel aus
`$::form` iteriert, und die korrespondierenden
Attributs-Setter-Funktionen einer RDBO-Instanz mit ihnen aufruft, so
werden somit Zahlen-Setter-Funktionen mit leeren Strings
aufgerufen. Das sorgt dafür, dass später bei einem Aufruf von
`$invoice->customer` versucht wird, ein Customer-Objekt aus der DB zu
laden (da ja durch den Aufruf von `…->customer_id(…)`, also das Setzen
des Relationship-Attributs, signalisiert wurde, dass die Relationship
aktiv ist).

Allerdings ist der Wert des Primärschlüsselattributes nun der leere
String, also im Perl-Sinne `false`. Das wiederum wertet Rose als
Versuch, ein Objekt ohne Angabe eines Primärschlüsselattributs zu
laden, was wiederum zu einer Fehlermeldung führt.

Kurz: Zahlenattribute aus RDBO-Instanzen dürfen gar nicht erst auf
leere Strings gesetzt werden. Sie dürfen nur gesetzt werden, wenn sie
auch tatsächliche Zahlenwerte enthalten sollen.

Fix #57.

4 years agoMandantenkonfiguration: Adress-Feld in einzelne Bestandteile aufgeteilt
Moritz Bunkus [Mon, 4 Nov 2019 13:50:26 +0000 (14:50 +0100)]
Mandantenkonfiguration: Adress-Feld in einzelne Bestandteile aufgeteilt

4 years agoSelfTest: Transactions: check_summe_stornobuchungen optimiert
Bernd Bleßmann [Fri, 28 Feb 2020 11:31:51 +0000 (12:31 +0100)]
SelfTest: Transactions: check_summe_stornobuchungen optimiert

Für den zu beobachteten Zeitraum werden jetzt getrennt betrachtet, ob
Rechnungen aus diesem Zeitraum storniert sind und mit Ihren Partnern in
der Summe nicht 0 ergeben,
oder ob
Stornorechnungen in diesem Zeitraum erstellt wurden und mit Ihrem Partner
in der Summer nicht 0 ergeben.

Die Partner müssen jeweils nicht im zu beobachteten Zeitraum liegen.

Da gab es auch schon mal einen Versuch im
commit 56e0744e2835cffe496531708ecfdaabc5b3bfee
"SelfTests check_summe_stornobuchungen optimiert".

Dieser führte aber nur zu langen Abfragezeiten.

4 years agoSelfTest: Transactions: Stornosumme -> copy/paste-Fehler ar statt ap
Bernd Bleßmann [Thu, 27 Feb 2020 15:05:53 +0000 (16:05 +0100)]
SelfTest: Transactions: Stornosumme -> copy/paste-Fehler ar statt ap

4 years agoSL/BackgroundJob/SelfTest: eine lfd. Modulnummer hinzufügen.
Bernd Bleßmann [Thu, 27 Feb 2020 11:17:58 +0000 (12:17 +0100)]
SL/BackgroundJob/SelfTest: eine lfd. Modulnummer hinzufügen.

Die Ergebnisse für das E-Mail-Template liegen in einem Hash mit den
Modul-Namen als keys. Im Template wird über die keys iteriert, damit ist
die Reihenfolge aber nicht garantiert. Deshalb wird hier eine Modulnummer
vor dem Namen eingefügt und die Ergbenisse sortiert - so kommen die Ergebisse
in der Reihenfolge der Module in der Konfig-Datei.

4 years agoKosmetik: POD bei SelfTest: keine leeren Abschnitte
Bernd Bleßmann [Thu, 27 Feb 2020 11:13:10 +0000 (12:13 +0100)]
Kosmetik: POD bei SelfTest: keine leeren Abschnitte

Das gibt Warnungen beim podchecker

4 years agoUnterstützung für PostgreSQL 12 Teil 3
Moritz Bunkus [Thu, 27 Feb 2020 11:37:57 +0000 (12:37 +0100)]
Unterstützung für PostgreSQL 12 Teil 3

Sortierung der Erzeugnisse nach der dafür vorgesehenen
Positionsspalte, nicht ID.

4 years agoUnterstützung für PostgreSQL 12 Teil 2
Moritz Bunkus [Thu, 27 Feb 2020 09:49:14 +0000 (10:49 +0100)]
Unterstützung für PostgreSQL 12 Teil 2

PostgreSQL 12 unterstützt OIDs nicht mehr. Daher die letzten Stellen
umgestellt, an denen noch OIDs verwendet wurden.

4 years agoTypo
G. Richardson [Wed, 26 Feb 2020 15:23:30 +0000 (16:23 +0100)]
Typo

4 years agoTypo in comments
G. Richardson [Tue, 25 Feb 2020 11:59:18 +0000 (12:59 +0100)]
Typo in comments

4 years agoUnterstützung für PostgreSQL 12
Moritz Bunkus [Thu, 20 Feb 2020 11:55:06 +0000 (12:55 +0100)]
Unterstützung für PostgreSQL 12

Das Format von `pg_attrdef` wurde in PostgreSQL 12 deutlich geändert;
die Spalte `adsrc` gibt es nicht mehr. Für den Auth-Code ist
allerdings nur interessant, ob es Spalte X in Tabelle Y bereits
gibt. Also auch nur genau diese Informationen auslesen.

4 years agopeitex: Weitere Überarbeitungen
Jan Büren [Fri, 14 Feb 2020 08:02:10 +0000 (09:02 +0100)]
peitex: Weitere Überarbeitungen

- Syntax Fix globaleprojectnumber
- Abstand Fußzeile
- Schriftgröße
- obere Tabelle am rechten Rand ausgerichtet

4 years agoAngebot / Auftrag (alte Masken) / Lieferschein: nur Mailen, wenn gespeichert
Bernd Bleßmann [Thu, 13 Feb 2020 17:07:49 +0000 (18:07 +0100)]
Angebot / Auftrag (alte Masken) / Lieferschein: nur Mailen, wenn gespeichert

Behebt #418 (redmine).

4 years agoPart-Controller: HTML-Template: vergessene table rows
Bernd Bleßmann [Tue, 11 Feb 2020 13:33:59 +0000 (14:33 +0100)]
Part-Controller: HTML-Template: vergessene table rows