Hast Du denn die Funktion Datei → Werkzeuge → Konsistenzprüfung ausprobiert?
Die enthält einen MissingTransactionDateCheck der eigentlich solche Buchungen finden sollte. (seit 2 Jahren - hatte ich total vergessen).
Alternativ kann ich Dir anbieten Du schickst mir Deine Datei (portfolio dot performance dot help at gmail dot com) und ich schaue was ich machen kann.
Und, ja, ansonsten stimme ich @kimmerin zu - die Exception sollte bleiben (PP kann ohne Datum eine Buchung nicht verarbeiten), aber mehr Informationen enthalten.
Ich habe im Prinzip die beiden angesprochenen Meldungen, einmal mit Date und dann auch mit Typ:
Cannot invoke "name.abuchen.portfolio.model.AccountTransaction$Type.ordinal()" because the return value of "name.abuchen.portfolio.model.AccountTransaction.getType()" is null
java.lang.NullPointerException: Cannot invoke "name.abuchen.portfolio.model.AccountTransaction$Type.ordinal()" because the return value of "name.abuchen.portfolio.model.AccountTransaction.getType()" is null
at name.abuchen.portfolio.snapshot.filter.PortfolioClientFilter.adaptAccountTransactions(PortfolioClientFilter.java:267)
at name.abuchen.portfolio.snapshot.filter.PortfolioClientFilter.filter(PortfolioClientFilter.java:125)
at name.abuchen.portfolio.ui.views.StatementOfAssetsView.notifyModelUpdated(StatementOfAssetsView.java:66)
at name.abuchen.portfolio.ui.views.StatementOfAssetsView.createBody(StatementOfAssetsView.java:166)
at name.abuchen.portfolio.ui.editor.AbstractFinanceView.createViewControl(AbstractFinanceView.java:185)
at name.abuchen.portfolio.ui.editor.PortfolioPart.createView(PortfolioPart.java:596)
at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:552)
at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:540)
at java.base/java.util.Optional.ifPresent(Unknown Source)
at name.abuchen.portfolio.ui.editor.PortfolioPart.createContainerWithViews(PortfolioPart.java:214)
at name.abuchen.portfolio.ui.editor.PortfolioPart.rebuildContainer(PortfolioPart.java:330)
at name.abuchen.portfolio.ui.editor.PortfolioPart.onLoaded(PortfolioPart.java:361)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at name.abuchen.portfolio.ui.editor.ClientInput.setClient(ClientInput.java:734)
at name.abuchen.portfolio.ui.editor.LoadClientThread.lambda$0(LoadClientThread.java:36)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4382)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4005)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1147)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1038)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:166)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:615)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:563)
at org.eclipse.equinox.launcher.Main.run(Main.java:1415)`
Bei Buchung den Date Fehler und beispielsweise bei der Vermögensaufstellung den Typ Fehler.
Eclipse ist aber doch ein Megaprojekt und das nur um einen Fehler in den Eingangsdaten zu finden, hilfreich wäre wenn man über die Fehlermeldung etwas zum Datensatz bzw. dessen Rahmen etwas erfahren würde oder das man die Daten bis zu einem Zeitpunkt begrenzen könnte und alles danach oder etwas was kein Daum/Typ hat dann löschen kann, vor allem weil das Problem zumindest den Antworten anch schon mal vorkommen kann.
Das hatte ich als erste Aktion leider ohne Erfolg versucht, dann auch mit den Backups, etc., leider ebenfalls ohne Erfolg. Es scheint als ob es einen Satz gibt, dieser aber nicht identifiziert oder gelöscht werden kann.
Ich habe auch einmal angefolgen Konten/Depots zu löschen bzw. mit die Umstätze angesehen pro Konto/Depot angesehen, da funktioniert die Anzeige bei allen, nur bei den globalen Aktionen von Buchungen bis hin zu Wertpapieren kommt es zu den Fehlern.
Wertpapiere/Trades kann ich hingegen einsehen, da werden aber anscheinend nicht die oder alle Einzelsätze berücksichtigt, wobei ich über die Wertpapiere zumindest die Umsätze einsehen kann.
Es wirkt also als ob ich zwar einen angelegten Satz habe der zu den besagten Fehlern führt, bei den Details dann aber anscheinend aus welchem Grund auch immer nicht gezogen wird …
Die neue Fehlermeldung ist auch wieder was anderes:
Cannot invoke “…AccountTransaction$Type.ordinal()” because the return value of “…AccountTransaction.getType()” is null
Aus welchem Grund auch immer ist das Modell an einer Stelle korrupt.
Ich befürchte das ist extrem schwer ohne die eigentliche Datei zu debuggen.
Du musst ja nicht direkt die Eclipse Umgebung aufsetzen. Code runterladen. Claude Code starten und die XML Datei geben. Vielleicht kann er was finden?
Mit der nächsten Version gebe ich zumindest beim Sortieren die UUID aus. Die kann man dann im XML suchen. Auf welcher Platform bist Du? Dann könnte ich Dir eine Version vorab bauen.
Ich bin auf einem Mac mit 13.7.8 unterwegs, eine Testoption wäre wirklich prima. Ich will noch versuchen Konten, Depots, etc. Schritt für Schritt zu exportieren und in einer neuen Datei zu laden, ich hoffe damit zumindest die Ursache ein wenig genauer identifizieren zu lassen, denn irgendwie glaube ich immer noch das es an einem Verrechnungskonto liegen könnte.
Vielen Dank und viele Grüße
Anstelle von exportieren/importieren würde ich dir empfehlen eher ein Backup anzulegen und dann einfach in der Datei nach und nach Blöcke zu löschen, bis der Fehler nicht mehr Auftritt und es so einzuschränken. Das du beim Import/Export neue Fehler hinzufugst ist meiner Meinung nach wahrscheinlicher als beim Löschen in einer Kopie.
Schon klar, letzteres ist - sofern ich die Posts weiter oben verstanden habe - ja schon im Gange, da müsstest du aber warten, bis da etwas in die Applikation eingeht und im Rahmen eines neuen Releases bei dir landet. Für eine Lösung “innerhalb der nächsten fünf Minuten” bleibt daher nur selber debuggen oder es einen von uns machen zu lassen.
Dank Andreas gab es eine Lösung und in einer speziellen Version wurde mir die UUID der Buchung angezeigt, darüber konnte ich den relevanten Block an dem von mir erwarteten Termin löschen. Dabei habe ich alles um die gefundene Transaktion gelöscht, was in meinen Augen als unvollständig zu identifizieren war und seit dem scheint es wieder zu laufen.
Nachbuchungen muss ich noch machen und dann schaue ich nochmals ob mir etwas auffällt, aber mit der UUID konnt ich den Block in der XML letztendlich schnell und eindeutig - es waren zwei auffällige Blöcke - identifizieren.
Nochmals vielen Dank an Andreas und Eure hilfreichen Tips.