Willkommen im kivitendo Forum! Hier erweitern und teilen AnwenderInnen und EntwicklerInnen ihr Wissen.

Teste kivitendo!

kivitendo Demo

kivitendo Demo mit Schweizer Kontenplan und neuem Layout

Unterstützt kivitendo mit der Basis-Subskription!

0 Punkte

Hallo,

Kivitendo 3.4.1 auf Debian 8

Wenn ich eine Einkaufsrechnung löschen möchte erhalte ich einen Fehler, z.B.

SELECT amount FROM acc_trans WHERE (trans_id = 2307)
AND (chart_id = )
AND (transdate = '14.01.2017') FOR UPDATE
FEHLER: Syntaxfehler bei »)«
LINE 2: AND (chart_id = )
^

Im Demo Kivitendo scheint es zu gehen. Gibt es hier etwas, das ich tun kann?

Gruss
Matthias

von (210 Punkte)

2 Antworten

0 Punkte

Welche Version hast du ausgecheckt? Git o. Stable?

von (10.2k Punkte)
0 Punkte

Hallo Matthias

Wie du aus der Fehlermeldung siehst, wird hier eine fehlerhafte Datenbankabfrage durchgeführt, indem bei chartid (die Datenbank-id des verwendeten Buchungskontos) kein Wert angegeben wird.

Die Frage ist nun, wie es dazu kommt, dass kivitendo eine solche fehlerhafte Datenbank-Abfrage erzeugt.

Eine Möglichkeit wäre, dass du eine inkonsistente Datenbank hast. Dies passiert normalerweise, wenn du direkt in der Postgresql-Datenbank Daten änderst.
Hast du so etwas gemacht?

Eine andere Möglichkeit könnte sein, dass mit deinem Kontenplan etwas nicht stimmt. Welchen Kontenplan verwendest du und hast du bei einzelnen Konten irgendwann einmal etwas angepasst?

Falls hingegen ein Bug in kivitendo vorliegen sollte, so wäre es wichtig, dass du herausfindest, unter welchen Umständen der Fehler auftritt. Kannst du Einkaufsrechnungen erstellen, die du anschliessend wieder ohne Fehler löschen kannst oder tritt dieses Problem bei dir immer auf?

Helfen kann unter Umständen auch, wenn du die Einstellungen in der Online-Demo und bei dir genau vergleichst:

Wird der gleiche Kontenplan verwendet?

Kommen für die Einkaufsrechnung, die nicht storniert werden kann, die genau gleichen Buchungsgruppen (gleiche Konten) zum Einsatz wie in der Demo?

Ist die Buchungskonfiguration die gleiche (System→ Mandantenkonfiguration → Buchungskonfiguration)?

Hast du in der Online-Demo die genau gleichen Artikel erstellt, wie du sie in deiner Einkaufsrechnung verwendest?

Hast du schon einen Zahlungsausgang verbucht und dies in der Online-Demo genau gleich verbucht?

Falls du direkten Zugriff auf die bei dir eingesetzte Postgresql-Datenbank hast, könntest du mal alle Zeilen aus der Tabelle acctrans mit transid = 2307 kopieren und als Textdatei hier mitschicken?

Wenn du tatsächlich einem Bug auf der Spur bist, so wäre es super, wenn wir das so eingrenzen können, dass das Problem beliebig reproduzierbar ist. Dann besteht eine gute Chance, dass der Bug bald behoben werden kann.

Liebe Grüsse

Andreas

von (4.8k Punkte)

Guten Tag,

ich wünsche einen guten Wochenstart.

Aalso,

nein, eine direkte Manipulation der Postgres DB hat nicht statt gefunden.

Aber gut, das ist ein "altes" System. Es war mal ein LX Office, wurde auch umgezogen auf neue Hardware, neues OS (und so neue Postgres Version). Die Kivitendo Updates wurden schrittweise ausgeführt.
Eventuell wurden Konten angepasst, das kann ich nicht mehr ausschließen, glaube ich aber auch nicht und wäre auch eher ungewöhnlich.

Das Problem scheint immer auf zu treten und ist nicht auf eine (Art) ER beschränkt.

Ich werde bei nächster Gelegenheit die Punkte mit der Demo Vergleichen und sofern möglich testen.
Zur Not installiere ich Kivitendo in einer VM komplett um dort zu testen.
Beides wird einiges an Zeit benötigen, da ich mich um andere Dinge kümmern muss.

SELECT * FROM acc_trans WHERE trans_id=2307

wirft mir folgendes aus:
(screenshot statt text, das war ja fürchterlich formatiert nach copy/paste)

http://imgur.com/a/BxRKc

Gibt es denn vielleicht eine Möglichkeit, die Gesundheit der DB zu testen bzw. sogar irgendwelche Probleme/Fehler zu beheben?

Was sagen die SelfTest?

Ferner gibt es das (sehr alte) Skript unter: Korrekturen im Hauptbuch, die einiges an Dateninkosistenzen vor 2009 ausbügelt.

Probier die beiden Verfahren mal aus, ansonsten schau mal in der Partner-Liste von kivitendo welcher Dienstleister dir zusagt, dieser kann bestimmt schnell und zielgerichtet helfen.

...