openjverein / jverein

Open JVerein - Open Source Vereinsverwaltung
https://openjverein.github.io
GNU General Public License v3.0
44 stars 17 forks source link

Buchungsart übernehmen #465

Closed JohannMaierhofer closed 1 week ago

JohannMaierhofer commented 1 week ago

Dies implementiert #462. Es werden bei der Zuweisung einer Sollbuchung zur Buchung automatisch die Buchungsart und Buchungsaklasse in der Buchung gesetzt wenn sie noch null sind.

Ich habe die Änderung für den Sollbuchung Zuordnung Dialog (Aufruf aus dem Buchung Menü) implementiert und für die automatische Zuordnung.

Die automatische Zuordnung konnte ich aber nicht testen. In der Entwicklungsumgebung kommt es beim Zuordnen Button im zweiten Dialog zur Meldung: "Es wird bereits eine Hintergrund-Aufgabe ausgeführt". Dies liegt daran, dass der BuchungenSollbuchungZuordnungVorschauDialog in der Task des BuchungenSollbuchungZuordnungDialog aufgerufen wird. Beim Drücken des Buttons wird dann die zweite Hintergrund Task gestartet was zum Fehler führt.

Das ganze passiert aber auch auf dem Main Branch ohne meine Änderung. Warum das außerhalb von Eclipse in den Standard Produktionen nicht auftritt weiß ich nicht. Evtl. ist da der BuchungenSollbuchungZuordnungVorschauDialog schneller geschlossen und die erste Task beendet bevor die zweite los läuft.

Schön ist aber eine solche Race Condition nicht. Kann man irgendwie den BuchungenSollbuchungZuordnungVorschauDialog aus der ersten Task starten ohne auf dessen Ende zu warten?

JohannMaierhofer commented 1 week ago

Ich könnte aber auch die zweite Task entfernen

JohannMaierhofer commented 1 week ago

Habe die zweite Task entfernt. Jetzt läuft es auch in Eclipse durch.

Dann hat noch ein Check auf null gefehlt.

JohannMaierhofer commented 1 week ago

Ich habe jetzt die Methoden für Buchungsart bei Mitgliedkonto und Buchung korrigiert.

Werden die Ids benutzt dann steht das auch im getter und setter. Mich hat das immer verwirrt. Damit muss man bei den Checks und Zuweisungen nur die Ids benutzen und keine Objekte erzeugen.

JohannMaierhofer commented 1 week ago

Bei mir wird über das Kontextmenü keine Zuordnung der Buchungsart vorgenommen.

Also bei mir schon. Es wird allerdings nur übernommen wenn noch keine gesetzt ist. Kannst du mal schauen ob sie wirklich noch nicht gesetzt ist. Und dann muss natürlich in der Sollbuchung die zugewiesen wird eine Buchungsart gesetzt sein.

mbmueller commented 1 week ago

Bei mir wird über das Kontextmenü keine Zuordnung der Buchungsart vorgenommen.

Also bei mir schon. Es wird allerdings nur übernommen wenn noch keine gesetzt ist. Kannst du mal schauen ob sie wirklich noch nicht gesetzt ist. Und dann muss natürlich in der Sollbuchung die zugewiesen wird eine Buchungsart gesetzt sein.

Habe jetzt Buchung und Sollbuchung nochmal komplett neu angelegt und jetzt geht es. Auch bei anderen Buchungen geht es, scheint dann wohl ein Bug bei genau dieser Kombination gewesen zu sein. Kann ich aber jetzt auch nicht mehr reproduzieren.

JohannMaierhofer commented 1 week ago

Bei mir wird über das Kontextmenü keine Zuordnung der Buchungsart vorgenommen.

Also bei mir schon. Es wird allerdings nur übernommen wenn noch keine gesetzt ist. Kannst du mal schauen ob sie wirklich noch nicht gesetzt ist. Und dann muss natürlich in der Sollbuchung die zugewiesen wird eine Buchungsart gesetzt sein.

Habe jetzt Buchung und Sollbuchung nochmal komplett neu angelegt und jetzt geht es. Auch bei anderen Buchungen geht es, scheint dann wohl ein Bug bei genau dieser Kombination gewesen zu sein. Kann ich aber jetzt auch nicht mehr reproduzieren.

Ich sehe auch manchmal seltsame Dinge. Das liegt wahrscheinlich daran, dass Eclipse oft beim Umschalten von Repositories oder Branches nicht alle Fileänderungen mitbekommt oder der Compiler meint, dass er eine Datei nicht übersetzen muss. Ich mache dann auch mal Neustarts und Project Clean.