Moritz Bunkus [Tue, 3 Mar 2020 11:57:07 +0000 (12:57 +0100)]
ZUGFeRD: UStID des Kunden angeben, sofern bekannt
Moritz Bunkus [Tue, 3 Mar 2020 11:46:42 +0000 (12:46 +0100)]
ZUGFeRD: Verkäufer-UStID ist über Validierung erzwungen vorhanden
Moritz Bunkus [Tue, 3 Mar 2020 11:38:25 +0000 (12:38 +0100)]
ZUGFeRD: richtige Typencodes für Stornos
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.
Moritz Bunkus [Tue, 3 Mar 2020 10:29:41 +0000 (11:29 +0100)]
ZUGFeRD: fehlende Übersetzungen ergänzt
Moritz Bunkus [Tue, 3 Mar 2020 10:27:59 +0000 (11:27 +0100)]
ZUGFeRD: Test-Modus über Mandantenkonfiguration konfigurierbar gemacht
Jan Büren [Mon, 2 Mar 2020 16:32:08 +0000 (17:32 +0100)]
installation check für zugferd typo gefixt
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.
Moritz Bunkus [Mon, 2 Mar 2020 16:18:07 +0000 (17:18 +0100)]
ZUGFeRD: Kosmetik
Moritz Bunkus [Mon, 2 Mar 2020 14:55:05 +0000 (15:55 +0100)]
Dokumentationsupdate zu benötigten Perl-Modulen
Moritz Bunkus [Mon, 2 Mar 2020 14:53:09 +0000 (15:53 +0100)]
SL::ZUGFeRD: Funktionen zum Extrahieren von ZUGFeRD-XML-Daten aus PDFs
Moritz Bunkus [Fri, 28 Feb 2020 16:23:38 +0000 (17:23 +0100)]
ZUGFeRD: Feature über Mandantenkonfiguration abschaltbar
Moritz Bunkus [Fri, 28 Feb 2020 16:13:34 +0000 (17:13 +0100)]
ZUGFeRD: Validierung diverser nötiger Parameter
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
Moritz Bunkus [Fri, 28 Feb 2020 11:03:39 +0000 (12:03 +0100)]
ZUGFeRD: Rechnungen mit ZUGFeRD-Daten erzeugen
Moritz Bunkus [Fri, 28 Feb 2020 11:00:01 +0000 (12:00 +0100)]
UNECRecommendation20: Mapping von Einheitsnamen auf Codes
Moritz Bunkus [Fri, 28 Feb 2020 10:59:47 +0000 (11:59 +0100)]
ISO 4217: Mapping von Währungsnamen auf 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
Moritz Bunkus [Tue, 5 Nov 2019 15:53:11 +0000 (16:53 +0100)]
PDF/A-Erzeugung: die XMP-Metadaten selber erzeugen
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.
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
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.
Moritz Bunkus [Tue, 5 Nov 2019 13:00:35 +0000 (14:00 +0100)]
Bug in Emacs' Perl-Syntax-Highlighter umschiffen
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%.
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.
Moritz Bunkus [Mon, 4 Nov 2019 13:50:26 +0000 (14:50 +0100)]
Mandantenkonfiguration: Adress-Feld in einzelne Bestandteile aufgeteilt
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.
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.
G. Richardson [Wed, 26 Feb 2020 15:23:30 +0000 (16:23 +0100)]
Typo
G. Richardson [Tue, 25 Feb 2020 11:59:18 +0000 (12:59 +0100)]
Typo in comments
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.
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
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).
Bernd Bleßmann [Tue, 11 Feb 2020 13:33:59 +0000 (14:33 +0100)]
Part-Controller: HTML-Template: vergessene table rows
Bernd Bleßmann [Tue, 11 Feb 2020 13:32:33 +0000 (14:32 +0100)]
Part-Controller: HTML-Template: kein hidden in Tabellen ausserhalb von Daten
Bernd Bleßmann [Tue, 11 Feb 2020 13:30:47 +0000 (14:30 +0100)]
Part-Controller: HTML-Template: keine divs in Tabellen ausserhalb von Daten
Die Ids der divs scheinen auch gar nicht verwendet zu werden.
Bernd Bleßmann [Tue, 11 Feb 2020 13:29:31 +0000 (14:29 +0100)]
Part-Controller: HTML-Template: doppelte </td>s entfernt
Bernd Bleßmann [Fri, 7 Feb 2020 11:10:51 +0000 (12:10 +0100)]
Kundenspezifische Artikelpreise: Reihenfolge/sortorder berücksichtigen
Bernd Bleßmann [Thu, 1 Jun 2017 10:30:07 +0000 (12:30 +0200)]
special_chars: non-breaking-hyphen 0x2011 für LaTeX ersetzen
Bernd Bleßmann [Thu, 6 Feb 2020 17:52:06 +0000 (18:52 +0100)]
LaTeX: Tilde vor U+00A0 ersetzen, sonst wird aus U+00A0 eine LaTeX-Tilde
Da die Tilde in LaTeX eben für non-breaking whitespace steht, darf diese
nicht durch die mittig gesetzte Tilde ersetzt werden. Deshalb hier die
Reihenfolge ändern.
Bernd Bleßmann [Wed, 5 Feb 2020 14:38:32 +0000 (15:38 +0100)]
Massendruck: Option "beidseitig" auch beim Drucken aus Rechnungsberichten
Bernd Bleßmann [Wed, 5 Feb 2020 11:21:03 +0000 (12:21 +0100)]
Massenerzeugen Rechnungen aus LS: Übersetzung: Aktion eindeutiger benannt
Jan Büren [Tue, 4 Feb 2020 07:58:23 +0000 (08:58 +0100)]
Jan Büren [Mon, 3 Feb 2020 12:48:36 +0000 (13:48 +0100)]
PeiTeX: Druckvorlagen LaTeX Überarbeitung Rohdaten
Bernd Bleßmann [Mon, 3 Feb 2020 11:48:24 +0000 (12:48 +0100)]
S:D:Invoice: _post_add_acctrans: Keine Tranaktionen mit Summe == 0 speichern.
Das liefert einen Fehler beim DATEV-Export. Zudem filtert die Buchungsroutine
der Rechnungsmaske diese Buchungen aus raus.
Bezieht sich auch auf #414
Refs #414
Jan Büren [Mon, 3 Feb 2020 11:08:43 +0000 (12:08 +0100)]
Changelog: Überarbeitung LaTeX-Druckvorlage
Jan Büren [Mon, 3 Feb 2020 11:07:06 +0000 (12:07 +0100)]
Neue Standard-Vorlage marei (Überarbeitung von RB)
Marei Peischl [Sun, 12 Jan 2020 23:40:33 +0000 (00:40 +0100)]
cleanup Readme
Marei Peischl [Sun, 12 Jan 2020 23:40:07 +0000 (00:40 +0100)]
simpletabular
Marei Peischl [Sun, 12 Jan 2020 23:39:43 +0000 (00:39 +0100)]
SimpleTabular tests
Marei Peischl [Sun, 12 Jan 2020 23:39:08 +0000 (00:39 +0100)]
introduce simpletabular
Marei Peischl [Sun, 12 Jan 2020 22:26:04 +0000 (23:26 +0100)]
new structure to zahlungserinnerung_invoice.tex
Marei Peischl [Sun, 12 Jan 2020 22:11:55 +0000 (23:11 +0100)]
new structure to zahlungserinnerung.tex
Marei Peischl [Sun, 12 Jan 2020 22:07:53 +0000 (23:07 +0100)]
new structure to statement.tex
Marei Peischl [Sun, 12 Jan 2020 22:02:47 +0000 (23:02 +0100)]
new structure to sales_order.tex
Marei Peischl [Sun, 12 Jan 2020 21:53:53 +0000 (22:53 +0100)]
move orderID & projectID
Marei Peischl [Sun, 12 Jan 2020 21:53:09 +0000 (22:53 +0100)]
new structure to sales_delivery_order.tex
Marei Peischl [Sun, 12 Jan 2020 21:38:55 +0000 (22:38 +0100)]
add reqdate to table if available
Marei Peischl [Sun, 12 Jan 2020 21:37:47 +0000 (22:37 +0100)]
new structure to purchase_order-tex
Marei Peischl [Sun, 12 Jan 2020 21:19:44 +0000 (22:19 +0100)]
remove \ourfont macro
Marei Peischl [Sun, 12 Jan 2020 21:10:04 +0000 (22:10 +0100)]
new structure for proforma.tex
Marei Peischl [Sun, 12 Jan 2020 21:07:23 +0000 (22:07 +0100)]
bugfix invoice
Marei Peischl [Sun, 12 Jan 2020 21:07:06 +0000 (22:07 +0100)]
new structure for request_quotation.tex
Marei Peischl [Sun, 12 Jan 2020 21:05:22 +0000 (22:05 +0100)]
new structure for letter.tex
Marei Peischl [Sun, 12 Jan 2020 21:04:55 +0000 (22:04 +0100)]
remove \outfont macro
Marei Peischl [Sun, 12 Jan 2020 21:00:12 +0000 (22:00 +0100)]
unify bank account data
Marei Peischl [Sun, 12 Jan 2020 20:57:25 +0000 (21:57 +0100)]
add formal structure to insettings.tex
Marei Peischl [Sun, 12 Jan 2020 20:55:52 +0000 (21:55 +0100)]
add projectID + orderID
Marei Peischl [Sun, 12 Jan 2020 20:55:18 +0000 (21:55 +0100)]
credit note to new layout
Marei Peischl [Sun, 12 Jan 2020 20:52:40 +0000 (21:52 +0100)]
inheaders -> kiviletter
Marei Peischl [Sun, 22 Dec 2019 18:05:11 +0000 (19:05 +0100)]
invoice -> letter
Marei Peischl [Sun, 22 Dec 2019 18:04:31 +0000 (19:04 +0100)]
add komavar delivery/empty/myref/yourref
Marei Peischl [Sun, 22 Dec 2019 17:25:13 +0000 (18:25 +0100)]
simplify date variable
Marei Peischl [Sun, 22 Dec 2019 17:14:59 +0000 (18:14 +0100)]
fix typo in variable
Marei Peischl [Sun, 22 Dec 2019 17:14:50 +0000 (18:14 +0100)]
cleanup loc field
Marei Peischl [Sun, 22 Dec 2019 17:02:32 +0000 (18:02 +0100)]
adjust title and transaction_descripntion
Marei Peischl [Sun, 22 Dec 2019 13:33:09 +0000 (14:33 +0100)]
initialize default account information
Marei Peischl [Sun, 22 Dec 2019 13:28:47 +0000 (14:28 +0100)]
use string if currency unknown
Marei Peischl [Sun, 22 Dec 2019 13:28:32 +0000 (14:28 +0100)]
remove ending logo img
Marei Peischl [Mon, 9 Dec 2019 15:10:41 +0000 (16:10 +0100)]
move expl syntax
Marei Peischl [Mon, 9 Dec 2019 15:08:10 +0000 (16:08 +0100)]
move fromlogo to insettings
Marei Peischl [Mon, 9 Dec 2019 15:03:07 +0000 (16:03 +0100)]
adjust firsthead and fromlogo
Marei Peischl [Wed, 27 Nov 2019 13:36:07 +0000 (14:36 +0100)]
scrlayer-scrpage compat
Marei Peischl [Wed, 27 Nov 2019 13:25:03 +0000 (14:25 +0100)]
adjust pagestyle shippingaddres +head/foot
Marei Peischl [Wed, 27 Nov 2019 13:16:36 +0000 (14:16 +0100)]
add shippingAddressBox mechanism
Marei Peischl [Wed, 27 Nov 2019 13:16:09 +0000 (14:16 +0100)]
add thispagestyle only if pagebreak
Marei Peischl (peiTeX) [Wed, 27 Nov 2019 12:54:28 +0000 (13:54 +0100)]
fix ifkomavar linebreaks
Marei Peischl (peiTeX) [Wed, 27 Nov 2019 12:51:57 +0000 (13:51 +0100)]
adjust pricing width
Marei Peischl [Wed, 27 Nov 2019 12:39:16 +0000 (13:39 +0100)]
switch to PricingTabular*
Marei Peischl [Wed, 27 Nov 2019 12:30:47 +0000 (13:30 +0100)]
ini TableFoot bool
Marei Peischl [Wed, 27 Nov 2019 12:26:21 +0000 (13:26 +0100)]
improve PricingTable Pagestyle
Marei Peischl [Wed, 27 Nov 2019 12:17:52 +0000 (13:17 +0100)]
introduce Pricingtable*
Marei Peischl [Wed, 27 Nov 2019 12:13:59 +0000 (13:13 +0100)]
use colspec from variable
Marei Peischl [Wed, 27 Nov 2019 12:13:20 +0000 (13:13 +0100)]
add PricingTotal environment
Marei Peischl [Wed, 27 Nov 2019 12:11:54 +0000 (13:11 +0100)]
height footerbox -> \z@
Marei Peischl [Wed, 27 Nov 2019 12:11:28 +0000 (13:11 +0100)]
setup geometry settings to match Table pagestyle
Marei Peischl [Wed, 27 Nov 2019 12:10:52 +0000 (13:10 +0100)]
improve FakeTable and tcolorbox options
Marei Peischl [Wed, 27 Nov 2019 12:09:11 +0000 (13:09 +0100)]
add currency to P coltype
Marei Peischl [Wed, 27 Nov 2019 12:08:09 +0000 (13:08 +0100)]
extend pagestyles
Marei Peischl [Wed, 27 Nov 2019 12:02:58 +0000 (13:02 +0100)]
adjust margin settings