Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Buchhaltungsprobelm / Grundlage (https://www.delphipraxis.net/129170-buchhaltungsprobelm-grundlage.html)

mkinzler 14. Feb 2009 15:28

Re: Buchhaltungsprobelm / Grundlage
 
Ein Beispiel:
Kauf von Ware auf Ziel (Buchung bei Wareneingang)

Code:
Waren   1000    an   1160 Verbindlichkeiten
Vorsteuer 160
würde zu

Code:
Konto    Soll: Haben:
Waren    1000
Vorsteuer 160
Vb.a.L.L.       1160

manfred_h 14. Feb 2009 15:34

Re: Buchhaltungsprobelm / Grundlage
 
Zitat:

Zitat von mkinzler
würde zu

Code:
Konto    Soll: Haben:
Waren    1000
Vorsteuer 160
Vb.a.L.L.       1160

Das heisst dann das 3 Datensätze in der DB sind. Verstehe ich das richtig?

mkinzler 14. Feb 2009 15:41

Re: Buchhaltungsprobelm / Grundlage
 
Nicht zwingend. es sind aber 3 Konten angesprochen
man kann das auch durch Buchungsschlüssel, Autokonten oder Felder zur Steuersatzangabe lösen.

mjustin 14. Feb 2009 16:04

Re: Buchhaltungsprobelm / Grundlage
 
Zitat:

Zitat von manfred_h
Hallo mjustin
da dies meine erstes Buchhaltunsprogramm wird möchte ich dies gleich richtig umsetzten ( lernen ).
Wenn Du mir einen guten Link zu einer Doku. oder so hast wöhre dies sehr hilfreich.

Fachwissen gibt es z.B. hier:

Industrielles Rechnungswesen IKR, EURO, Lehrbuch: Finanzbuchhaltung - Analyse und Kritik des Jahresabschlusses - Kosten- und Leistungsrechnung - von Manfred Deitermann, Siegfried Schmolke, und Wolf-Dieter Rückwart (Taschenbuch - 2008) - gebraucht ca. 6 Euro wegen des geringen Unterhaltungswertes ;)

Bücher darüber, wie man eine Buchhaltung entwickelt, kenne ich leider nicht. Es gibt in diesem Bereich aber eine Reihe von Gesetzen / Verordnungen die man schon mal näher ansehen sollte, so z.B.


Grundsätze ordnungsmäßiger DV-gestützter Buchführungssysteme

Hansa 14. Feb 2009 17:43

Re: Buchhaltungsprobelm / Grundlage
 
Zitat:

Zitat von mkinzler
Das sieht nicht nur so aus sonder ist so

Guck mal genauer. :shock: Das KANN gar nicht gehen. Das hier ginge eventuell : "datE" DATE.

manfred_h 14. Feb 2009 17:57

Re: Buchhaltungsprobelm / Grundlage
 
Zitat:

Zitat von Hansa
Zitat:

Zitat von mkinzler
Das sieht nicht nur so aus sonder ist so

Guck mal genauer. :shock: Das KANN gar nicht gehen. Das hier ginge eventuell : "datE" DATE.

Habs inziwschen abeändert. Danke für den Hinweis. Ist immer gut das gleich am Anfang zu bemerken.

Manfred

manfred_h 18. Feb 2009 09:12

Re: Buchhaltungsprobelm / Grundlage
 
Habe jezt eine Lösung gefunden.
@mkinzler: Danke für deinen Denkanstoss.
@mjustin: Danke für Deine Anregugen.
@Hansa: Danke für die Anmerkung betreffs der Feldnamen

Habe eine zusätzliche Tabelle BOOKKEEPING_BOOKING_PRINT erstellt. Darin werden die Daten vor dem Ausdruck "gesammelt" und "aufbereitet".

Delphi-Quellcode:
  dm.pFIBScript.Script.Text :='INSERT INTO BOOKKEEPING_BOOKING_PRINT (C_NO, U_NO, ACNO, ACTEXT, BDATE, VOUCHER_NO, BTEXT, DEBIT_AMOUNT, CREDIT_AMOUNT, ACNO_CROSS, DEBIT_ACNO, CREDIT_ACNO, DEBIT_ACTYPE, CREDIT_ACTYPE)'+
                              'SELECT '+
                              'BOOKKEEPING_BOOKING.C_NO,'+
                              'BOOKKEEPING_BOOKING.U_NO,'+
                              'BOOKKEEPING_CHART_ACCOUNTS.ACNO,'+
                              'BOOKKEEPING_CHART_ACCOUNTS.ACTEXT,'+
                              'BOOKKEEPING_BOOKING.BDATE,'+
                              'BOOKKEEPING_BOOKING.VOUCHER_NO,'+
                              'BOOKKEEPING_BOOKING.BTEXT,'+
                              '(CASE '+
                              'WHEN BOOKKEEPING_BOOKING.DEBIT_ACTYPE > 999 AND BOOKKEEPING_BOOKING.DEBIT_ACTYPE < 2000 '+
                              'THEN BOOKKEEPING_BOOKING.AMOUNT END )DEBIT_AMOUNT,'+
                              '(CASE '+
                              'WHEN BOOKKEEPING_BOOKING.DEBIT_ACTYPE > 1999 AND BOOKKEEPING_BOOKING.DEBIT_ACTYPE < 3000 '+
                              'THEN BOOKKEEPING_BOOKING.AMOUNT END )CREDIT_AMOUNT,'+
                              '(CASE '+
                              'WHEN BOOKKEEPING_BOOKING.DEBIT_ACNO = BOOKKEEPING_CHART_ACCOUNTS.ACNO '+
                              'THEN BOOKKEEPING_BOOKING.CREDIT_ACNO ELSE BOOKKEEPING_BOOKING.DEBIT_ACNO END ) ACNO_CROSS,'+
                              'BOOKKEEPING_BOOKING.DEBIT_ACNO,'+
                              'BOOKKEEPING_BOOKING.CREDIT_ACNO,'+
                              'BOOKKEEPING_BOOKING.DEBIT_ACTYPE,'+
                              'BOOKKEEPING_BOOKING.CREDIT_ACTYPE '+
                              'FROM BOOKKEEPING_BOOKING '+
                              'INNER JOIN BOOKKEEPING_CHART_ACCOUNTS ON (BOOKKEEPING_BOOKING.CREDIT_ACNO = BOOKKEEPING_CHART_ACCOUNTS.ACNO);'+
                              'COMMIT WORK;'+
                              'INSERT INTO BOOKKEEPING_BOOKING_PRINT (C_NO, U_NO, ACNO, ACTEXT, BDATE, VOUCHER_NO, BTEXT, DEBIT_AMOUNT, CREDIT_AMOUNT, ACNO_CROSS, DEBIT_ACNO, CREDIT_ACNO, DEBIT_ACTYPE, CREDIT_ACTYPE)'+
                              'SELECT '+
                              'BOOKKEEPING_BOOKING.C_NO,'+
                              'BOOKKEEPING_BOOKING.U_NO,'+
                              'BOOKKEEPING_CHART_ACCOUNTS.ACNO,'+
                              'BOOKKEEPING_CHART_ACCOUNTS.ACTEXT,'+
                              'BOOKKEEPING_BOOKING.BDATE,'+
                              'BOOKKEEPING_BOOKING.VOUCHER_NO,'+
                              'BOOKKEEPING_BOOKING.BTEXT,'+
                              '(CASE '+
                              'WHEN BOOKKEEPING_BOOKING.DEBIT_ACTYPE > 999 AND BOOKKEEPING_BOOKING.DEBIT_ACTYPE < 2000 '+
                              'THEN BOOKKEEPING_BOOKING.AMOUNT END )DEBIT_AMOUNT,'+
                              '(CASE '+
                              'WHEN BOOKKEEPING_BOOKING.DEBIT_ACTYPE > 1999 AND BOOKKEEPING_BOOKING.DEBIT_ACTYPE < 3000 '+
                              'THEN BOOKKEEPING_BOOKING.AMOUNT END )CREDIT_AMOUNT,'+
                              '(CASE '+
                              'WHEN BOOKKEEPING_BOOKING.DEBIT_ACNO = BOOKKEEPING_CHART_ACCOUNTS.ACNO '+
                              'THEN BOOKKEEPING_BOOKING.CREDIT_ACNO ELSE BOOKKEEPING_BOOKING.DEBIT_ACNO END ) ACNO_CROSS,'+
                              'BOOKKEEPING_BOOKING.DEBIT_ACNO,'+
                              'BOOKKEEPING_BOOKING.CREDIT_ACNO,'+
                              'BOOKKEEPING_BOOKING.DEBIT_ACTYPE,'+
                              'BOOKKEEPING_BOOKING.CREDIT_ACTYPE '+
                              'FROM BOOKKEEPING_BOOKING '+
                              'INNER JOIN BOOKKEEPING_CHART_ACCOUNTS ON (BOOKKEEPING_BOOKING.DEBIT_ACNO = BOOKKEEPING_CHART_ACCOUNTS.ACNO);'+
                              'COMMIT WORK;';
  dm.pFIBScript.ExecuteScript;
Shalom
Manfred


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz