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)
Bernd Bleßmann [Tue, 14 Feb 2017 16:55:25 +0000 (17:55 +0100)]
CsvImport: Report-Begrenzung: "Alles" anzeigen als Voreinstellung.
Bernd Bleßmann [Mon, 6 Feb 2017 22:44:02 +0000 (23:44 +0100)]
CsvImport: Filter/Begrenzung für Status-Bericht wieder ermöglichen.
Bernd Bleßmann [Fri, 13 Jan 2017 21:26:09 +0000 (22:26 +0100)]
CsvImport: Anzahl der Fehler beim Ergebnis anzeigen
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
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.
G. Richardson [Wed, 13 May 2020 07:22:01 +0000 (09:22 +0200)]
Typos in changelog
G. Richardson [Wed, 13 May 2020 07:13:47 +0000 (09:13 +0200)]
Typos und spellcheck für occurred
G. Richardson [Mon, 11 May 2020 16:00:23 +0000 (18:00 +0200)]
Typo in locale
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.
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 15:08:25 +0000 (17:08 +0200)]
Abteilungen bei Ansprechpersonen: SimpleSettings-Controller zum Editieren
Bernd Bleßmann [Fri, 8 May 2020 15:03:18 +0000 (17:03 +0200)]
Abteilungen bei Ansprechpersonen in eigene Tabelle: DB-Upgrade und Rose
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
Bernd Bleßmann [Fri, 8 May 2020 14:47:13 +0000 (16:47 +0200)]
Titel von Ansprechpersonen: SimpleSettings-Controller zum Editieren
Bernd Bleßmann [Fri, 8 May 2020 12:32:24 +0000 (14:32 +0200)]
Titel von Ansprechpersonen in eigene Tabelle: DB-Upgrade und Rose
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
Bernd Bleßmann [Fri, 24 Apr 2020 12:56:32 +0000 (14:56 +0200)]
Anreden: SimpleSettings-Controller zum Editieren
Bernd Bleßmann [Fri, 17 Apr 2020 14:26:23 +0000 (16:26 +0200)]
Anreden in eigene Tabelle: DB-Upgrade und Rose
Bernd Bleßmann [Wed, 6 May 2020 13:02:31 +0000 (15:02 +0200)]
Kosmetik: Einrückung
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.
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
Bernd Bleßmann [Fri, 8 May 2020 10:49:56 +0000 (12:49 +0200)]
Doku zu Kunden/-Lieferantenstamm: "natürliche Person"
Bernd Bleßmann [Wed, 6 May 2020 09:46:11 +0000 (11:46 +0200)]
Kunden/-Lieferantenstamm: Flag "natürliche Person" in Maske
Bernd Bleßmann [Wed, 6 May 2020 09:39:14 +0000 (11:39 +0200)]
FlattenToForm: natural_person mit übernehmen
Bernd Bleßmann [Tue, 5 May 2020 10:24:40 +0000 (12:24 +0200)]
Kunden/-Lieferantenstamm: Flag "natürliche Person": DB-Upgrade + Rose
Bernd Bleßmann [Mon, 4 May 2020 09:12:07 +0000 (11:12 +0200)]
locales: Lauf für englisch (en)
Jan Büren [Thu, 7 May 2020 07:55:11 +0000 (09:55 +0200)]
Kreditorenbeleg-Storno: Buchungsdatum richtig setzen
Aufgefallen durch den Zeitstempel selftest
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
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
Jan Büren [Sat, 25 Apr 2020 06:21:35 +0000 (08:21 +0200)]
marei: Syntax-Fix für Zahlungserinnerung.tex
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
Tamino [Thu, 12 Mar 2020 14:59:48 +0000 (15:59 +0100)]
help text changed dbupgrade2_tool.pl
Tamino [Fri, 24 Apr 2020 15:00:32 +0000 (17:00 +0200)]
Hinzufügen der Option ajax_return zu L.sortable_element
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.
Jan Büren [Sat, 18 Apr 2020 14:35:40 +0000 (16:35 +0200)]
Dokumentation: longdescription referenziert auf part.notes (Bemerkungen)
Jan Büren [Fri, 17 Apr 2020 11:24:32 +0000 (13:24 +0200)]
VK-Bericht: Transportmittel als Hauptsortierung
Jan Büren [Fri, 17 Apr 2020 11:04:37 +0000 (13:04 +0200)]
Mahnungen: Ausdruck der Originalrechnung inkl. Anw. HTML-Formatierungen
Jan Büren [Fri, 17 Apr 2020 11:03:52 +0000 (13:03 +0200)]
Mahnungskonfiguration Ausdruck der Originalrechnung konfigurierbar
Jan Büren [Fri, 17 Apr 2020 10:13:15 +0000 (12:13 +0200)]
Mahnungen: Optionales Feld Rechnungen ausdrucken für Mahnungs-Konfiguration
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
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.
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
Bernd Bleßmann [Wed, 15 Apr 2020 08:54:32 +0000 (10:54 +0200)]
locales: Lauf für englisch (en)
Bernd Bleßmann [Wed, 15 Apr 2020 08:54:07 +0000 (10:54 +0200)]
locales: Vergessene Übersetzung zum Kontenabgleich
Jan Büren [Mon, 13 Apr 2020 09:13:29 +0000 (11:13 +0200)]
Mahnungen: Optional auch Original-Rechnung hinzufügen
Jan Büren [Mon, 13 Apr 2020 08:05:31 +0000 (10:05 +0200)]
Verkaufsbericht: Transportmittel in Bericht mitausgeben
Jan Büren [Wed, 1 Apr 2020 10:31:51 +0000 (12:31 +0200)]
Doku: kivitendo Pflege und Installation mittels branch verbessert
Jan Büren [Thu, 26 Mar 2020 11:45:08 +0000 (12:45 +0100)]
Changelog: ZUGFeRD und Suchoption Waren ergänzt
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
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.
Jan Büren [Sat, 14 Mar 2020 12:31:21 +0000 (13:31 +0100)]
Testfall für #266 - Rückgabewert für Routine setzen
Jan Büren [Sat, 14 Mar 2020 07:17:27 +0000 (08:17 +0100)]
Fixt #266 Kontenabgleich mit Bank transaktionssicher
Moritz Bunkus [Fri, 13 Mar 2020 13:54:52 +0000 (14:54 +0100)]
Merge branch 'f-zugferd'
Moritz Bunkus [Wed, 11 Mar 2020 11:43:52 +0000 (12:43 +0100)]
ZUGFeRD: Bankkonten: Standardwert »use_for_zugferd« auf FALSE gesetzt
Moritz Bunkus [Wed, 11 Mar 2020 11:43:20 +0000 (12:43 +0100)]
Tests: Anpassung an Mandantenkonf. Adress-Feld in Bestandteile aufgeteilt
Moritz Bunkus [Wed, 11 Mar 2020 11:25:24 +0000 (12:25 +0100)]
DATEV: UStID-Nummern-Validierung auf neues Modul SL::VATIDNr umgestellt
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.
Moritz Bunkus [Wed, 11 Mar 2020 11:04:46 +0000 (12:04 +0100)]
ZUGFeRD: UStID-Nummern validieren und normalisiert ausgeben
Moritz Bunkus [Wed, 11 Mar 2020 11:02:19 +0000 (12:02 +0100)]
Mandantenkonfiguration: 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
Moritz Bunkus [Wed, 11 Mar 2020 10:56:41 +0000 (11:56 +0100)]
SL::VATIDNr — Validierung/Normalisierung von UStID-Nummmern/schweizer UIDs
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
Jan Büren [Tue, 10 Mar 2020 08:42:47 +0000 (09:42 +0100)]
ZUGFeRD: Mehr monatliche Einheitsvarianten erlauben und Jahr (ANN) ergänzt
G. Richardson [Mon, 9 Mar 2020 12:43:54 +0000 (13:43 +0100)]
Typo in Zugriffsrechten
Jan Büren [Mon, 9 Mar 2020 09:35:21 +0000 (10:35 +0100)]
ZUGFeRD: Konsolen-Debug auskommentiert
Wirft im Webserver 'bad header' Fehlermeldungen
Moritz Bunkus [Fri, 6 Mar 2020 14:11:15 +0000 (15:11 +0100)]
ZUGFeRD: Zahlungsinfos ergänzt: Kontonummer, Typ=Einzug/Überweisung
Moritz Bunkus [Tue, 3 Mar 2020 15:29:16 +0000 (16:29 +0100)]
ZUGFeRD: falschen schließenden HTML-Tag korrigiert
Moritz Bunkus [Tue, 3 Mar 2020 15:26:06 +0000 (16:26 +0100)]
ZUGFeRD: Einstellung bzgl. Erzeugung auch in Kundenstammdaten
Moritz Bunkus [Tue, 3 Mar 2020 13:19:23 +0000 (14:19 +0100)]
ZUGFeRD: Kosmetik
Moritz Bunkus [Tue, 3 Mar 2020 12:58:50 +0000 (13:58 +0100)]
ZUGFeRD: Zahlungsbedingungen: Skonto-Basis-Betrag mit ausgeben
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
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.