kivitendo-erp.git
4 years agoscripts/image_maps.pl: korrigiere Schreibfehler
Steven Schubiger [Fri, 15 May 2020 17:57:58 +0000 (19:57 +0200)]
scripts/image_maps.pl: korrigiere Schreibfehler

4 years agoCsvImport: Report-Begrenzung: Option "Nur Warnungen und Fehler" umbenannt. …
Bernd Bleßmann [Fri, 15 May 2020 13:25:35 +0000 (15:25 +0200)]
CsvImport: Report-Begrenzung: Option "Nur Warnungen und Fehler" umbenannt. …

… Warnungen gibt es (noch) nicht, nur Fehler (errors) und
Bemerkungen (information)

4 years agoCsvImport: Report-Begrenzung: "Alles" anzeigen als Voreinstellung.
Bernd Bleßmann [Tue, 14 Feb 2017 16:55:25 +0000 (17:55 +0100)]
CsvImport: Report-Begrenzung: "Alles" anzeigen als Voreinstellung.

4 years agoCsvImport: Filter/Begrenzung für Status-Bericht wieder ermöglichen.
Bernd Bleßmann [Mon, 6 Feb 2017 22:44:02 +0000 (23:44 +0100)]
CsvImport: Filter/Begrenzung für Status-Bericht wieder ermöglichen.

4 years agoCsvImport: Anzahl der Fehler beim Ergebnis anzeigen
Bernd Bleßmann [Fri, 13 Jan 2017 21:26:09 +0000 (22:26 +0100)]
CsvImport: Anzahl der Fehler beim Ergebnis anzeigen

4 years agolocales-Lauf nach "Typos und spellcheck für occurred" -> Reihenfolge anders
Bernd Bleßmann [Fri, 15 May 2020 13:17:54 +0000 (15:17 +0200)]
locales-Lauf nach "Typos und spellcheck für occurred" -> Reihenfolge anders

4 years agoProjektpflicht bei Verkaufsaufträgen - Fehler abfangen
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.

4 years agoTypos in changelog
G. Richardson [Wed, 13 May 2020 07:22:01 +0000 (09:22 +0200)]
Typos in changelog

4 years agoTypos und spellcheck für occurred
G. Richardson [Wed, 13 May 2020 07:13:47 +0000 (09:13 +0200)]
Typos und spellcheck für occurred

4 years agoTypo in locale
G. Richardson [Mon, 11 May 2020 16:00:23 +0000 (18:00 +0200)]
Typo in locale

4 years agochangelog zu den Änderungen bei Anrede, Titel und Abteilung von Ansprechpers.
Bernd Bleßmann [Mon, 11 May 2020 15:01:36 +0000 (17:01 +0200)]
changelog zu den Änderungen bei Anrede, Titel und Abteilung von Ansprechpers.

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

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