Fehler beim löschen von Buchungsklassen & Buchungsarten

Hier melden JVerein-Benutzer ihre Fehler

Moderator: heiner

Antworten
holenbach
Beiträge: 7
Registriert: Donnerstag 7. Juni 2012, 10:09

Fehler beim löschen von Buchungsklassen & Buchungsarten

Beitrag von holenbach »

Hallo,

der Fehler besteht sowohl in der aktuellen stable Version Build: 341, als auch nightly build 353

Fehler: Das löschen von Buchungsklassen und Buchungsarten im Bereich Buchführung über das Context Menu schlägt gründlich fehl.

Auszug aus dem Debug Log:

Code: Alles auswählen

[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 2
[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 2
[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 2
[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 2
[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 2
[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 2
[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 2
[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 4
[Wed Jun 06 19:10:15 CEST 2012][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from BUCHUNGSKLASSE where ID = 4
[Wed Jun 06 19:10:19 CEST 2012][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog$1.run] modal type: primary
[Wed Jun 06 19:10:21 CEST 2012][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog.close] closing dialog
[Wed Jun 06 19:10:21 CEST 2012][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog$5.run] dialog closed
[Wed Jun 06 19:10:21 CEST 2012][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog.close] notifying listeners
[Wed Jun 06 19:10:21 CEST 2012][DEBUG][de.willuhn.jameica.messaging.NamedQueue$Worker.send] sending message [Wed Jun 06 19:10:21 CEST 2012][ERROR] Fehler beim Löschen der Buchungsart.
[Wed Jun 06 19:10:21 CEST 2012][ERROR][de.willuhn.jameica.messaging.LogMessageConsumer.handleMessage] Fehler beim Löschen der Buchungsart.
[Wed Jun 06 19:10:21 CEST 2012][ERROR][de.jost_net.JVerein.gui.action.BuchungsartDeleteAction.handleAction] Fehler beim Löschen der Buchungsart.
java.rmi.RemoteException: delete failed, rollback successful; nested exception is: 
	org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNG1: PUBLIC.BUCHUNG FOREIGN KEY(BUCHUNGSART) REFERENCES PUBLIC.BUCHUNGSART(ID)"
Referential integrity constraint violation: "FKBUCHUNG1: PUBLIC.BUCHUNG FOREIGN KEY(BUCHUNGSART) REFERENCES PUBLIC.BUCHUNGSART(ID)"; SQL statement:
delete from BUCHUNGSART where ID = 10 [23003-145]
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:384)
	at de.jost_net.JVerein.server.BuchungsartImpl.delete(BuchungsartImpl.java:168)
	at de.jost_net.JVerein.gui.action.BuchungsartDeleteAction.handleAction(BuchungsartDeleteAction.java:71)
	at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:173)
	at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
	at de.willuhn.jameica.gui.GUI.loop(GUI.java:803)
	at de.willuhn.jameica.gui.GUI.init(GUI.java:294)
	at de.willuhn.jameica.system.Application.init(Application.java:144)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:86)
	at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNG1: PUBLIC.BUCHUNG FOREIGN KEY(BUCHUNGSART) REFERENCES PUBLIC.BUCHUNGSART(ID)"
Referential integrity constraint violation: "FKBUCHUNG1: PUBLIC.BUCHUNG FOREIGN KEY(BUCHUNGSART) REFERENCES PUBLIC.BUCHUNGSART(ID)"; SQL statement:
delete from BUCHUNGSART where ID = 10 [23003-145]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
	at org.h2.message.DbException.get(DbException.java:167)
	at org.h2.message.DbException.get(DbException.java:144)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:382)
	at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:399)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:275)
	at org.h2.table.Table.fireConstraints(Table.java:803)
	at org.h2.table.Table.fireAfterRow(Table.java:820)
	at org.h2.command.dml.Delete.update(Delete.java:80)
	at org.h2.command.CommandContainer.update(CommandContainer.java:69)
	at org.h2.command.Command.executeUpdate(Command.java:201)
	at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:126)
	at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:111)
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:366)
Dafür funktioniert der Import eines Kontorahmens über XML bei leeren Buchungsarten / -klassen ganz hervorragend. Nur...die Länge der Felder 'Bezeichnung' in beiden Kategorien (Buchungsklassen und Buchungsarten) sollte auf wenigstens 250 Zeichen gesetzt werden.
Derzeit stehen die Feldgrößen für Buchungsarten auf 50 Zeichen, für Buchungsklassen auf 30 Zeichen. Das ist für jeden Kontorahmen zu wenig und die Bezeichnungen
müssen gekürzt werden.

Zur Freude vieler hänge ich hier schon mal einen importierbaren XML Export an (DSB Konten), welcher von Edgar als XLS bereits hier: http://jverein.de/forum/viewtopic.php?f ... hmen#p3485

eingestellt wurde. Anpassungen jederzeit möglich.

MfG
Holenbach
Dateianhänge
DBS_Kontenrahmen.xml
DBS Kontorahmen zum Import in jverein Build: 353
(49.55 KiB) 210-mal heruntergeladen
Benutzeravatar
heiner
Administrator
Beiträge: 4509
Registriert: Freitag 30. Oktober 2009, 16:44
JVerein-Version: aktuelle Entwicklerversion
Betriebssystem: W10
Kontaktdaten:

Re: Fehler beim löschen von Buchungsklassen & Buchungsarten

Beitrag von heiner »

Hallo,

solange du den Buchungsarten noch Buchungen zugeordnet hast, kannst du sie nicht löschen.

Zur Länge der Buchungsart- und -klassenbezeichnungen: Schreibst du Romane in die Bezeichnungen? Kurz und knackig reicht doch. Du benötigst sowohl bei den Ausdrucken als auch den Bildschirmformularen entsprechend viel Platz oder es wird wieder was abgeschnitten. Dann ist dir auch nicht geholfen.

Heiner
PS: Denkt daran, eure Vereine unter viewforum.php?f=3 vorzustellen.
holenbach
Beiträge: 7
Registriert: Donnerstag 7. Juni 2012, 10:09

Re: Fehler beim löschen von Buchungsklassen & Buchungsarten

Beitrag von holenbach »

Hallo Heiner,

danke für die schnelle Antwort.
Das mit der Länge der Beschreibungsfelder fiel mir beim Import des Kontenrahmens auf, dort schlägt der Import fehl, wenn die Längen des Importes nicht mit den Feldlängen übereinstimmen. Ich wollte mich halt an den Standard Kontenrahmen halten.

Zum löschen:
Der Löschversuch erfolgte in einer frischen Installation des nightliy Builds. Die Buchungsarten und -klassen sind keinen Buchungen zugeordnet, da es in der Datenbank keine gibt. Völlig jungfräulich, wenn das Wort gestattet ist.
Was nun?

LG
Holenbach
Benutzeravatar
heiner
Administrator
Beiträge: 4509
Registriert: Freitag 30. Oktober 2009, 16:44
JVerein-Version: aktuelle Entwicklerversion
Betriebssystem: W10
Kontaktdaten:

Re: Fehler beim löschen von Buchungsklassen & Buchungsarten

Beitrag von heiner »

Hallo Holenbach,

ich habe in einer frischen Datenbank eine Buchungsklasse eingerichtet. Dann eine Buchungsart und die gerade eingerichtet Buchungsart zugeordnet. Anschließend konnte ich ohne Probleme die Buchungsart löschen und dann die Buchungsklasse.

Beschreibe bitte genau, was du gemacht hast.

Heiner
PS: Denkt daran, eure Vereine unter viewforum.php?f=3 vorzustellen.
holenbach
Beiträge: 7
Registriert: Donnerstag 7. Juni 2012, 10:09

gelöst - Re: Fehler beim löschen von Buchungsklassen & Buch

Beitrag von holenbach »

Hallo Heiner,

ich habe es genau so nachvollzogen. Ich fürchte, bei dem Import des Kontorahmens im vorherigen Schritt hatte sich vllt durch Feldgrößenüberschreitung irgendetwas verhaspelt. Manuell aufgebaut, kann ich den Fehler auch nicht mehr nachstellen. So bin ich beruhigt und werde den Import Vorgang und dann das löschen noch einmal durchspielen.
Vielen Dank noch mal für deinen schnellen Support und großes Lob für die bisher geleistete Arbeit für die Vereinssoftware.
Ich werde auch weiterhin die Funktionen in der Vorabversion testen und hoffe, dass ich dich damit weiter unterstützen kann.

MfG

T. Holenbach
Antworten