Docs
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# Hinweise zum dokumentierten Programmstand
|
||||
|
||||
Stand: 1. November 2026. Diese Datei ergänzt die [Bedienungsanleitung](bedienungsanleitung.md) um Nachweise und Einschränkungen für deren Pflege.
|
||||
|
||||
## Grundlage und Umfang
|
||||
|
||||
Die Anleitung wurde aus den Razor-Seiten, Dialogen, deren Ereignisbehandlung und den zugehörigen Diensten abgeleitet. Die sichtbaren Dialoge wurden zusätzlich in der bereits laufenden Windows-Debug-Anwendung, Version 26.305, geöffnet und aufgenommen. Die Anleitung beschreibt das vorhandene Verhalten; es wurden keine Funktionen implementiert oder Fehler behoben.
|
||||
|
||||
Geprüfte Bereiche:
|
||||
|
||||
- [Startseite und Jahresauswahl](../src/Duempelkas.App/Pages/Dashboard.razor), einschließlich [Aktionen](../src/Duempelkas.App/Pages/Dashboard.razor.cs): Konten, Vereinsname, Gesamtsumme, Backup/Restore, PDF, Farbauswahl.
|
||||
- [Kontoansicht](../src/Duempelkas.App/Pages/Accounts/AccountDetail.razor) und [Aktionen](../src/Duempelkas.App/Pages/Accounts/AccountDetail.razor.cs): Kontoname, Summen, Jahresauswahl, Übertrag, Buchungsaktionen und Export.
|
||||
- [Buchungsdialog](../src/Duempelkas.App/Components/Dialogs/AddEntryDialog.razor) und [Verarbeitung](../src/Duempelkas.App/Components/Dialogs/AddEntryDialog.razor.cs).
|
||||
- [Umbuchungsdialog](../src/Duempelkas.App/Components/Dialogs/AddTransferDialog.razor) und [Verarbeitung](../src/Duempelkas.App/Components/Dialogs/AddTransferDialog.razor.cs).
|
||||
- [Weitere Dialoge](../src/Duempelkas.App/Components/Dialogs): Konto anlegen, Namen ändern, Übertrag ändern, Bestätigungen.
|
||||
- [Buchungszeilen](../src/Duempelkas.App/Components/Accounts/EntryRow.razor), [Liste und Sortierung](../src/Duempelkas.Infrastructure/Services/EntryService.cs), automatische Nummern, verbundene Umbuchungen, Löschen/Wiederherstellen.
|
||||
- [Kontenberechnung](../src/Duempelkas.Infrastructure/Services/AccountService.cs) und [Saldoberechnung](../src/Duempelkas.Infrastructure/Services/BalanceQueryService.cs).
|
||||
- [PDF-Erstellung](../src/Duempelkas.Infrastructure/Services/PdfStatementService.cs), [Dateidialoge und Öffnen](../src/Duempelkas.Infrastructure/Services/FileSaveService.cs).
|
||||
- [Sicherung und Wiederherstellung](../src/Duempelkas.Infrastructure/Services/BackupService.cs), [Namenseinstellung](../src/Duempelkas.Infrastructure/Services/SettingsService.cs), [Datenspeicher und Fenstergröße](../src/Duempelkas.Desktop/Program.cs).
|
||||
- [Einstellungen](../src/Duempelkas.App/Pages/Settings.razor), [Rahmen und Über-Dialog](../src/Duempelkas.App/Components/Layout/MainLayout.razor), [Routen einschließlich Nicht-gefunden-Ansicht](../src/Duempelkas.App/Components/Routes.razor).
|
||||
- [Darstellungsspeicherung](../src/Duempelkas.Desktop/wwwroot/index.html), einschließlich Systemvorgabe und Speicherung der manuellen Auswahl.
|
||||
|
||||
Die Nicht-gefunden-Ansicht zeigt lediglich „Seite nicht gefunden.“ Sie besitzt keine eigene Fachfunktion. Nicht eingebundene Hilfskomponenten und Dienstmethoden wurden nicht als erreichbare Benutzerfunktionen dargestellt. Insbesondere existiert zwar eine Dienstmethode zum Löschen ganzer Konten, aber kein entsprechender sichtbarer Bedienweg. Ebenso ist keine Jahresabschluss- oder Jahressperrfunktion in die dokumentierten Seiten eingebunden.
|
||||
|
||||
## Einschränkungen mit Auswirkung auf die Anleitung
|
||||
|
||||
### Backup und Restore verwenden einen abweichenden Datenpfad
|
||||
|
||||
`Program.cs` verbindet die Anwendung mit `%APPDATA%\Duempelkas\duempelkas.db`. `BackupService.DbPath` verweist dagegen auf `duempelkas.db` neben dem Prozessprogramm. Sicherung und Wiederherstellung können deshalb eine andere Datei verwenden oder beim Backup keine Datei finden. Dies ist ein aus dem Quellcode abgeleiteter Befund; eine Wiederherstellung wurde für die Dokumentation nicht ausgeführt.
|
||||
|
||||
Die Sicherung kopiert nur die Datenbankdatei. `settings.json` mit dem Vereinsnamen, `window.json` und die gespeicherte Farbauswahl sind nicht enthalten. Zudem wird beim Backup eine rohe Dateikopie verwendet; die Konsistenz einer Sicherung bei gleichzeitig aktiven Schreibvorgängen wurde hier nicht überprüft.
|
||||
|
||||
Die Startseite zeigt bei Backup nur Rückgaben an, die „fehlgeschlagen“ enthalten. „Keine Datenbankdatei gefunden.“, Abbruch und Erfolg erscheinen dort nicht als Meldung. Die Anleitung vermeidet deshalb die Zusage einer Erfolgsmeldung.
|
||||
|
||||
### Einzelkonto-PDF enthält gelöschte Zeilen ohne Kennzeichnung
|
||||
|
||||
`GenerateStatementAsync` übernimmt die Liste aus `GetEntriesAsync` und gibt jede Zeile aus. Diese Liste enthält auch `IsDeleted`-Einträge. Die Ausgabe kennzeichnet diese nicht als gelöscht, während `BalanceQueryService` sie für die Summen ausschließt. Die gemeinsame PDF filtert hingegen ausdrücklich `!e.IsDeleted`. Die Anleitung nennt diese Abweichung und empfiehlt für eine Übersicht ohne gelöschte Zeilen die gemeinsame PDF.
|
||||
|
||||
Die PDF-Inhalte und die Abläufe der Speicherdialoge sind anhand des Codes beschrieben. Für diese Dokumentationsarbeit wurde keine neue PDF exportiert; es gibt daher keinen Screenshot eines erzeugten PDF-Dokuments oder des PDF-öffnen-Dialogs.
|
||||
|
||||
### Übertrag wirkt über den gemeinsamen Anfangsbestand
|
||||
|
||||
`UpdateCarryoverAsync(accountId, amount, year)` berechnet den gemeinsamen `CarryoverBalance` aus dem gewünschten Jahresübertrag abzüglich der Bewegungen vor diesem Jahr. Der Wert wird nicht als isolierte Jahreskorrektur gespeichert. Die Anleitung weist deshalb auf mögliche Auswirkungen auf andere Jahre hin.
|
||||
|
||||
### Jahresfilter und Buchungsdatum
|
||||
|
||||
Startseite und Kontoansicht halten ihren Filter jeweils lokal mit `DateTime.Now.Year` als Ausgangswert. Die Jahresauswahl wird aus vorhandenen Buchungsdaten gebildet, auch aus gelöschten Einträgen. Die Eingabedialoge starten unabhängig davon mit `DateTime.Today`. Beim Bearbeiten bleibt die laufende Nummer erhalten, selbst wenn das Datum in ein anderes Jahr verschoben wird.
|
||||
|
||||
### Umbuchungsbearbeitung auf der empfangenden Seite
|
||||
|
||||
Der Dialog verwendet auch dort die Beschriftung „Zielkonto“. Tatsächlich wird `EditEntry.LinkedAccountId` angezeigt und bei Änderung die Gegenbuchung verschoben. Die Anleitung empfiehlt die Bearbeitung vom ursprünglichen Ausgangskonto und erläutert die Bedeutung dieses Feldes auf der anderen Seite.
|
||||
|
||||
### Einstellungsseite ohne sichtbaren Navigationslink
|
||||
|
||||
Die Route `/settings` enthält ein Feld für den Vereinsnamen, Speichern mit Rückmeldung und Zurück. Im aktuellen Layout gibt es keinen Link dorthin. Sie wurde aus dem Code beschrieben und ausdrücklich als nicht über die normale Desktop-Navigation erreichbar gekennzeichnet. Der reguläre Bedienweg für dieselbe Einstellung ist der Stift auf der Startseite. Es wurde kein Screenshot dieser Seite nachgestellt.
|
||||
|
||||
## Screenshots
|
||||
|
||||
Alle 16 JPEG-Dateien unter [screenshots](screenshots) stammen unverändert aus Fensteraufnahmen der laufenden Anwendung über den Computer-use-Skill. Sie zeigen das Anwendungsfenster ohne andere Desktop-Fenster. Die Aufnahmen wurden unmittelbar nach dem Speichern visuell geprüft und im jeweiligen Kapitel eingebunden.
|
||||
|
||||
- 01: Startseite mit Konten und Gesamtsumme.
|
||||
- 02–05: Konto anlegen, Vereinsname, Jahresauswahl, Restore-Rückfrage.
|
||||
- 06–10: Kontoansicht, neue Buchung, neue Umbuchung, Übertrag, Buchung bearbeiten.
|
||||
- 11–14: Löschrückfrage, Über-Dialog, Kontoname, Umbuchung bearbeiten.
|
||||
- 15–16: Gelöschte Buchungen und Rückfrage zum Wiederherstellen.
|
||||
|
||||
Die Aufnahmen verwenden die vorhandenen Namen und Buchungen. In den Bildern 15 und 16 sind die bereits zuvor angelegten und gelöschten Debug-Testbuchungen zu sehen; sie wurden für diese Dokumentationsarbeit nicht wiederhergestellt. Alle geöffneten Änderungs-, Lösch- und Wiederherstellungsdialoge wurden abgebrochen. Keine Buchungsdaten wurden für die Aufnahmen geändert. Die Anwendung blieb in der dunklen Darstellung.
|
||||
|
||||
Die Abbildungen sind Beispiele des aufgenommenen Datenstands, keine mitgelieferten Vorgabedaten. Nicht jeder identisch aufgebaute Bestätigungsdialog wird mehrfach abgebildet. Der allgemeine Windows-Dateidialog, die helle Darstellung, die leere Startseite und die Nicht-gefunden-Ansicht werden im Text beziehungsweise hier beschrieben und nicht durch nachgestellte Bilder ersetzt.
|
||||
Reference in New Issue
Block a user