Dies ist eine alte Version des Dokuments!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Entwicklungs-Informationen ====== ===== ToDo ===== * <del>Abgeleitete Klasse des ÜberweisungsWidget für Sonderedits (z.B. Datum, Zyklus bei Daueraufträgen, Terminüberweisungen)</del> (erledigt --- //[[sod@schmufu.dyndns.org|Patrick Wacker]] 2011/08/31 21:50//) * über ein "enum" beim Constructor ist wählbar welches "extraWidget" zusätzlich angezeigt werden soll. * Bekannte Daueraufträge anders gestallten * TopItem: Begünstigter - Verwendungszweck - Betrag - Währung * ChildItem: Alle Details des Dauerauftrags * <del>AB_VALUE und GWEN_TIME umwandlung in QVariant/QDate aqb_banking als static functions</del> (erledigt --- //[[sod@schmufu.dyndns.org|Patrick Wacker]] 2011/08/31 21:50//) * Bekannte Empfänger: * Bearbeiten ermöglichen (rechtsklick->edit) * Wenn ein neuer Dauerauftrag oder eine neue Überweisung durchgeführt wurde den Empfänger in "bekannte Empfänger" speichern (sofern dort noch nicht vorhanden) * evt. als eigenständigen Dialog (DockWidget) anzeigen (hinzufügen als Drag'n'Drop realisiert) * getätigte Überweisungen * Anzeige von getätigten Überweisungen (automatisch wenn eine Überweisung ausgeführt wird) * Manuelles Löschen (rechtsklick->löschen) Für getätige und angelegte Terminüberweisungen und Daueraufträge * Wenn eine DatedTransfer oder StandingOrder neu angelegt wird muss dies auch einen Abruf der aktuell hinterlegten Daten ausführen * Dies muss zwingend NACH dem anlegen geschehen! * Überprüfen ob die Abholungen die neu angelegte Transaction beinhalten. * Bei Änderung muss die Alte in den Settings gelöscht werden und die neue gespeichert werden! * wie unterscheiden wir, wenn mehr als 1 geändert wird, welche gelöscht und neu gespeichert werden muss? * es kann auch der Empfänger geändert werden! * eigentlich kann alles bis auf den Absender geändert werden! * Einfach zu Beginn alle geänderten löschen und hoffen das kein Fehler beim Ändern auftritt? Zum Nachdenken: <code cpp-qt> ai=AB_ImExporterContext_GetFirstAccountInfo(ctx); while(ai) { this->parseImExporterAccountInfo_Status(ai); this->parseImExporterAccountInfo_DatedTransfers(ai); this->parseImExporterAccountInfo_NotedTransactions(ai); this->parseImExporterAccountInfo_StandingOrders(ai); this->parseImExporterAccountInfo_Transactions(ai); this->parseImExporterAccountInfo_Transfers(ai); ai=AB_ImExporterContext_GetNextAccountInfo(ctx); } /* while ai */ </code> bei Anlegen und Ändern von DatedTransfers wird die while nicht durchlaufen, beim löschen schon (das funktioniert auch). Somit müssten wir beim Anlegen und Ändern auch die aktuellen DatedTransfers abfragen, sonst nicht? Ich war eigentlich davon ausgegangen das auch beim Ändern einer datedTransfer die while Schleife durchlaufen wird, da in der Terminueberweisungen.ini auch Transactions existieren die einen Status zum löschen und geändert etc. besitzen. ===== aqBanking ===== Verwendet wird die aqBanking ((link erstellen)) library ==== Übersicht über Jobs, Transactions und JobLists ==== === Jobs === === Transactions === === JobLists === === Übersicht der funktionen zum erstellen von Jobs === == transfer jobs == * AB_JOB * AB_JobSingleTransfer_new (AB_ACCOUNT *a) * AB_JOB * AB_JobSingleDebitNote_new (AB_ACCOUNT *a) * AB_JOB * AB_JobEuTransfer_new (AB_ACCOUNT *a) * AB_JOB * AB_JobInternalTransfer_new (AB_ACCOUNT *a) * AB_JOB * AB_JobSepaTransfer_new (AB_ACCOUNT *a) == dated transfers (Terminüberweisungen) == * AB_JOB * AB_JobCreateDatedTransfer_new (AB_ACCOUNT *a) * AB_JOB * AB_JobModifyDatedTransfer_new (AB_ACCOUNT *a) * AB_JOB * AB_JobDeleteDatedTransfer_new (AB_ACCOUNT *a) * AB_JOB * AB_JobGetDatedTransfers_new (AB_ACCOUNT *a) == standing orders (Daueraufträge) == * AB_JOB * AB_JobCreateStandingOrder_new (AB_ACCOUNT *a) * AB_JOB * AB_JobModifyStandingOrder_new (AB_ACCOUNT *a) * AB_JOB * AB_JobDeleteStandingOrder_new (AB_ACCOUNT *a) * AB_JOB * AB_JobGetStandingOrders_new (AB_ACCOUNT *a) === Brainstorming === Jede Überweisung muss in einem separaten AB_JOB gespeichert werden ((wir wollen keine Sammelüberweisungen)) und dieser AB_JOB dann einer JOB_LIST hinzugefügt werden. Wenn alle Transactionen vorhanden sind wird die JOB_LIST zur Bank übertragen und danach der ImExporterContext (CTX) ausgewertet, im CTX können auch Meldungen und Logs vorkommen, nicht nur die Transaktionen und das ganze muss separat für jeden empfangenen Account erledigt werden. Erstellte und/oder geänderte/gelöschte Daueraufträge müssen dann in der lokalen Datei auch eingetragen/gelöscht werden, diese Daten müssen dem CTX entnommen werden! Dasselbe gilt für Terminierte Überweisungen. Basis-Klasse für Terminierte Überweisungen und Daueraufträge? ===== Verwendung in ab_transfer ===== <graphviz dot right> digraph example { graph [ rankdir="RL" ]; node [shape=record, fontname=Helvetica, fontsize=10]; trans [ label="transaction" ]; da [ label="Daueraufträge" ]; da_create [label="Anlegen"]; da_edit [label="Ändern"]; da_del [label="Löschen"]; da_create -> da; da_edit -> da; da_del -> da; ueber [ label="Überweisungen" ]; create [label="Erstellen"]; ueber_national [label="National"]; ueber_inter [label="International"]; ueber_sepa [label="SEPA"]; ueber_um [label="Umbuchung"]; create -> ueber_national; create -> ueber_inter; create -> ueber_sepa; create -> ueber_um; term [label="Terminiert"]; term_create [label="Anlegen"]; term_edit [label="Ändern"]; term_del [label="Löschen"]; term_create -> term; term_edit -> term; term_del -> term; last [label="Lastschrift"]; last_create [label="Erstellen"]; last_create -> last; term -> ueber; ueber_national -> ueber; ueber_inter -> ueber; ueber_sepa -> ueber; ueber_um -> ueber; da -> trans; ueber -> trans; last -> trans; exec [label="Ausführen"]; log [label="Ergebnis/Meldungen"]; trans -> exec; exec -> log; } </graphviz>

Projektwerkzeuge