CX_GENERAL_LEDGER
Klassenhierarchie
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_STRUCTURED
- CX_BUSINESS_OBJECT
- CX_CLEARING_OBJECT
- CX_GENERAL_LEDGER
- CX_CLEARING_OBJECT
- CX_BUSINESS_OBJECT
- CX_STRUCTURED
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Beschreibung:
Diese Klasse bildet ein Sachkonto ab.
Objekte, die den Kontenplan bestimmen. Ein genereller Kontenplan für alle eigenständigen Mandanten prinzipiell möglich über Einstellen verschiedener Domains für die Monitore Account, bei gleichzeitigem
gemeinsamen Domain für die GENERAL_LEDGER Objekte.
Allerdings problematisch im Bereich der Bankkonten (versch.Konten), Steuern (versch.Finanzämter) und Abstimmkonten (versch. Debitoren/Kreditoren).
Daher gemeinsame Nutzung der GENERAL_LEDGER Objekte wohl nur bei Unterteilung ein und derselben Firma (Mandant) in Geschäftsbereiche/profit center.
Firmenübergreifende Auswertungen über CX_STRUCTURE-Objekte, die CX_ACCOUNT oder CX_GENERAL_LEDGER Objekte aus versch. Layern halten.
Mit Layern und Domains Mahnbereiche, Kreditbereiche, Geschäftsbereiche, etc. einstellen.
generalLedgerTypeEnum:
als bit-muster implementiert: regelt, ob bestands/erfolgs-konto, aktiv-passiv und/oder aufwands/erfolgs-konto.
NN: für gemischte konten (wareneinkauf) aktiv und auch erfolgs-konto gleichzeitig eingebbar ?
Wegen gemischter Konten auch keine Ableitung einer eigenen GuV-Klasse.
Bei Skonto-Konto ist Aufwand/Ertrag entspr. Skontoaufwand oder Skontoertrag.
generalLedgerTypeEnum regelt auch den Austausch zwischen Soll/Haben. Wenn z.B. ein Bank-Konto ein negativen Saldo hat (debit < 0), dann wird Debit() NULL zurückgegeben, und stattdessen der Credit()-Wert ausgegeben.
NN: halten der "üblichen" slots: hier also z.B. debit/credit, oder dieses nur über Funktion beim Ankoppeln von CX_ACCOUNT machen ????
Die Währung wird beim Format des debit/credit slots im CX_ACCOUNT Objekt gehalten.
OP's halten auch slot originalValue. ANLEGEN !!!
generalLedgerTaxTypeEnum:
Enum als Bit-muster: steuert die mögliche steuer-verarbeitung mit diesem Konto.
Bit 2 hält brutto/netto verarbeitung, wenn 0 dann standard netto (gilt für Skontobrutto-netto Verfahren oder Anzahlungskonten)
(s.a. 3.168 in Praxis-Lexikon Buchführung + Bilanz)
tax:
In collection tax werden alle zugelassenen steuertypen bei Buchungen gehalten, wenn leer, dann alle zugelassen entspr. enum-typ.
Bei CX_TAX_ACCOUNT direkter Bezug zum Steuerschlüssel vom Typ CX_TAX, der wiederum an CX_TAX_AUTHORITY hängt.
Ebenso CX_CASH_DISCOUNT direkter Bezug als Skonto-Konto bei Steuerschlüssel.
Anzahlungen über spezielle slots halten. ANLEGEN !!!
Verdichtungen von Kostenarten (CX_ACC_CATEGORY Objekten) auf Sachkonten über REL_MN clearingObjects und Funktion GeneralLedger() aus CX_ACC_CATEG.. heraus.
Entsprechend CX_PERSONAL_ACCOUNT Verdichtung auf CX_CLEARING_ACCOUNT.
????:
=====
eventuell später ein CX_PROFIT_AND_LOSS_ACCOUNT von CX_GENERAL_LEDGER
ableiten mit Liste von GuV Konten, und auch die GuV-Konten extra ableiten
mit BackReference.
Abgrenzungskonten über generalLedgerTypeEnum steuern ??
neutrale Konten irgendwie kennzeichnen ??
Code-Beispiel:
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
AssetAccount | * | ? | ||
DebitCreditExchange | * | ? | ||
ExchangeDebitCredit | INTEGER | Soll/Haben-Austausch-Konto? | ||
ExpenseAccount | * | ? | ||
IsAssetAccount | INTEGER | Konto der Aktiv-Seite? | ||
IsExpenseAccount | INTEGER | Aufwands-Konto? | ||
IsLiabilityAccount | INTEGER | Konto der Passiv-Seite? | ||
IsNominalAccount | INTEGER | GuV-Konto? | ||
IsRealAccount | INTEGER | Bilanzkonto? | ||
IsRevenueAccount | INTEGER | Ertrags-Konto? | ||
LiabilityAccount | * | ? | ||
NominalAccount | * | ? | ||
RealAccount | * | ? | ||
RevenueAccount | * | ? | ||
SanityCheck | INTEGER | Prüfung auf Konsistenz des Objektes | ||
TaxBooking | * | ? | ||
TaxBookingAllowed | INTEGER | Steuerbuchungen erlaubt? | ||
CastedStructureByCondition | STRING | OBJECT | ||
ClassFilter | STRING, INTEGER | OBJECT | Dieses Objekt, wenn es einer bestimmten Klasse entspricht | |
ClearingObject | STRING, INTEGER | OBJECT | Erste Zuordnung zu Abrechnungsobjekten | |
ClearingObjectMA | * | STRING, INTEGER | Zuordnungen zu Abrechnungsobjekten | |
ConditionedFilter | STRING | OBJECT | ||
ConditionedFilter2 | OBJECT | OBJECT | ||
ConnectStateStructure | OBJECT, STRING | Verbinden mit der Status-Struktur | ||
Deleted | INTEGER | Objekt als gelöscht markiert? | ||
Description | STRING | Bezeichnung dieses Objektes | ||
EvaluateTotalMonitors | STRING, INTEGER, STRING | OBJECT | ? | |
ForceMonitor | STRING | OBJECT | ? | |
GetDomain | INTEGER | Domain dieses Objektes | ||
GetSiblings | COLLECTION | Alle Siblings dieses Objektes | ||
GetSiblings2 | COLLECTION | Alle Siblings dieses Objektes | ||
GetSlotEntries | VECTOR | Rückgabe von internen Informationen zu Slots | ||
GetStructure | OBJECT | OBJECT | Untergeordnete Struktur suchen, die zur selben Hierarchie gehört | |
InsertMonitor | OBJECT | ? | ||
LastUpdate | OBJECT | Datum des letzten Schreibzugriffs | ||
LastUser | INTEGER | User, der zuletzt schreibend auf das Objekt zugegriffen hat | ||
Link | OBJECT | Dieses Objekt in die Liste der Objekte mit Gültigkeit einfügen | ||
Monitor | STRING | OBJECT | ? | |
NextValidObject | OBJECT | Zeitlich nachfolgendes Gültigkeitsobjekt | ||
PreviousValidObject | OBJECT | Zeitlich vorangehendes Gültigkeitsobjekt | ||
RemoveMonitor | OBJECT | ? | ||
RemoveStateStructure | STRING | Status-Struktur nach uniqueID finden und Verbindung lösen | ||
RestrictedValidity | * | Gültigkeitsbereich eingeschränkt? | ||
SetDomain | INTEGER, INTEGER | Domain setzen | ||
SetStructure | OBJECT | Stellt sicher, dass eine Struktur zur untergeordneten Struktur wird | ||
ShortName | STRING | Kurzbezeichnung dieses Objektes | ||
Siblings | * | Objekte mit Gültigkeit | ||
SpanDateValidity | * | Gültigkeitsspanne | ||
StateStructure | STRING | OBJECT | Status-Struktur nach uniqueID (STRING) finden (nicht gewrappt) | |
StateStructureWrapper | STRING | OBJECT | Status-Struktur nach uniqueID finden | |
string | INTEGER | CX_STRING | Liefert die String-Darstellung des Objektes | |
StructureByCondition | STRING | OBJECT | Untergeordnete Struktur mit einer bestimmten Bedingung | |
StructureByID | STRING | OBJECT | Untergeordnete Struktur mit einem bestimmten eindeutigen Schlüssel | |
StructureByIDMA | * | STRING | Untergeordnete Strukturen mit einem bestimmten eindeutigen Schlüssel | |
StructureByType | STRING, INTEGER | OBJECT | Untergeordnete Struktur eines bestimmten Typs | |
TotalMonitors | STRING, INTEGER, STRING | OBJECT | ? | |
TriggeredStateStructure | STRING | OBJECT | Versucht Status-Struktur weiterzuschalten und gibt die neue Status-Struktur (nicht gewrappt) zurück | |
TriggeredStateStructureWrapper | STRING | OBJECT | Versucht Status-Struktur weiterzuschalten und gibt die neue Status-Struktur (gewrappt) zurück | |
TriggerStateStructures | Schaltet alle Status-Strukturen weiter | |||
UniqueID | STRING | Inhalt des festen Datenfeldes "uniqueID" | ||
Unlink | Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen | |||
Unlink2 | Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen | |||
Valid | OBJECT | INTEGER | Gültigkeit prüfen | |
ValidSince | OBJECT | Beginn der Gültigkeitsspanne | ||
ValidToday | INTEGER | Heute gültig? | ||
ValidUntil | OBJECT | Ende der Gültigkeitsspanne | ||
VerifySiblings | INTEGER | Ring der Austauschobjekte prüfen |
* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
generalLedgerTaxTypeEnum | ENUMCHAR | Steuertyp | ||
generalLedgerTypeEnum | ENUMCHAR | Kontotyp | ||
tax | REL_MN | CX_TAX | ? | |
allocations | REL_MN | CX_EXPANDABLE | ? | |
clearingObjects | REL_MN | CX_CLEARING_OBJECT | Abrechnungskreise | |
generalTerms | REL_1M | CX_GENERAL_TERMS | ? | |
monitors | REL_MN | CX_MONITOR | ? | |
structures | REL_MN | CX_EXPANDABLE | Organisations-Strukturen | |
uniqueID | STRING | * | Eindeutiger Schlüssel | |
validity | POINTER | CX_VALIDITY | Gültigkeitszeitraum des Objektes |
* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld
Modul | Kurzbeschreibung |
---|---|
geledger.mod | Sachkontenplan Basismodul |
gelededt.mod | Sachkontenplan Editiermodul |
geledsel.mod | Sachkontenplan Selektionsmodul |
geledcla.mod | Abstimmkonto Editiermodul |
geleddep.mod | Geldkonto Editiermodul |
geleddis.mod | Skontokonto Editiermodul |
geledgle.mod | Abstimmkonto Editiermodul |
geledtax.mod | Steuerkonto Editiermodul |
glacbstr.mod | Kontenauswertung |