View Issue Details

IDProjectCategoryView StatusLast Update
0000717FakturamaDokumente (Documents)public2018-11-09 08:23
ReporterFunzi Assigned Torheydenr  
PrioritynormalSeveritytweakReproducibilityalways
Status resolvedResolutionfixed 
PlatformPCOSLinuxOS Versionandere (64bit)
Product Version2.0.3 
Fixed in Version2.0.4 
Summary0000717: NullPointerException in CreateOODocumentHandler
Description

Hallo,

Ich habe vor einigen Tagen Fakturama entdeckt und bin wirklich begeistert. Heute habe ich etwa 4 Stunden damit verbracht meine bestehende Rechnungsvorlage in LibreOffice nachzubilden. Nachdem mir das gelungen war und ich erste Angebote und Rechnungen nach Fakturama übernommen habe, erhalte ich aber eine merkwürdige Fehlermeldung.

Sowohl das PDF als auch das ODT wird korrekt erzeugt. Aber nach dem Bestätigen des "PDF wurde erfolgreich erzeugt" erscheint ein leeres Fenster mit der Überschrift "Interner Fehler" und dem Text:

Ursache: org.eclipse.e4.core.InjectionException: java.lang.NullPointerException

Im Logfile kann ich dazu das folgende sehen:

03:40:11.929 [com.sebulli.fakturama.log.LogbackAdapter@65a48602] ERROR org.eclipse.e4.ui.workbench - Internal Error
org.eclipse.e4.core.di.InjectionException: java.lang.NullPointerException
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:65) ~[na:na]
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305) ~[na:na]
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239) ~[na:na]
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132) ~[na:na]
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152) ~[na:na]
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494) ~[na:na]
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487) ~[na:na]
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210) ~[na:na]
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:196) ~[na:na]
at com.sebulli.fakturama.parts.CoolbarViewPart.lambda$0(CoolbarViewPart.java:364) ~[na:na]
at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:81) ~[na:na]
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249) ~[na:na]
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86) ~[na:na]
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5348) ~[na:na]
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1348) ~[na:na]
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4602) ~[na:na]
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4183) ~[na:na]
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150) ~[na:na]
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) ~[na:na]
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039) ~[na:na]
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) ~[na:na]
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162) ~[na:na]
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) ~[na:na]
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) ~[na:na]
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) ~[na:na]
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) ~[na:na]
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) ~[na:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653) ~[org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar:na]
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) ~[org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar:na]
at org.eclipse.equinox.launcher.Main.run(Main.java:1499) ~[org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar:na]
at org.eclipse.equinox.launcher.Main.main(Main.java:1472) ~[org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar:na]
Caused by: java.lang.NullPointerException: null
at com.sebulli.fakturama.handlers.CreateOODocumentHandler.addToTmpItems(CreateOODocumentHandler.java:361) ~[na:na]
at com.sebulli.fakturama.handlers.CreateOODocumentHandler.updateStockQuantity(CreateOODocumentHandler.java:318) ~[na:na]
at com.sebulli.fakturama.handlers.CreateOODocumentHandler.run(CreateOODocumentHandler.java:232) ~[na:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55) ~[na:na]
... 34 common frames omitted

Ich verwende übrigens Fedora Linux mit LibreOffice 5.3 sowie MySQL als Datenbank.

Liebe Grüße,
Christopher

Additional Information

Auf den ersten Blick würde ich

if (tmpDocItems.get(itemToAdd.getItemNumber().hashCode()) != null) {
        itemToAdd.setOriginQuantity(itemToAdd.getOriginQuantity()
                + tmpDocItems.get(itemToAdd.getItemNumber().hashCode()).getQuantity());
    }

durch

if (itemToAdd != null && tmpDocItems.get(itemToAdd.getItemNumber().hashCode()) != null) {
        itemToAdd.setOriginQuantity(itemToAdd.getOriginQuantity()
                + tmpDocItems.get(itemToAdd.getItemNumber().hashCode()).getQuantity());
    }

ersetzen, um den Fehler zu vermeiden. Aber das ist vermutlich eher Symptombekämpfung und keine Ursachenbehebung.

Leider kann ich Faktura nicht lokal bauen. Gibt es da eine Anleitung?

TagsNo tags attached.

Activities

Funzi

2018-10-21 04:48

reporter   ~0000808

Okay, ... so wie es aussieht liegt es daran, dass ein Posten keine Artikelnummer hat. Diese wird im Template zwar nicht verwendet, wenn ich dort überall etwas eintrage ist das Problem nicht mehr zu reproduzieren.

Also eventuell ist die o.g. Symptombekämpfung dann doch ein notwendiger Check, wenn Artikelnummer kein Pflichtfeld ist?

Funzi

2018-10-21 04:52

reporter   ~0000809

Leider passiert es nun auch wenn überall eine Artikelnummer eingetragen ist. Dann war das wohl ein Zufall. Für heute lasse ich es aber mal gut sein.

Funzi

2018-10-21 21:11

reporter   ~0000810

Nach Korrektur der Einstellungen, dass keine Artikelnummern verwendet werden sollen, funktioniert alles problemlos. Dass es im letzten Kommentar etwas erratisch wirkte lag eventuell an einem verzögerten Speichern (oder ein wenig Schlafmangel).

Ich kann das Issue nicht selbst schließen, kann aber sagen, dass es nicht mehr auftritt und somit hinfällig ist.

rheydenr

2018-11-08 13:11

administrator   ~0000813

Das problem sollte dennoch nicht auftreten. Infos zur Entwicklung gibt's hier: https://www.fakturama.info/creating-a-development-environment-with-oomph-setup.

rheydenr

2018-11-09 08:23

administrator   ~0000816

Die Verwendung der Hash-Funktion wurde nochmal geändert. Der Hash wird jetzt nicht über die Artikelnummer, sondern über das komplette item-Objekt gebildet. Damit entfällt diese Fehlerquelle, falls keine Artikelnummer vorhanden ist.

Issue History

Date Modified Username Field Change
2018-10-21 04:35 Funzi New Issue
2018-10-21 04:48 Funzi Note Added: 0000808
2018-10-21 04:52 Funzi Note Added: 0000809
2018-10-21 21:11 Funzi Note Added: 0000810
2018-11-08 13:10 rheydenr Assigned To => rheydenr
2018-11-08 13:10 rheydenr Status new => assigned
2018-11-08 13:11 rheydenr Note Added: 0000813
2018-11-09 08:23 rheydenr Status assigned => resolved
2018-11-09 08:23 rheydenr Resolution open => fixed
2018-11-09 08:23 rheydenr Fixed in Version => 2.0.4
2018-11-09 08:23 rheydenr Note Added: 0000816