schachigel / dkv2 Goto Github PK
View Code? Open in Web Editor NEWDirektkredit Verwaltung für MHS Projekte
License: GNU General Public License v3.0
Direktkredit Verwaltung für MHS Projekte
License: GNU General Public License v3.0
I found the following problems:
a) When meta data was already set by using the select visible column feature and the data base is then updated to contain the new creditor fields the meta info is too short. In this case the selection info is not handled right (the read QBitArray of selected columns is not handled).
b) in creditor list the column index of telephone and eMail columns are mixed up.
Ein kleinerer Bug:
Bei Direktkrediten über 10.000 mit zwei Nachkommastellen (also exakten Centbeträgen):
Wenn ich den Geldeingang verbuche, wird auf die Zehnerstelle gerunden und dann bemängelt, dass Kredithöhe und Geld sich nicht decken. Es wäre daher schön, wenn beim Geldeingang bereits automatisch auf die zweite Nachkommastelle gerundet wird (passiert bereits bei direktkrediten unter 10.000)
Einbehaltener Zins bei Verträgen, die die Zinsen zwar nicht auszahlen, aber auch nicht verzinsen (Zinsmodus "fest") soll ausbezahlt werden können, ohne dass sich die Höhe der Einlage verändert
Zu gängigen Aktionen sollte das Programm Briefe als PDF Dateien erzeugen können
Aktionen:
Vor der Erzeugung des Briefes sollte die Möglichkeit der Individualisierung bestehen (PDF Preview, Text Editor, Liste der Mustache Variablen).
Optional: Speicherung von Anrede und anderer Text Teile pro Kund*in.
Was ist der beste Weg, bereits sei mehreren Jahren laufende Verträge hinzuzufügen?
Wenn ich einen Vertrag mit Anfangsdatum 1.1.12 eingebe, wirkt es, als müse ich erstmal eine Jahresendabrechnung der letzten 10 Jahre durchführen. Gibt es eine Möglichkeit, den Vertrag auf 1.1.12 zu datieren und direkt den heutigen Wert einzugeben? Oder ist es in dem Fall bessser einfach 1.1.22 als Vertragsdatum einzugeben?
Vielen Dank für die tolle Software!
(issue #107) ... Außerdem scheinen auch in der Übersicht der Anlagen beendete Verträge nicht berücksichtigt zu werden. Dies scheint mir Gefahrenpotential zur Verletzung der 20 Anteile / 100.000 pro Jahr Regelungen zu bieten. (durch das Kündigen eines Vertrages in einem 20er Zinssatz wird ja kein neuer Anteil frei;
Wenn der aber in der Übersicht nicht angezeigt wird, sieht es so aus als ob ein neuer angenommen werden kann und somit liefe man Gefahr mehr als 20 anzunehmen; genauso bei der 100.000er Regel; falls ein Kredit in einem Sonderfall kürzer als ein Jahr da ist, würde er in der Aufsummierung nach dem Beenden nicht mehr auftauchen und es könnte passieren, dass die 100.000 überschritten werden, da das Programm eine niedrigere Summe anzeigt)
Ist das gewolltes Verhalten?
Mega cooles Tool! Wir überlegen auch mit unserer DK-Verwaltung von Excel umzusteigen. Was uns etwas verwundert hat, war wie die Zinssätze getrackt werden. Die mit max. 20 Anteilen passen soweit, aber bei denen die unter die Regelung "max. 100.000€ in 12 Monaten fallen" verstehen wir nicht ganz wie die getrackt werden sollen. Das Tool bietet ja nur die Möglichkeit die mit einem festen Zeitrahmen anzulegen. Wir werben aber kontinuierlich DKs ein, bis das halt voll ist, aber der Zinssatz kann durchaus länger als ein Jahr offen sein.
Hat es einen bestimmten Grund, dass das nur über einen fixen Zeitraum getrackt wird und nicht über die letzten 12 Monate immer? Siehst du eine Möglichkeit das anzupassen? (Ich hab C++ und Qt Erfahrung, kann mir das also auch selbst anschauen, wenn du mir vielleicht nen Tipp gibst wo im Code das zu finden ist und mir nen eigenen Fork erstellen, wenn das unerwünschte Funktionalität in dem Tool hier ist)
Vielen Dank!
Hallo,
wir haben in letzter Zeit angefangen, vermehrt "Anmerkungen" bei Verträgen zu vergeben, teils mit etwas längerem Text. Funktioniert wunderbar! Allerdings "stört" das die Listenansicht der Verträge - entweder ist die Anmerkungsspalte sehr breit, oder wenn man sie kleiner zieht wird die Zeile höher weil der Text umbricht. Wir können die Spalte ausblenden, dann ist die Listenansicht wieder "normal" - allerdings ist dann die Anmerkung komplett unsichbar, was für die Alltagsarbeit auch wieder schwierig ist (weil dann eben die Anmerkung nicht berücksichtigt wird gegebenfalls).
Daher ein Feature Request:
Viele Grüße! Franz
Seems as if code is missing.
Solange es keine weitere Buchungen gibt sollte man das Datum ändern können.
ggf. sollte das Datum auch "gelöscht" werden können, damit der Vertrag dann rückstandslos gelöscht wird.
Hi,
ich hätte einen Feature Request: Kreditgeber aus einer CSV-Datei importieren.
Wie sicher viele andere auch haben wir nicht mit DKV2 gestartet, sondern mit einer Excel-Liste. Da sind unsere ca 100 Kreditgeber*innen drin. Die würden wir nun bald von Hand übertragen. Natürlich wäre es schöner, das aus einer CSV zu importieren. Könnte gerne auch sehr basic sein, d.h. z.B. vorgegebene Feldnamen, die irgendwo dokumentiert sind.
Ist das mit wenig Aufwand möglich?
Alternativ: Ich könnte mir auch vorstellen, ein (erstmal externes) Script dafür zu schreiben, das direkt in die sqlite-Datenbank schreibt. Wenn ich es richtig sehe, könnte ich in die Tabellen Kreditoren
und Vertraege
schreiben, plus evtl noch die Initialbuchung (Geldeingang) in Buchungen
. Sollte das funktionieren, oder hat DKV2 da noch andere gespeicherte Sachen oder Referenzen oder ähnliches?
Danke!
Franz
Es ist manchmal nützlich DKV2 mehrfach laufen zu lassen, etwa um Daten von Verein und GmbH nebeneinander sehen zu können.
Dazu müsste allerdings das LOG File bereits beim Start anders als dkv2.log heißen
This is the first message I get after opening the App on Mac for the first time.
It says:
»The last opened file /Users/[user]/Documents/Dkv2.dkdb could not be found«
Which is not correct – there can not be a »last opened file«, because I never had this program on my computer.
Verträge anlegen aus Geldanlagen:
Bei der Auswahl einer Anlage sollte folgende Info angezeigt werden:
Status:
Similar to #99, for which a fix is in my local branch https://github.com/quazgar/DKV2/tree/fix-docker-build
Yet, a few objects later, building dkdbcopy.o fails because it cannot find an empty constructor for dbForeignKey:
./dist_linux_docker.sh
...
86_64-linux-gnu-g++ -c -include DKV2 -pipe -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_USE_QSTRINGBUILDER -DGIT_COMMIT=\"c8df4c4\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I../DKV2 -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o dkdbcopy.o ../DKV2/dkdbcopy.cpp
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h:51,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QDebug:1,
from ../DKV2/pch.h:10:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h: In instantiation of 'void QVector<T>::reallocData(int, int, QArrayData::AllocationOptions) [with T = dbForeignKey; QArrayData::AllocationOptions = QFlags<QArrayData::AllocationOption>]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:682:9: required from 'void QVector<T>::append(const T&) [with T = dbForeignKey]'
../DKV2/dbtable.cpp:26:26: required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:607:33: error: no matching function for call to 'dbForeignKey::dbForeignKey()'
607 | new (dst++) T();
| ^~~~~~~~~~~~~~~
In file included from ../DKV2/dbtable.h:4,
from ../DKV2/helpersql.h:4,
from ../DKV2/dbtable.cpp:3:
../DKV2/dbfield.h:56:5: note: candidate: 'dbForeignKey::dbForeignKey(const dbfield&, const QString&, const QString&, ODOU_Action, ODOU_Action)'
56 | dbForeignKey(const dbfield& local, const QString& parentTable, const QString& parentField, ODOU_Action delAction =NO_ACTION, ODOU_Action updAction =NO_ACTION)
| ^~~~~~~~~~~~
../DKV2/dbfield.h:56:5: note: candidate expects 5 arguments, 0 provided
../DKV2/dbfield.h:47:5: note: candidate: 'dbForeignKey::dbForeignKey(const dbfield&, const dbfield&, ODOU_Action, ODOU_Action)'
47 | dbForeignKey(const dbfield& local, const dbfield& parent, ODOU_Action delAction =NO_ACTION, ODOU_Action updAction =NO_ACTION)
| ^~~~~~~~~~~~
../DKV2/dbfield.h:47:5: note: candidate expects 4 arguments, 0 provided
../DKV2/dbfield.h:43:8: note: candidate: 'dbForeignKey::dbForeignKey(const dbForeignKey&)'
43 | struct dbForeignKey
| ^~~~~~~~~~~~
../DKV2/dbfield.h:43:8: note: candidate expects 1 argument, 0 provided
../DKV2/dbfield.h:43:8: note: candidate: 'dbForeignKey::dbForeignKey(dbForeignKey&&)'
../DKV2/dbfield.h:43:8: note: candidate expects 1 argument, 0 provided
make: *** [Makefile:878: dbtable.o] Error 1
I made sure to work with a clean directory (removed build-dist-linux
from previous builds) before running the build command.
Aus dem heutigen Call dieser feature request:
Geldanlage
zugeordnet. Eine Geldanlage
hat einen Zinssatz (der den Zinssatz für den DK-Vertrag bestimmt). Eine Geldanlage hat neben dem Zinssatz eine Art/Kategorie, entweder 100.000er
oder 20er
(plus vielleicht noch andere
oder so).Dann die relevante Auswertung je Geldanlage:
Für 100.000er
:
Für 20er
:
20er
-Vertrag endet, darf der Counter NICHT reduziert werden. Sondern er darf nur zurück auf 0 gesetzt werden, wenn ALLE Verträge in der Geldanlage beendet sind.Hilfreiche Extra-Features dazu:
100.00er
: Prognose. Wie sieht der Status der Geldanlage an zukünftigem Tag X aus, wenn sich durch einbehaltene Zinsen die Kreditsumme erhöhen? --> Frühwarnsystem. Evtl die Warnung beim anlegen eines neues Kredites so steuern, dass sie angezeigt wird, wenn mit dem neuen Direktkredit das Ergebnis der Prognose für in einem Jahr die 100.000-Euro-Grenze überschreiten würde100.00er
: Audit. Für beliebigen Zeitraum/-punkt prüfen, ob die 100.000er-Grenze für alle 100.000er
-Geldanlagen eingehalten wurde.Hi,
ich habe heute die Funktion "Anlagen" ausprobiert. Vielen Dank für die Implementierung!
Wir haben diverse Verträge der Variante "100.000er". Hier ist noch ein Mismatch zwischen der rechtlichen Lage und der Darstellung in DKV2:
Reproducable: yes
Branch: main
Start program
Go to Verträge / Listen drucken / Vertragstabelle (gefiltert)
Bämm!
Maybe a necessary data structure is not filled as the list of contracts is not displayed.
Kleinigkeit und überhaupt nicht wichtig, aber es ist mir gerade aufgefallen und ich dachte, ich nehme es als Anlass, hier mal in Kontakt zu kommen:
Die Buttons der Fensterdialoge sind auf englisch und ich frage mich, ob es an der Software oder meinem Betriebssystem liegt?
Ich nutze das AppImage unter NixOS, meine locale ist deutsch:
[nix-shell:~/Downloads]$ locale
LANG=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_MESSAGES="de_DE.utf8"
LC_PAPER="de_DE.utf8"
LC_NAME="de_DE.utf8"
LC_ADDRESS="de_DE.utf8"
LC_TELEPHONE="de_DE.utf8"
LC_MEASUREMENT="de_DE.utf8"
LC_IDENTIFICATION="de_DE.utf8"
LC_ALL=
Hi,
when trying to build DKV2 locally using dist_linux_docker.sh
, I get the following errors. I don't know enough C++ to make sense of them.
./dist_linux_docker.sh
Sending build context to Docker daemon 132.2MB
Step 1/13 : FROM ubuntu:20.04
---> f32fe8df6a4c
Step 2/13 : ENV TZ=Europe/Berlin
---> Using cache
---> 9d8d7c9c7c71
Step 3/13 : RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
---> Using cache
---> 5ca7d1a044a2
Step 4/13 : RUN apt update && apt install --assume-yes wget fuse binutils libglib2.0-0 software-properties-common git curl qt5-default qt5-qmake make g++
---> Using cache
---> 38e7439ea4ab
Step 5/13 : RUN apt-get update && apt-get install -y icnsutils libxcb-xfixes0 libxcb-icccm4-dev libxcb-icccm4 freetds-dev libsybdb5 libsybdb5 libxcb-image0 libxcb-image0-dev libgl1-mesa-dev libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-keysyms1-dev libxcb-render-util0 libxcb-xinerama0 libzstd-dev libcurl4-openssl-dev
---> Using cache
---> e4fe8f421157
Step 6/13 : RUN wget https://github.com/probonopd/linuxdeployqt/releases/download/7/linuxdeployqt-7-x86_64.AppImage --quiet --output-document=/usr/bin/linuxdeployqt && chmod +x /usr/bin/linuxdeployqt
---> Using cache
---> de98c6fdc50e
Step 7/13 : RUN apt-get install -y libfontconfig1 libegl1-mesa libcups2 libodbc1 libpq5 libgtk-3-0
---> Using cache
---> bfc0c98296ca
Step 8/13 : ENV QTDIR /usr/lib/x86_64-linux-gnu/qt5
---> Using cache
---> abebf3a87e7c
Step 9/13 : ENV QML_IMPORT_PATH="/qt/qml:/app/DKV2"
---> Using cache
---> 23e79f9235b7
Step 10/13 : ENV QML2_IMPORT_PATH="/qt/qml:/app/DKV2"
---> Using cache
---> 6903661a92dc
Step 11/13 : RUN git config --global --add safe.directory /app
---> Using cache
---> 6176e18acb7f
Step 12/13 : WORKDIR /app
---> Using cache
---> 6fb41c6abd7c
Step 13/13 : CMD /app/dist_linux.sh
---> Using cache
---> 7c07fac97722
Successfully built 7c07fac97722
Successfully tagged dkv2-build:latest
Building with QTDIR: `/usr/lib/x86_64-linux-gnu/qt5`
/app/build-dist-linux /app
x86_64-linux-gnu-g++ -c -include DKV2 -pipe -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_USE_QSTRINGBUILDER -DGIT_COMMIT=\"ad13090\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I../DKV2 -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o contracttablemodel.o ../DKV2/contracttablemodel.cpp
x86_64-linux-gnu-g++ -c -include DKV2 -pipe -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_USE_QSTRINGBUILDER -DGIT_COMMIT=\"ad13090\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I../DKV2 -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o dbtable.o ../DKV2/dbtable.cpp
x86_64-linux-gnu-g++ -c -include DKV2 -pipe -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_USE_QSTRINGBUILDER -DGIT_COMMIT=\"ad13090\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I../DKV2 -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o dlgaskdate.o ../DKV2/dlgaskdate.cpp
x86_64-linux-gnu-g++ -c -include DKV2 -pipe -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_USE_QSTRINGBUILDER -DGIT_COMMIT=\"ad13090\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I../DKV2 -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o dlgchangecontracttermination.o ../DKV2/dlgchangecontracttermination.cpp
x86_64-linux-gnu-g++ -c -include DKV2 -pipe -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_USE_QSTRINGBUILDER -DGIT_COMMIT=\"ad13090\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I../DKV2 -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o dlgdisplaycolumns.o ../DKV2/dlgdisplaycolumns.cpp
x86_64-linux-gnu-g++ -c -include DKV2 -pipe -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_USE_QSTRINGBUILDER -DGIT_COMMIT=\"ad13090\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I../DKV2 -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o dlginterestletters.o ../DKV2/dlginterestletters.cpp
../DKV2/contracttablemodel.cpp: In function 'QDate {anonymous}::dateFromNP(const QString&)':
../DKV2/contracttablemodel.cpp:17:48: error: 'SkipEmptyParts' is not a member of 'Qt'
17 | QStringList lines =s.split(qsl("\xA"), Qt::SkipEmptyParts);
| ^~~~~~~~~~~~~~
make: *** [Makefile:804: contracttablemodel.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h:51,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QDebug:1,
from ../DKV2/pch.h:10:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h: In instantiation of 'void QVector<T>::reallocData(int, int, QArrayData::AllocationOptions) [with T = dbForeignKey; QArrayData::AllocationOptions = QFlags<QArrayData::AllocationOption>]':
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:682:9: required from 'void QVector<T>::append(const T&) [with T = dbForeignKey]'
../DKV2/dbtable.cpp:26:26: required from here
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:607:33: error: no matching function for call to 'dbForeignKey::dbForeignKey()'
607 | new (dst++) T();
| ^~~~~~~~~~~~~~~
In file included from ../DKV2/dbtable.h:4,
from ../DKV2/helpersql.h:4,
from ../DKV2/dbtable.cpp:3:
../DKV2/dbfield.h:56:5: note: candidate: 'dbForeignKey::dbForeignKey(const dbfield&, const QString&, const QString&, ODOU_Action, ODOU_Action)'
56 | dbForeignKey(const dbfield& local, const QString& parentTable, const QString& parentField, ODOU_Action delAction =NO_ACTION, ODOU_Action updAction =NO_ACTION)
| ^~~~~~~~~~~~
../DKV2/dbfield.h:56:5: note: candidate expects 5 arguments, 0 provided
../DKV2/dbfield.h:47:5: note: candidate: 'dbForeignKey::dbForeignKey(const dbfield&, const dbfield&, ODOU_Action, ODOU_Action)'
47 | dbForeignKey(const dbfield& local, const dbfield& parent, ODOU_Action delAction =NO_ACTION, ODOU_Action updAction =NO_ACTION)
| ^~~~~~~~~~~~
../DKV2/dbfield.h:47:5: note: candidate expects 4 arguments, 0 provided
../DKV2/dbfield.h:43:8: note: candidate: 'dbForeignKey::dbForeignKey(const dbForeignKey&)'
43 | struct dbForeignKey
| ^~~~~~~~~~~~
../DKV2/dbfield.h:43:8: note: candidate expects 1 argument, 0 provided
../DKV2/dbfield.h:43:8: note: candidate: 'dbForeignKey::dbForeignKey(dbForeignKey&&)'
../DKV2/dbfield.h:43:8: note: candidate expects 1 argument, 0 provided
make: *** [Makefile:859: dbtable.o] Error 1
The interest calculation method screen says DKV2 supports 30/360 and act/act.
Here are two paragraphs that could be added to each option in order to give users a little bit more of a clue what they are doing, if they are just starting with the whole direct loans topic.
Die Deutsche Zinsmethode sieht vor, dass jeder Monat mit 30 Zinstagen und ein gesamtes Jahr mit 360 Zinstagen gerechnet wird.
Die taggenaue Zinsmethode sieht vor, dass sowohl die Anzahl der Zinstage also auch die Länge des Basisjahres immer kalendergenau bestimmt wird.
In contract::finalize() the interest calculation is wrong for contracts with interestModel::fixed .
This is due to the fact that the interestModel is overwritten with interestModel::reinvest in the function contract::finalize().
Hallo,
folgende Situation:
Vertrag mit Zinsmodus "auszahlend", eröffnet am z.B. 1.1.2021 mit 1% Zins.
Erste Einzahlung am 1.1.2021 über 1000 Euro.
Zweite Einzahlung (Aufstockung) am 1.7.2021 über 2000 Euro.
Jetzt rechnet DKV2 zeitgleich zur zweiten Einzahlung die bis dahin angefallenen Zinsen an (also hier: 1000 * 1% * halbes Jahr = 5 Euro).
Dann wird bei der Jahresabrechnung der verbleibende Zins als Jahreszins gerechnet und als Auszahlung angegeben. Also hier 3000 EUR * 1% * 6 Monate = 15 Euro.
Es wird dann eine Auszahlung von 15 Euro verbucht (bzw 14,94 weil halbes Jahr minus 1 Tag). Der Gesamtwert des Vertrages steht dann auf 3005 Euro.
Nach unserem Verständnis sollten bei auszahlenden Verträgen die 5 Euro, die im ersten halben Jahr vor der Aufstockung an Zinsen anfielen, ebenfalls ausgezahlt werden. Also Auszahlung in diesem Fall 20 Euro, so dass die Gesamtsumme des Vertrages nach dem Jahreswechsel bei 3000 und nicht bei 3005 steht.
Ist das nachvollziehbar? Sehe ich das richtig, dass es im Moment keine Möglichkeit gibt, dass DKV2 das so rechnet?
Danke und schönen Gruß,
Franz
Es wäre toll wenn der Zinsmodus (Zinsen angespart und verzinst / Zinsen angespart aber nicht verzinst) in den jährlichen Zinsbriefen mit genannt wird.
Vor allem um unnötige Nachfragen zu vermeiden (so manche:r DK-Gebende hat ein Jahr später vergessen welche Zinsoption ausgewählt wurde).
Anbieten würde sich der Ort an dem im Template schon die Ausgabe von {{#zzAusgesezt}}(ausgesetzt bis Baugenehmigung){{/zzAusgesezt}}
vorgesehen ist (im Screnshot rot umrandet).
(hat natürlich keine hohe Priorität, aber falls wer sowieso etwas an den Templates macht :)
Es wäre schön wenn für diese Software allen klar ist unter welcher Lizenz diese genutzt werden darf.
Toll wäre natürliche eine Open Source Lizenz :)
wird ein Kommentar zu einem Kreditor erfolgreich angelegt erscheint trotzdem diese Fehlermeldung im LOG
... schlägt fehl, wenn die Anmerkung Zeilenumbrüche enthalten. Die umbrochenen Zeilen erscheinen als Zeilen im csv.
Verträge -> Liste
Verträge -> Listen drucken -> Vertragstabelle (gefiltert)
Wenn eine neue DB angelegt wird und man danach die zuvor geladene DB öffnet, fehlen alle views
Hi,
wir hatten jetzt schon mehrfach die Anfrage, bei bestehenden Verträgen den Zinsmodus von auszahlend auf ansparend zu wechseln. Da das für uns auch eher vorteilhaft ist sind wir dem immer gerne nachgekommen. Ich habe dazu von Hand die sqlite-Datenbank bearbeitet (mit SQLitebrowser) und beim entsprechenden Vertrag "thesaurierend" von 0 auf 1 gestellt. Nach erster Prüfung scheint das korrekt zu funktionieren.
Denkst du, dass das irgendwie problematisch ist oder Logiken von DKV2 durcheinander bringt?
Wenn nein - wäre das hier ein Feature Request, das direkt in DKV2 zu ermöglichen.
Schöne Grüße Franz
Hi,
thanks for this tool. I'm watching your presentation 🙂 and now tried building the project on Linux.
As there are no build instructions, and I'm not experienced with C++/Qt setups, I might be missing something obvious.
Here's what I did:
qtcreator
dkv2.pro
with qtcreatorqmake
seems to run fine without errors, but the actual build then errors with the following log.
Environment:
21:13:29: Running steps for project dkv2...
21:13:29: Configuration unchanged, skipping qmake step.
21:13:29: Starting: "/usr/bin/make" -j8
cd DKV2/ && ( test -e Makefile || /usr/bin/qmake -o Makefile /home/bit/Code/mhs/DKV2/DKV2/DKV2.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug ) && /usr/bin/make -f Makefile
cd TESTS/ && ( test -e Makefile || /usr/bin/qmake -o Makefile /home/bit/Code/mhs/DKV2/TESTS/TESTS.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug ) && /usr/bin/make -f Makefile
make[1]: Entering directory '/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS'
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o booking.o ../../DKV2/DKV2/booking.cpp
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o contract.o ../../DKV2/DKV2/contract.cpp
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o dbstatistics.o ../../DKV2/DKV2/dbstatistics.cpp
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o dkdbhelper.o ../../DKV2/DKV2/dkdbhelper.cpp
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o dkdbviews.o ../../DKV2/DKV2/dkdbviews.cpp
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o helperfin.o ../../DKV2/DKV2/helperfin.cpp
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o letterTemplate.o ../../DKV2/DKV2/letterTemplate.cpp
make[1]: Entering directory '/home/bit/Code/mhs/build-dkv2-Desktop-Debug/DKV2'
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_USE_QSTRINGBUILDER -DQT_QML_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I../../DKV2/DKV2 -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o booking.o ../../DKV2/DKV2/booking.cpp
In file included from ../../DKV2/DKV2/booking.cpp:4:
../../DKV2/DKV2/contract.h:79:19: error: declaration of ‘interestModel contract::interestModel() const’ changes meaning of ‘interestModel’ [-fpermissive]
79 | interestModel interestModel() const { return fromInt(td.getValue(qsl("thesaurierend")).toInt());}
| ^~~~~~~~~~~~~
../../DKV2/DKV2/contract.h:15:12: note: ‘interestModel’ declared here as ‘enum class interestModel’
15 | enum class interestModel {
| ^~~~~~~~~~~~~
In file included from ../../DKV2/DKV2/dbstatistics.h:8,
from ../../DKV2/DKV2/dbstatistics.cpp:5:
../../DKV2/DKV2/contract.h:79:19: error: declaration of ‘interestModel contract::interestModel() const’ changes meaning of ‘interestModel’ [-fpermissive]
79 | interestModel interestModel() const { return fromInt(td.getValue(qsl("thesaurierend")).toInt());}
| ^~~~~~~~~~~~~
../../DKV2/DKV2/contract.h:15:12: note: ‘interestModel’ declared here as ‘enum class interestModel’
15 | enum class interestModel {
| ^~~~~~~~~~~~~
In file included from ../../DKV2/DKV2/booking.cpp:4:
../../DKV2/DKV2/contract.h:79:19: error: declaration of ‘interestModel contract::interestModel() const’ changes meaning of ‘interestModel’ [-fpermissive]
79 | interestModel interestModel() const { return fromInt(td.getValue(qsl("thesaurierend")).toInt());}
| ^~~~~~~~~~~~~
../../DKV2/DKV2/contract.h:15:12: note: ‘interestModel’ declared here as ‘enum class interestModel’
15 | enum class interestModel {
| ^~~~~~~~~~~~~
make[1]: Leaving directory '/home/bit/Code/mhs/build-dkv2-Desktop-Debug/DKV2'
make[1]: *** [Makefile:956: booking.o] Error 1
make: *** [Makefile:48: sub-DKV2-make_first] Error 2
make: *** Waiting for unfinished jobs....
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o helpersql.o ../../DKV2/DKV2/helpersql.cpp
In file included from ../../DKV2/DKV2/contract.cpp:7:
../../DKV2/DKV2/contract.h:79:19: error: declaration of ‘interestModel contract::interestModel() const’ changes meaning of ‘interestModel’ [-fpermissive]
79 | interestModel interestModel() const { return fromInt(td.getValue(qsl("thesaurierend")).toInt());}
| ^~~~~~~~~~~~~
../../DKV2/DKV2/contract.h:15:12: note: ‘interestModel’ declared here as ‘enum class interestModel’
15 | enum class interestModel {
| ^~~~~~~~~~~~~
In file included from ../../DKV2/DKV2/dkdbhelper.cpp:13:
../../DKV2/DKV2/contract.h:79:19: error: declaration of ‘interestModel contract::interestModel() const’ changes meaning of ‘interestModel’ [-fpermissive]
79 | interestModel interestModel() const { return fromInt(td.getValue(qsl("thesaurierend")).toInt());}
| ^~~~~~~~~~~~~
../../DKV2/DKV2/contract.h:15:12: note: ‘interestModel’ declared here as ‘enum class interestModel’
15 | enum class interestModel {
| ^~~~~~~~~~~~~
g++ -c -pipe -g -std=gnu++1y -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_SQL_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS"' -DQT_QML_DEBUG -I../../DKV2/TESTS -I. -I/usr/include/qt -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtTest -I/usr/include/qt/QtSql -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o csvwriter.o ../../DKV2/DKV2/csvwriter.cpp
make[1]: *** [Makefile:998: dbstatistics.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:956: booking.o] Error 1
make[1]: *** [Makefile:970: contract.o] Error 1
make[1]: *** [Makefile:1029: dkdbhelper.o] Error 1
make[1]: Leaving directory '/home/bit/Code/mhs/build-dkv2-Desktop-Debug/TESTS'
make: *** [Makefile:73: sub-TESTS-make_first] Error 2
21:13:38: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project dkv2 (kit: Desktop)
When executing step "Make"
21:13:38: Elapsed time: 00:09.
getrennte verarbeitung von z.B. "Verein" und "GmbH" (und weitere) - jedoch in einer Datei mit gemeinsamer Kundenliste
Import existierender Datenbanken?
siehe auch: mehrere Instanzen von DKV2 erlauben
If no character is given in the Vorname (first name) field of a creditor the combination "Nachname, Vorname" is empty.
This is true for the list of valid contracts, deleted contracts and the selection list for possible creditor (when creating a new contract).
There is an segmentation fault after printing the interest letters.
It happens in ContractTableModel::setCol13ExtraData() line 43.
Removing updateView() in MainWindow::on_action_menu_contracts_interestLetters_triggered () fixes this.
As this operation doesn't change the data and the view this should be OK.
Wenn ich die Gesamtsumme der ausgezahlten Zinsen aus der csv-Datei, die bei der Jahresabrechnung erzeugt wird, mit der Übersicht "Ausgezahlte Zinsen pro Jahr" vergleiche, stimmen die Beträge nicht überein. Wenn ich die Zinsen der mittlerweile beendeten Verträge zusammenzähle, komme ich auf die Differenz der beiden Zahlen. Ähnliches Fehlen von bereits beendeten Verträgen erscheint mir auch in den restlichen Übersichten aufzutreten. Mir scheint es, dass beendete Verträge in den Übersichten nicht berücksichtigt werden?
Außerdem scheinen auch in der Übersicht der Anlagen beendete Verträge nicht berücksichtigt zu werden. Dies scheint mir Gefahrenpotential zur Verletzung der 20 Anteile / 100.000 pro Jahr Regelungen zu bieten. (durch das Kündigen eines Vertrages in einem 20er Zinssatz wird ja kein neuer Anteil frei; wenn der aber in der Übersicht nicht angezeigt wird, sieht es so aus als ob ein neuer angenommen werden kann und somit liefe man Gefahr mehr als 20 anzunehmen; genauso bei der 100.000er Regel; falls ein Kredit in einem Sonderfall kürzer als ein Jahr da ist, würde er in der Aufsummierung nach dem Beenden nicht mehr auftauchen und es könnte passieren, dass die 100.000 überschritten werden, da das Programm eine niedrigere Summe anzeigt)
Ist das gewolltes Verhalten?
Programm läuft unter Windows, in der Version 0.20.0.8
There is no column that shows the current account value in the list of contracts - at least for interestless contracts.
If the contract is without interests the column 'Verzinsliches Guthaben' only shows 'Keine Verzinsung'.
Examples:
A contract of 1.000,- at the beginning, but 500,-- has been paid back.
A contract of 1.000,- and the creditor pays extra 500,-- into the same contract.
Possible solutions:
a) The column 'Verzinsliches Guthaben' shows the current account value instead of 'Keine Verzinsung'.
b) An extra column with the account total value to the last booking (sum of bookings of the contract).
All contracts marked as '(zinslos)' show Nominalwert as '[soll: xxxxx €] even if the full value is already paid.
(Ausnahmsweise deutsch, weil mein Finanz-Englisch nicht ausreicht.)
Bei einem Vertrag mit festem Zinsmodus (nicht auszahlend, nicht thesaurierend) wurden zu einem Zeitpunkt x die aufgelaufenen Zinsen gespendet an einen Dritten - also ausbezahlt.
Das stellt sich jetzt so dar:
1000,- Einzahlung
10,- Zinsen
10,- Zinsen
10,- Zinsen
30,- Auszahlung
Daraufhin zeigt die Vertragstabelle einen verzinslichen Saldo von 970,- Euro.
Das ist doch irgendwie ungerecht...
m.E. müsste es bei 'Ein-/Auszahlung' tatsächlich einen zusätzlichen Buchungsmodus 'Zinsauszahlung' geben, damit sauber zwischen Auszahlung vom eingelegtem Kredit und aufgelaufenen Zinsen unterschieden werden kann.
Ist Status:
Beim Ein- oder Auszahlen werden die bis dahin fällig gewordenen Zinsen des laufenden Jahres angerechnet. Dies führt zu einem Zinseszins Effekt bei der Berechnung der Jahresabrechnung.
Ziel Status:
Man hat die Möglichkeit / es ist das übliche Verhalten die Zinsen nicht anzurechnen, so dass kein Zinseszins Effekt auftritt. Dafür mus die Berechnung der Zinsen beim Vertragsende bzw. beim Jahreszins überarbeitet / erweitert werden. Um Kompatibilität zu erhalten bleibt die Zinsanrechnung als Option erhalten.
Warum?
Rechnet man die Zinsen bei einer E/A Zahlung an, so entsteht für diese Zinsen am Jahresende ein Zinseszins-Effekt.
Dieser ist für kleine Zinssätze geringfügig. Bei Verträgen mit regelm. Einzahlungen wird der Effekt aber größer, so dass man ihn nicht ignorieren sollte. Die angestrebte neue Methode ist in diesem Sinne zu bevorzugen.
Hallo, ich evaluiere gerade DKV2 für unser Projekt, gefällt mir sehr gut bis jetzt.
Ich hab versucht unsere bestehenden DKs damit abzubilden, dabei habe ich es nicht geschafft, eine Auszahlung mit Nachkommastellen hinzukriegen. Der Dialog scheint das zu unterdrücken.
Wenn die Jahreszinsbescheinigungen ausgedruckt werden, dann ist die Summe der ausgezahlten Zinsen falsch, wenn der Kreditor Verträge hat, die schon vor der Zinsperiode beendet wurden.
Der Fehler wurde von Lukas (Solijanka) gemeldet.
Die Verträge müssen gefiltert werden, ob sie evtl. zu jung oder zu alt für die jeweilige Zinsperiode sind.
In the contract list view it would be nice to have an option (e.g. in the context menu) to copy the eMail address or the IBAN number to clipboard.
In the contract table view the column 'Kündigungsfrist/Vertragsende' does not sort by V.LaufzeitEnde. This is disturbing as this is the only option in the program to get an idea what has to be paid next.
Felder für Buchungskonto und weiteres sind bereits angelegt, aber nicht editierbar.
Hallo all,
I am living in an MHS project in Marburg and we are reaching the limits of our DK tracking with spreadsheets, so I am curious about possibly adopting DKV2 as our management tool.
The problem we have with our spreadsheet is that we see the need (with rising inflation and longer-term DKs) to be able to vary the interest rate / Zinssatz over time. Is that possible in DKV2 (I downloaded and had a look around, but I couldn't see the option)? Do you plan to add such a feature? (Or would you accept a pull request if I tried?)
Many thanks,
Arthur
In der Liste mit den Verträgen sind ja manche Verträge rot markiert; soweit ich das erkennen kann, sollten das die Verträge sein bei denen ein Kündigungsdatum in der Vergangenheit eingetragen ist.
Allerdings sind bei uns auch eine ganze Menge anderer Verträge rot gefärbt, die kein Kündigungsdatum eingetragen haben, sondern einfach eine Kündigungsfrist von 6 Monaten. Nach einigem hin und her, habe ich festgestellt, dass alle Verträge ab dem 257. der eingetragen ist (habe in die Datenbank selbst reingeschaut und nach der ID sortiert) rot gefärbt sind.
Habe testweise mal DKs in den ersten 256 gelöscht und für jeden den ich lösche, verschwindet bei einem die rote Färbung, sodass es immer die ersten 256 sind, die korrekt dargestellt werden und alle danach sind rot.
Dass das eine 2er Potenz ist, ab der es schief geht hat mich misstrauisch gemacht...
Hast du eine Idee wo ich nach dem Problem weiter suchen könnte? Könnte das im Programm in der Darstellung liegen?
In the list of ended contracts there is no column with the name of the creditor and no option to show the creditor.
So the is forced to guess to which creditor the ended contract belongs.
Wouldn't it be the easiest to use (nearly) the identical view for running and for ended contracts?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.