13.06.2026 00:15:17
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: 1

· Mitglieder Online: 0

· Mitglieder insgesamt: 15,319
· Neuestes Mitglied: RichardBracke
Foren Themen
Neueste Themen
· Elster Export, E/Ü ...
· Schrift im Buchungsf...
· Ich sage dann mal "T...
· Die Sache mit der E-...
· GoBD Vorschriften ab...
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
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.

mielket
17.05.2026 13:38:18
Nachtrag: Bitte GoBDify noch mal über den .appinstaller link installieren. Dann funktioniert in Zukunft auch das Auto-Update.

mielket
15.05.2026 18:55:30
Kleines Facelifting für mein Tool GoBDify. Die v1.3.0 sei allen wärmstens ans Herz gelegt, die noch mit v1.2 arbeiten.

mielket
13.05.2026 13:49:33
v4.0.5: ein paar Umlaute repariert

mielket
12.05.2026 17:19:30
v4.0 Patch 4 WPF-Journal Kurzdurchsage: Anlagenverzeichnis
korrigiert, Abgang möglich, Scrollen flüssiger

mielket
10.05.2026 11:08:57
v4: Eine frühe Vorab-Release ist zum Downloaden bereit. Mehr dazu hier.

BernhardT
13.03.2026 12:36:50
Problem gelöst?

kkoefteg
11.03.2026 14:50:05
Vielen Dank.

BernhardT
11.03.2026 13:32:41
Stimmt der Pfad zum Datenverzeichnis?
Links oben auf das Programm-Icon klicken und dann ggf. das richtige Verzeichnis auswählen. Besser einen Thread im Forum eröffnen.

33,684,273 eindeutige Besuche