Erstellt vor 5 Jahren
Geschlossen vor 4 Jahren
#1416 closed Fehler (works-for-me)
Stornierung der Rechnung nicht möglich: chart_id is NULL
| Erstellt von: | kontakt@… | Verantwortlicher: | m.bunkus@… |
|---|---|---|---|
| Priorität: | normal | Meilenstein: | |
| Komponente: | kivitendo ERP | Version: | 2.6.1 |
| Schweregrad: | schwerwiegend | Stichworte: | Einkauf |
| Beobachter: | information@… |
Beschreibung
Nach klick auf den Storno-Button erscheint die Meldung:
Fehler!
INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey) VALUES
(?, ?, ?, ?, (SELECT taxkey_id FROM chart WHERE id = ?)) (8, , -41.17,
25.04.2009, )
FEHLER: NULL-Wert in Spalte chart_id verletzt Not-Null-Constraint
Nach der Suche des Fehlers im Internet ist lediglich eine Meldung bzgl. SQL-
Ledger erschienen, die sich auf Fehler mit URL-Encodings bezieht. Da weder die
dort erwähnte Datei bei LX-Office existiert und auch durch die Post Verwendung
kein URL-Encoding nötig sein sollte, ist die Frage, wie wir diese Rechnung
storniert bekommen?
Die eingesetzte Version ist die 2.6.1 mit crm (1.4.0).
Änderungshistorie (7)
comment:1 Geändert vor 4 Jahren durch information@…
- Beobachter information@… hinzugefügt
comment:2 Geändert vor 4 Jahren durch m.bunkus@…
- Status von new nach assigned geändert
- Verantwortlicher von p.reetz@… nach m.bunkus@… geändert
comment:3 Geändert vor 4 Jahren durch m.bunkus@…
Ich kann das Problem leider nicht mit der aktuellen unstable reproduzieren, tippe aber darauf, dass es nicht behoben ist und ich nur schlicht nicht die Randbedingungen hinbekomme, damit es passt.
Was mir helfen würde wären die Ausgaben der folgenden Queries, jeweils mit AR_ID durch die tatsächliche Datenbank-ID der Rechnung ersetzt:
SELECT * FROM ar WHERE id = AR_ID;
SELECT at.*, c.* FROM acc_trans at LEFT JOIN chart c ON (at.chart_id = c.id) WHERE at.trans_id = AR_ID;
und vermutlich weitere, aber dann würde ich nochmal nachfragen.
comment:4 Geändert vor 4 Jahren durch information@…
Fehler!
INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, taxkey, project_id)
VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?,
(SELECT taxkey_id FROM chart WHERE accno = ?), ?) (29178, , 40, 29.12.2010, , 291837)
ERROR: null value in column "chart_id" violates not-null constraint
Die Werte in der Ursprungsrechnung sind wie folgt:
id | invnumber | transdate | gldate | customer_id | taxincluded | amount | netamount | paid | datepaid | duedate | deliverydate | invoice | shippingpoint | terms | notes | curr | ordnumber | employee_id | quonumber | cusordnumber | intnotes | department_id | shipvia | itime | mtime | cp_id | language_id | payment_id | delivery_customer_id | delivery_vendor_id | storno | taxzone_id | shipto_id | type | dunning_config_id | orddate | quodate | globalproject_id | salesman_id | marge_total | marge_percent | storno_id | transaction_description | notes_bottom | ar_id | invoice_type | donumber
27857 | 659776 | 2010-12-29 | 2010-12-29 | 240645 | f | 1762.00000 | 1762.00000 | 0.00000 | | 2010-12-29 | 2010-12-02 | t | | | <b>COM. WORTEN DOS MAREA\r | EUR | 507276 | 18977 | | | | | | 2010-12-29 14:10:19.962057 | 2010-12-29 14:10:19.962057 | 284304 | 19206 | 18405 | | | f | 1 | 291751 | invoice | | 2010-11-15 | | 293808 | 18968 | 1762.00000 | 100.00000 | | Blalbla | | 7240 | 181679 |
: C.C. DOS MERES / CARRETERA N-332\r
: (CRUCE EL MIRADOS)\r
: 33 SAN JAVIER, MURCIA</b>\r
:
comment:5 Geändert vor 4 Jahren durch information@…
=# SELECT at.*, c.* FROM acc_trans at LEFT JOIN chart c ON (at.chart_id = c.id)
-# WHERE at.trans_id = 27857;
acc_trans_id | trans_id | chart_id | amount | transdate | gldate | source | cleared | fx_transaction | ob_transaction | cb_transaction | project_id | memo | taxkey | itime | mtime | department_id | id | accno | description | charttype | category | link | gifi_accno | taxkey_id | pos_ustva | pos_bwa | pos_bilanz | pos_eur | datevautomatik | itime | mtime | new_chart_id | valid_from | datevtyp
54244704 | 27857 | 68 | 1762.00000 | 2010-12-29 | 2010-12-29 | | f | f | f | f | 293808 | | 0 | 2010-12-29 14:10:19.962057 | | | 68 | 4125 | Steuerfrei innergem. Lieferungen §41 bUStG | A | I | AR_amount:IC_sale:IC_income | 4125 | 0 | 41 | 7 | | 1 | t | 2008-07-16 22:45:09.341423 | 2010-05-05 11:32:26.728547 | | | 171431
54244705 | 27857 | 240646 | -1762.00000 | 2010-12-29 | 2010-12-29 | | f | f | f | f | 293808 | | 0 | 2010-12-29 14:10:19.962057 | | | 240646 | 14685 | Wasen España Distribución, S.L. | A | A | AR | | 0 | | | | | f | 2010-07-01 15:28:48.320194 | 2010-11-29 11:31:53.888287 | | | 171430
comment:6 Geändert vor 4 Jahren durch m.bunkus@…
Jans Fall, den er nachvollziehen konnte, hat mit einer Kundenanpassung zu tun und ist dementsprechend für die Allgemeinheit irrelevant.
Ich bräuchte also vom ursprünglichen Bugersteller einen Datenbankdump, um das Problem weiter analysieren zu können.
comment:7 Geändert vor 4 Jahren durch m.bunkus@…
- Lösung auf worksforme gesetzt
- Status von assigned nach closed geändert
Da die Mails an den Bugersteller bouncen, schließe ich den Bug als WORKSFORME.

Ok, ich hab einen Fall gefunden, wo ich es reproduzieren konnte.
Der Fehler tritt auf in SL/IS.pm Zeile 2186:
Hier ist gleich der erste Schlüssel undefiniert was entsprechend zu einem Fehler führt.
$VAR1 = ;
$VAR2 = '4125';
Steuersatz ist EU mit Ust-ID