Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rechnung erstellen von Versand trennen #418

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

lenilsas
Copy link

@lenilsas lenilsas commented Nov 1, 2024

Ich habe eine Neue View und DB Tabelle Rechnung erstellt. Hier können, ähnlich wie bei Sendenbescheinigung, automatisch Rechnungen aus den Sollbuchungen erstellt werden. Im Druck/Mail werden diese vorhandenen Rechnungen nur noch versendet und nicht erstellt. Dadurch kann jede Sollbuchung auch nur auf einer Rechnung sein.
Bildschirmfoto zu 2024-11-01 16-04-22
Bildschirmfoto zu 2024-11-01 16-17-04

Sollbuchungen über die eine Rechnung erstellt wurde können nicht mehr abgerechnet werden.
Beim Formular gibt es zwei neue Felder: rechnung_datum und rechnung_nummer
Bisher war die Rechnungsnummer ja über den Zähler, der bei jedem erstellten Formular hochgezählt wurde, der ist jetzt eigentlich nicht mehr nötig, stattdessen sollte man rechnung_nummer verwenden.

Bisher habe ich nicht umgesetzt:
-erstellen von Rechnungen über das Kontextmenu von Sollbuchungen
-den Export bei Rechnung und Mahnung Druck/Mail habe ich entfernt, diese müsste überarbeitet werden
-Das Sortieren der Rechnungsausgabe

@JohannMaierhofer
Copy link

JohannMaierhofer commented Nov 1, 2024

Ich bekomme bei Erstellen eine Exception weil Formular null ist.
Es sollte geprüft werden ob eines gesetzt ist.

Dann kann man das Kontextmenü im Rechnungen View mit der rechten Maus öffnen auch wenn keine Einträge existieren. Zumindest gleich nach öffnen des View solange man nicht einmal links geklickt hat. Das gibt dann eine Exception wenn man Anzeigen wählt.

Ich habe den Kommentar korrigiert da ich nicht genau geschaut hatte, dass es das Formular Feld ja gibt.

@JohannMaierhofer
Copy link

Und das "ohne" im Filter gehört groß geschrieben wie bei den anderen auch. Das hatte ich mal mit einem PR korrigiert.

@JohannMaierhofer
Copy link

Könntest du dir die AbrechnungslaufDeleteAction anschauen. Ich habe da vor einiger Zeit einige Checks eingebaut.
Das Löschen, löscht implizit auch vom Abrechnungslauf erzeugte Buchungen und Sollbuchungen.
Die Buchung verweist auf Spendenbescheinigungen. Darum darf man sie nicht löschen ohne auch die Spendenbescheinigung zu löschen. Ich frage das am GUI ab. Entweder zusammen löschen oder gar nicht.
Jetzt ist es dann auch so mit der Rechnung. Wenn also eine Sollbuchung des Abrechnungslauf eine Rechnung hat müsste man auch fragen ob sie mit gelöscht werden soll. Wenn nicht darf man den Abrechnungslauf nicht löschen.
Jetzt kann es sein, dass sogar beide Bedingungen eintreten.

@JohannMaierhofer
Copy link

Ich hatte erst oben im Kommentar geschrieben, dass die Eingabe des Formular fehlt. Später habe ich es dann gesehen.
Ich hätte nicht erwartet, dass es im Filter Bereich ist. Es wird ja nicht zu Filterung benutzt.
Ich hätte da einen eigenen Input unterhalb des Filter erwartet, etwa so wie bei der Spendenbescheinigung. Halt ohne Jahr und nur für das Formular.

@lenilsas
Copy link
Author

lenilsas commented Nov 1, 2024

Dann kann man das Kontextmenü im Rechnungen View mit der rechten Maus öffnen auch wenn keine Einträge existieren. Zumindest gleich nach öffnen des View solange man nicht einmal links geklickt hat. Das gibt dann eine Exception wenn man Anzeigen wählt.

Bei mir sind in dem Fall alle Einträge disabled und man kann nicht darauf klicken

@lenilsas
Copy link
Author

lenilsas commented Nov 1, 2024

Kommentare eingearbeitet

@lenilsas
Copy link
Author

lenilsas commented Nov 1, 2024

Bisher verwende ich alle Kontaktdaten aus der Mitgliedstabelle. Für mich ist die Frage, ob ich sie nicht alle auch in der Rechnung hinterlegen sollte damit sie erhalten beleiben auch wenn das Mitglied geändert wird. So ist es ja auch bei Spendenbescheinigungen und Lastschriften. Was meinst du dazu?

@lenilsas lenilsas linked an issue Nov 1, 2024 that may be closed by this pull request
@JohannMaierhofer
Copy link

Bisher verwende ich alle Kontaktdaten aus der Mitgliedstabelle. Für mich ist die Frage, ob ich sie nicht alle auch in der Rechnung hinterlegen sollte damit sie erhalten beleiben auch wenn das Mitglied geändert wird. So ist es ja auch bei Spendenbescheinigungen und Lastschriften. Was meinst du dazu?

Ja, das wäre wahrscheinlich besser. So bleibt die Rechnung Dokumenten echt. Jetzt könnte beim neu ausdrucken etwas anderes als im Original drinnen stehen.

@JohannMaierhofer
Copy link

JohannMaierhofer commented Nov 2, 2024

Dann kann man das Kontextmenü im Rechnungen View mit der rechten Maus öffnen auch wenn keine Einträge existieren. Zumindest gleich nach öffnen des View solange man nicht einmal links geklickt hat. Das gibt dann eine Exception wenn man Anzeigen wählt.

Bei mir sind in dem Fall alle Einträge disabled und man kann nicht darauf klicken

Das liegt wohl an meinem System. Ich verwende Linux mit KDE. Seit dem Wechsel zu Fedora mit Wayland statt X11 habe ich auch öfter das Problem, dass ich mit der rechten Maustaste einen Tabelleneintrag selektierte und auf bearbeiten klicke. Dann kommt die Meldung, dass nichts selektiert ist obwohl der Eintrag optisch selektiert erscheint.
Das muss wohl ein Problem mit Wayland sein oder die Umsetzung von GTK auf Qt6.
Jedenfalls bin ich dann froh, dass zumindest die Meldung erscheint und nichts böses passiert.

Es hilft dann oft wenn ich erst mit der linken Maustaste den Eintrag selektiere und dann mit der rechten Maustaste das Menü öffne.

@JohannMaierhofer
Copy link

Ich bekomme eine Exception beim Erstellen. Die Rechnung Tabelle in der DB hat kein Formular und Betrag. In Update 0449 wird nur Mitglied und Datum erzeugt.

[Sat Nov 02 09:14:09 CET 2024][ERROR][main][de.jost_net.JVerein.gui.control.RechnungControl$5.handleAction] unable to prepare insert sql statement; nested exception is:
org.h2.jdbc.JdbcSQLSyntaxErrorException: Feld "FORMULAR" nicht gefunden
Column "FORMULAR" not found; SQL statement:
insert into RECHNUNG (DATUM,MITGLIED,FORMULAR,BETRAG) values (?,?,?,?) [42122-199]

@dippeal dippeal added blocked Depends on another feature or request enhancement New feature or request and removed blocked Depends on another feature or request labels Nov 2, 2024
@lenilsas
Copy link
Author

lenilsas commented Nov 4, 2024

Jetzt werden viele Daten aus dem Mitglied in die Rechnung übernommen, so dass diese erhalten bleibt, auch wenn sich das Mitglied ändert. Ganz geht das jedoch nicht, da auch Beitragsgruppen, Eigenschaften und Zusatzfelder in der Rechnung stehen können. Auch den Kontoinhaber mit allen Daten habe ich nicht kopiert.
Der Nachteil dabei ist, dass in bestehenden Rechnungen die Felder von "mitglied_...." zu "rechnung_..." geändert werden müssten. Das könnte man mit einem DBUpdate machen, da bin ich jedoch nicht sicher ob wir das wirklich machen sollen.

@JohannMaierhofer
Copy link

In #408 habe ich die Menüs etwas angepasst. Dein Menü passt jetzt nicht ganz dazu. Möchtest du das analog strukturieren?

@JohannMaierhofer
Copy link

Wenn man im Rechnungen View im Filter das Ohne Abbucher auswählt kommt es zu einer Exception.
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Mehrdeutiger Feldname "ID"
Ambiguous column name "ID"; SQL statement:
select RECHNUNG.* from RECHNUNG, mitglied where mitglied.id = rechnung.mitglied and mitglied.zahlungsweg <> ? and id in (1) [90059-199]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:573)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
at org.h2.message.DbException.get(DbException.java:205)
at org.h2.message.DbException.get(DbException.java:181)

@JohannMaierhofer
Copy link

JohannMaierhofer commented Nov 11, 2024

Wenn man im Sollbuchungen View auf Export klickt kommt es zu einer Fehlermeldung.
Hier wird folgendes aufgerufen: new MitgliedskontoExportAction(EXPORT_TYP.MITGLIEDSKONTO, null)

Die Fehlermeldung ist dann:
"Dieser Export wurde aus dem falschen Context aufgerufen!"

Das liegt daran, dass der Context ein MitgliedskontoControl ist und kein RechnungControl.

@lenilsas
Copy link
Author

Menü angepasst
Fehler behoben

@JohannMaierhofer
Copy link

Ich mache gerade etwas für #443.
Bei den Umbenennungen wollte ich auch die View Titel an die Namen im Navigationsbaum anpassen. Also bei den Mail und Druck Views für Rechnungen und Mahnungen auch die Titel entsprechend in Mehrzahl.

Da du die Views umbenannt hast gibt es wahrscheinlich Merge Konflikte. Ich würde darum bei den beuden nichts ändern und dafü könntest du die Titel mit ändern.

Auch bei dem neuen Rechnungen View würde ich dann im Titel Rechnungen vorschlagen.

@lenilsas
Copy link
Author

habe ich umbenannt

@lenilsas
Copy link
Author

Ich habe den Fehlertext korrigiert

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rechnung erstellen von Versand trennen
3 participants