Erstellt vor 8 Jahren

Geschlossen vor 8 Jahren

#581 closed Fehler (fixed)

Debitorenbuchung: Steuerschlüssel stimmen nicht mit identischer Verkaufsrechnung überein.

Erstellt von: udono@… Verantwortlicher: m.bunkus@…
Priorität: sehr hoch Meilenstein:
Komponente: kivitendo ERP Version: 2.4.2
Schweregrad: kritisch Stichworte: Finanzbuchhaltung
Beobachter:

Beschreibung

Debitorenbuchung: Steuerschlüssel stimmen nicht mit identischer Verkaufsrechnung
überein. Ferner fehlen einige Steuerschlüssel.

trans_id=13 Verkaufsrechnung
trans_id=14 Debitorenbuchung
skr03-2=# select trans_id, chart_id, amount, transdate, taxkey from acc_trans
where trans_id in (13,14);

trans_id | chart_id | amount | transdate | taxkey


13 | 88 | 100.00000 | 2008-01-01 | 2
13 | 14 | -107.00000 | 2008-01-01 | 0
13 | 194 | 7.00000 | 2008-01-01 | 0
13 | 14 | 107.00000 | 2008-01-10 |
13 | 257 | -107.00000 | 2008-01-10 |
14 | 88 | 100.00000 | 2008-02-01 | 2
14 | 194 | 7.00000 | 2008-02-01 | 2
14 | 14 | -107.00000 | 2008-02-01 |
14 | 14 | 107.00000 | 2008-02-10 |
14 | 257 | -107.00000 | 2008-02-10 |

(10 Zeilen)

Änderungshistorie (8)

comment:1 Geändert vor 8 Jahren durch udono@…

  • blocked auf 582 gesetzt

comment:2 Geändert vor 8 Jahren durch udono@…

  • blocked 582 gelöscht
  • dependson auf 582 gesetzt
  • Priorität von Normal nach Kritisch geändert

Auch hier würde ein:
ALTER TABLE acc_trans ALTER COLUMN taxkey SET NOT NULL;

und ggf. vorher (wenns stimmt?!)
Update acc_trans set taxkey = 0 where taxkey is NULL;

comment:3 Geändert vor 8 Jahren durch udono@…

  • dependson auf 583 gesetzt

comment:4 Geändert vor 8 Jahren durch m.bunkus@…

  • Verantwortlicher von p.reetz@… nach m.bunkus@… geändert

comment:5 Geändert vor 8 Jahren durch m.bunkus@…

  • Status von new nach assigned geändert

Da ich mir den Quellcode noch nicht näher angesehen habe, würde ich nicht davon
ausgehen, dass überall, wo NULL drinsteht, eigentlich 0 drinstehen müsste.
Dieses Query sollte aber die richtigen taxkeys zuordnen:

UPDATE acc_trans SET taxkey =

(SELECT tk.taxkey_id

FROM taxkeys tk
WHERE (tk.chart_id = acc_trans.chart_id)

AND (tk.startdate <= acc_trans.transdate)

ORDER BY tk.startdate DESC LIMIT 1)

WHERE taxkey ISNULL;

Wär nett, wenn du das mal testen könntest.

Die "not null"-Bedingung kann dann danach eingeführt werden.

comment:6 Geändert vor 8 Jahren durch m.bunkus@…

Ach ja nochwas. Wenn du mir solch schöne SELECT-Ergebnisse zeigst, kannst du
dann bitte auch chart.accno mit aufnehmen? Ich kann zwar meistens erraten,
welche chart_id nun welches Konto ungefähr sein könnte, aber halt nur ungefähr

:)

z.B.

select trans_id, chart_id, amount, transdate, taxkey, accno from acc_trans left
join chart on acc_trans.chart_id = chart.id where trans_id in (13,14);

comment:7 Geändert vor 8 Jahren durch udono@…

Weil du so lieb fragst:
skr03-2=# select trans_id, chart_id, amount, transdate, taxkey, accno from
acc_trans left
skr03-2-# join chart on acc_trans.chart_id = chart.id where trans_id in (13,14);

trans_id | chart_id | amount | transdate | taxkey | accno


13 | 88 | 100.00000 | 2008-01-01 | 2 | 8300
13 | 14 | -107.00000 | 2008-01-01 | 0 | 1400
13 | 194 | 7.00000 | 2008-01-01 | 0 | 1771
13 | 14 | 107.00000 | 2008-01-10 | | 1400
13 | 257 | -107.00000 | 2008-01-10 | | 1000
14 | 88 | 100.00000 | 2008-02-01 | 2 | 8300
14 | 194 | 7.00000 | 2008-02-01 | 2 | 1771
14 | 14 | -107.00000 | 2008-02-01 | | 1400
14 | 14 | 107.00000 | 2008-02-10 | | 1400
14 | 257 | -107.00000 | 2008-02-10 | | 1000

(10 Zeilen)

comment:8 Geändert vor 8 Jahren durch m.bunkus@…

  • Lösung auf fixed gesetzt
  • Status von assigned nach closed geändert

Ich meine, dass das jetzt behoben ist.

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.