28.07.2026 06:55:00
Navigation
· Bugtracker
· Kontakt
· Web Links
· Suche
· Buchtipps
Login
Benutzername

Passwort



Noch kein Mitglied?
Klicke hier um dich zu registrieren

Passwort vergessen?
Um ein neues Passwort anzufordern klicke hier.
Mitglieder Online
· Gäste Online: 3

· Mitglieder Online: 0

· Mitglieder insgesamt: 15,331
· Neuestes Mitglied: Wieland
Foren Themen
Neueste Themen
· Schrift im Buchungsf...
· Steuerfreies Stipendium
· Feature-Vorschlag: H...
· Elster Export, E/Ü ...
· Ich sage dann mal "T...
Heißeste Themen
Keine Themen erstellt
Thema ansehen
EasyCash&Tax Website » EasyCash&Tax - Fibu » PlugIn-Entwickung
   Thema drucken
Ändert sich die Buchungs ID?
v-kunz
Hallo!

Aus der Notsituation ergab sich eine Idee ein Plugin zu entwickeln, der die verloren gegangene (gelöschte) Buchungen "wiederfindet".
Es ist nicht so, dass das Plugin sie wiederherstellen kann und die Rede ist nur von Ausgabenbuchungen, die als Sammelposten auftauchen.

Man stelle sich eine Situation vor:

Man hat einen Sammelposten mit 5 Jahren AfA. Aus Versehen löscht man im 2. Jahr der Abschreibung die Buchung. Was nun? Kommt der Jahreswechsel, so verschwindet die Buchung auch im neuen Jahr, genauer genommen verschwindet die Buchung für immer!

Wenn das am Jahresanfang passiert, dann ist die Sache einfach: Man druckt gegebenenfalls die Buchungen aus, geht in das alte Jahr zurück und führt den Jahreswechsel erneut aus. Anschließend vervollständigt man ggf. neue Buchungen. Was ist aber, wenn es schon zu viele neue Buchungen sind? Dann verbringt man zu viel Zeit damit, die Buchungen ins Reine zu bringen.

Hier kommt die Lösung:

Nachdem mir das widerfahren ist, habe ich beschlossen nicht den langen Weg zu gehen, die Buchungen ausdrucken und dann neu zu tippen, sondern den langen Weg zu gehen, ein Plugin zu entwickeln, das die AfA-Buchungen des Vor-Vorjahres, vor dem Ausführen des Jahreswechsels, in eine externe Datenbank aufnimmt und mit den Buchungen des Vorjahres vergleicht, ob jene oder welche fehlen. Sollte das Plugin feststellen, dass eine Buchung, die natürlich im Vor-Vorjahr nicht abgelaufen ist, im Vorjahr fehlt, dann kann diese im Vorjahr vervollständigt werden und wird im neuen Jahr mittels der Funktion "Jahreswechsel" auftauchen, sofern diese im Vorjahr nicht ablief.

Nun stehe ich aber vor einer entscheidenden Frage überhaupt: Jede Buchung hat eine eigene ID, damit man sie eindeutig identifizieren kann. Wenn nun eine Buchung durch den Jahreswechsel übertragen wird, hat sie denn die selbe ID wie im Vorjahr?

Mit freundlichen Grüßen


V. Kunz
 
mielket
Die ID des Buchungs-Objekts ist nur gültig während das Objekt im Arbeitsspeicher der Anwendung existiert. Tatsächlich ist die ID die binäre Speicheradresse und wird sich bei jedem Neustart ändern. Die beste Möglichkeit, die Buchung wiederzufinden, wäre den Beschreibungstext zu nehmen. Aber das ist natürlich nur eine Heuristik und sollte vom Nutzer nochmal bestätigt werden.

Muss nochmal über Dein Problem nachdenken...
 
http://am3.notify.live.net/throttledthirdparty/01.00/AQGwcKFTwqFdQoAAdm9TTl6zAgAAAAADEwAAAAQUZm52OjE3QjlBNEFEQTU4QzU2ODAFBkxFR0FDWQ
v-kunz
Es war mir auch schon in den Sinn gekommen die Buchungen über die Beschreibung zu identifizieren, und auch ich bin darüber gestolpert, dass das auch nur etwa 30 % genaue Identifikation wäre. Stattdessen könnte man die kompletten Angaben nehmen, bis auf die Buchungsnummer, denn die wäre aufgrund fehlender Buchung durch eine andere Buchung belegt. Diese Methode wäre aber mit einem mehr oder weniger komplexen Aufwand verbunden und selbst dann wäre die Genauigkeit von etwa 95 %.

Ihre Idee mit dem Buchungstext, über den ich auch schon nachgedacht hatte, hat mir aber eine Idee gebracht. Der Buchungstext und Index sind in einem Gedanken verschmolzen: Ich habe mir überlegt, dass man im Buchungstext an letzter Stelle von Hand einen Index angibt, der durch bspw. ein "Pipe" vom Buchungstext getrennt wird. Über eine Split-Funktion, könnte man dann auf den zweiten Teil des Buchungstextes zugreifen und hätte dann eine eindeutige Identifikation, die nur dann fehlschlagen würde, wenn man selbst einen Fehler macht, indem man z. B. einen Index zwei mal verwendet.

Da dies nur eine Vorübergehende Lösung ist und auch fehleranfällig ist, wäre zu überlegen, ob man beim Buchungsobjekt nicht eine Eigenschaft "Index" hinzufügt, die nur Intern eingetragen wird und dann auch nur bei Ausgabenbuchungen und selbst dann, wenn die Abschreibungsdauer mehr als 1 Jahr beträgt. An dieser stelle würde ich auch mit einem Teil des Codes helfen, denn Sie nur anzupassen bräuchten.

Mit freundlichen Grüßen


V. Kunz
 
mielket
Ich bekomme ja häufig Daten zu Testzwecken. Die Beschreibungstexte bei AfAs sind immer sehr sprechend. Ich würde von 99.9% ausgehen, was, da es sich nicht um eine Routine-Anwendung handelt, voll ausreichen dürfte. Ich würde die Datenstruktur nicht aufbohren, wenn es nicht 100%ig nötig wäre -- einfach um es 'easy' zu lassen.

Hier der C++ Code, mit dem ich die AfAs in das neue Jahr übertrage:


   ppB = &(pNewDoc->Ausgaben);
   pB  = pDoc->Ausgaben;
   while (pB)
   {
      if (pB->AbschreibungJahre > 1 && pB->AbschreibungRestwert > pB->GetBuchungsjahrNetto(pDoc))
      {
         *ppB = new CBuchung;
         **ppB = *pB;
         (*ppB)->AbschreibungRestwert -= (*ppB)->GetBuchungsjahrNetto(pDoc);
         (*ppB)->AbschreibungNr++;
         (*ppB)->Datum = CTime((*ppB)->Datum.GetYear() + 1, (*ppB)->Datum.GetMonth(), (*ppB)->Datum.GetDay(), 0, 0, 0);
         (*ppB)->next = NULL;
         ppB   = &((*ppB)->next);
      }
      pB    = pB->next;
   }


(Bitte den Pointersalat einfach ignorieren. **ppB ist die neue Buchung/Rate, *pB die alte.)

Kann sich natürlich ändern, z.B. sollte ich nochmal degressive Abschreibungen einbauen. Vielleicht sollte ich das als Methode des Buchungs-Objekts zugänglich machen...
Bearbeitet von mielket am 30.01.2010 23:34:37
 
http://am3.notify.live.net/throttledthirdparty/01.00/AQGwcKFTwqFdQoAAdm9TTl6zAgAAAAADEwAAAAQUZm52OjE3QjlBNEFEQTU4QzU2ODAFBkxFR0FDWQ
nirbhay

Zitat

mielket geschrieben:
Kann sich natürlich ändern, z.B. sollte ich nochmal degressive Abschreibungen einbauen. Vielleicht sollte ich das als Methode des Buchungs-Objekts zugänglich machen...


ja, bitte mach das mal. ich würde dein programm gerne an investoren von photovoltaik-anlagen weiterempfehlen. die haben ja ordentlich was abzuschreiben und möchten das oft degressiv tun.
 
Springe ins Forum:
Forensuche


Shoutbox
Du musst dich einloggen um eine Nachricht zu senden.

mielket
23.07.2026 14:51:49
v4.0.18 behebt einen möglich Crash bei Formularen und enthält eine Währungs- Umrechnung mit Einstellungs- Seite!

mielket
22.07.2026 16:36:24
Sorry für den 503-Fehler auf der Seite. (Der blöde Malware-Scanner meines Webhosters hat wieder mal false positives geworfen.)

mielket
12.07.2026 14:21:55
@Isa: Du musst Details liefern, damit es die Chance gibt, dass Dir jemand helfen kann. Am Besten mit einem Forums-Beitrag.

mielket
12.07.2026 14:19:43
@Reiner: Wenn Du abgeschriebene Anlagegüter mit einem Erinnerungswert von 1 € beibehalten willst, stell auf degressiv mit 99 Jahren und 0% AfA-Satz.

Reiner S
11.07.2026 15:50:24
Frage zu AFA: PC Komponenten bzw. Erweiterungen (für einen bereits vollständig abgeschriebenen PC) tauchen im AFA Verzeichnis nicht auf, wenn die Abschreibungsdauer
auf 1 Jahr gelegt ist

Isa
10.07.2026 08:26:38
Bei der Umsatzstuererkläru
ng sind nur 19% aufegführt. Die Ausgaben zu 7% fehlen. Wie bekomme ich das hin?

mielket
06.07.2026 11:36:16
@Detlev Alaze: Update mal auf v3.10.

Detlev Alaze
26.06.2026 14:47:30
sorry - aber ich finde nirgends wie ich auf dem Mac mit Version 3.9 drucken kann - wo und was muss ich machen ?

mielket
11.06.2026 19:55:06
Ich habe auch schon mit Flatpac experimentiert. Sieht vielversprechend aus...

mielket
09.06.2026 12:32:34
@dschuhmann EC&T ist speziell angepasst, um mit Wine problemlos zu laufen, insofern: ja, ist was dran.

dschuhmann
06.06.2026 23:07:23
Elster zeigt auf der Softwareseite für Linux auch Easy cash & tax an. Ist da was dran?

mielket
03.06.2026 11:38:55
Würde mich interessieren: Sind hier sonst noch Hardcore- Alphatester unterwegs, die die v4 nicht nur installiert haben, um sich nur mal anzuschauen wie es aussieht?

mielket
03.06.2026 11:33:38
v4.0.8 patch: Dauerbuchungen ausführen stürzte ab und Zugriff auf bestimmte Einstellungen von Plugins aus war nicht möglich. Damit habe ich eben die USt.-Voranmeldung für das 1. Quartal übertragen.

mielket
02.06.2026 14:10:10
v4.0.7 patch: Anfangssaldo und Filtern bei WPF-Bestandskonten
-Journal sowie ein Out-Of-Memory Crash repariert.

mielket
29.05.2026 16:30:06
v4.0.6 patch verfügbar; u.a. funktioniert das CSV-Import-Plugin jetzt mit der v4. Viele andere Bugs sind gefixt.

33,888,312 eindeutige Besuche