Bedienungsanleitung ->Hier aufrufen
Dokumentationssstand ->Hier aufrufen
Hier finden Sie einen Überblick über den Dokumentationsstand und die Links auf die einzelnen
Dokumentationen.
Leitdokument - Dieses Dokument
Das Programm ist fertig. Die aktuelle Versionnummer finden Sie im Titel.
Das Programm befindet sich im mehreren Jahren im Gebrauch. Das bedeutet
aber nicht, dass alle Fehler beseitigt sind. Sollten Sie Fehler entdecken,
mailen Sie diese bitte an 'Hans-Josef.Heck[wo]wissenschaffen-und-handeln.de'
Dieses Programm steht unter der GPL, der General
Public Licence.
Es steht jedem frei, dieses Programm zu nutzen. Dies setzt aber voraus,
dass der Nutzer auf jegliche Ansprüche gegen die Entwickler und Portierer
verzichtet. Diese übernehmen keinerlei Gewähr für irgendetwas.
Das Programm kann vom FTP-Server heruntergeladen werden. Einzelheiten dazu
finden Sie in der Bedienungsanleitung.
Die Quellen haben wir ebenfalls auf unseren Server gestellt: Sowohl die
Originalversion als auch die portierte Version finden Sie dort.
In den neuen Quellen findet sich noch viel ursprüngliches Material, welches
dann als Kommentar geklammert ist. Damit soll die Möglichkeit erhalten
bleiben, das Programm weiterzuentwickeln.
01.08.10 - Version 1.05 :
Zwei kleine Unterschiede zwischen Linux und WinDOS machten bei
der WinDOS Version Probleme:
- Die Schrägstriche waren nicht alle umgestellt von / auf \.
um dies besser kontrollieren zu können, wurden alle / als
Trennung zwischen (Auf/Ab) zum Beispiel umgewandelt in
(Auf|Ab). Jetzt wird / nur noch fürs Teilen und in Linux für
die Pfadnamen benutzt.
- Komma und Punkt sind bei Fließkommazahlen (Float) vertauscht!
Die Eingabe eines Punktes muss daher unter WinDOS in ein Komma
umgesetzt werden, bei Linux die Eingabe eines Kommas in einen
Punkt.
01.08.10 - Version 1.04 :
Cobukas muss ab jetzt immer aus dem "Buchführungsverzeichnis"
heraus aufgerufen werden, weil die Umgebungsvariable 'PWD' als
'CBKDIR' übernommen wird.
Die Module 41auswstg, 42auswjour, 43auswsal und 44auswapg wurden
um die Kontrolle auf ein leeres Journal ergänzt.
Die Portierung nach WinDOS ist abgeschlossen.
Cobukas läuft unter WinDOS (im Fenster "Eingabeaufforderung")
absolut identisch. Es muss unter WinDOS allerdings beim ersten
Aufruf über 'startcbk1' aufgerufen werden, weil es keine
Umgebungsvariable 'PWD' (Arbeitsverzeichnis) gibt. 'startcbk1'
setzt diese und ruft dann 'cbk.exe' auf. Danach kann das
Programm einfach durch 'cbk' aufgerufen werden.
Im Programm musste 'textColor' ersetzt werden durch 'TextAttr',
weil textColor unter WinDOS auch den Hintergrund verändert. Die
Werte für 'TextAttr' sind unter Linux und WinDOS aber leider
verschieden: Die fpc-Compiler verhalten sich anders. Die
Unterschiede herauszufinden, war mühsam. WinDOS kennt von jeder
Farbe eine helle und eine dunkle Version. Linux nur eine
mittlere.
Die hellen Farbwerte liegen bei WinDOS im Bereich von
'9'-'14'. Linux fängt bei diesen Werten an zu blinken (in der
entsprechenden Farbe). Man muss unter Linux daher die Werte
'1'-'7' verwenden. Diese Werte sind bei WinDOS als Hintergrund
so dunkel, dass man die Schrift nicht mehr lesen kann.
Für einen farblichen Hintergrund muss man unter WinDOS daher
die helleren Werte nehmen.
Bei Linux ist der Wert für den weißen Hintergrund '0', bei
WinDOS '15'. Wenigstens sind die Werte für den schwarzen
Vordergrund (Textfarbe) bei beiden identisch, nämlich '0'.
Die Quelltexte unterscheiden sich ferner natürlich in der
Pfadangabe: '/' oder '\'.
18.07.10 - Version 1.03 :
Die Umgebungsvariable CBKDIR durch PWD ersetzt. Dadurch erübrigt
sich die Startupdatei 'startcbk1' unter Linux, wenn auch die Unter-
verzeichnisse 'configSYS' und 'configPAR1' im Verzeichnis 'PWD'
liegen. Starten nur noch durch Aufruf von 'cbk'. Vorher ins
Buchführungsverzeichnis wechseln!
07.07.10 - Version 1.02 :
Masken und 'cobukas.par' in zwei unterschiedliche Verzeichnisse
gelegt. Dafür eine neue Umgebungsvariable 'CBKPARCONFIG'
eingeführt.
In einer Startupdatei (startcbk1) werden die Umgebungsvariablen
gesetzt, in das Arbeitsverzeichnis gewechselt und das Programm
aufgerufen.
Dadurch wurde die Einrichtung und die Anpassung an
unterschiedliche Situationen - und damit auch die
Bedienungsanleitung vereinfacht.
16.01.10 - Version 1.01 :
Vergessene, eingesetzte Leerzeilen führen nicht mehr zu einem
Zugriffsfehler. Leerzeilen werden nach Aufruf von
'F12 - Abspeichern' automatisch entfernt.
15.01.10 - Fehler bei der wiederholten Ausgabe eines Kontos beseitigt.
Trat erst nach Compilieren mit neuer Compilerversion auf.
12.12.09 - Version 1.00 :
Alte bekannten Fehler sind beseitigt und die
Bedienungsanleitung und Dokumentation ergänzt.
Der Zugriffsfehler bei der GUV-Aufstellung, wenn es noch keine
Aufswands- oder Ertragsbuchungen gab, ist beseitigt und durch
eine Warnmeldung ersetzt.
05.12.09 - Die Übernahme von fertigen Belegen (=Belegvorlagen) eingebaut.
Nach Eingabe von Belegnummer und Belegdatum erfolgt über
Taste (F5) die Eingabe des Dateinamens. Die Belegvorlagen
befinden sich im Verzeichnis 'vorlagen'.
03.12.09 - Neucompilieren zeigte fehlende Laufvariable und
produzierte Fehler beim Tauschen von Belegzeilen. - Behoben
Die TastenCodes wurden ersetzt durch Bezeichner,
die in cbk01alle zentral definiert wurden, wie es sich gehört.
Die Tastenzuordnung für die Bedienung von Listen und die Veränderung
einer Belegnummer oder eines Datums wurden stringent definiert:
PfeilAuf/PfeilAb = ETZ = Einer / Tag / Zeile
SeiteAuf/SeiteAb = ZMS = Zehner / Monat / Seite
Anfang/Ende = HJL = Hunderter / Jahr / Liste
Die Bezeichner mit '...Bild' geändert in '...Seite'
22.02.07 - Buchungsjahr fixieren (211):
Übernimmt als Voreinstellung das Buchungsjahr wenn fixiert,
bietet ansonsten '2000' als Ausgangspunkt für die Einstellung an.
22.02.07 - Erzeugen neuen Benutzer (241):
Das Buchungsjahr wird voreingestellt mit aktuelles Jahr + 1
Meldung, dass neuer Benutzer angelegt wurde.
29.01.07 - Die Kontenparameter 'UstArt' (K,U,V) und 'UstKennziffer'
können jetzt nachträglich geändert werden. Einzelheiten
siehe Bedienungsanleitung: 'Konten und Kontenliste verwalten'
xxx
16.12.06 - Positionsauszüge möglich:
Auflistung aller Konten einer Aktiv/Passiv/GuV-Position
16.12.06 - Inkonsistenzen im Layout beseitigt
16.12.06 - Benutzerauswahl: Der Benutzer, dessen Journal zuletzt geändert
wurde, steht an erster Stelle in der Benutzerauswahl.
13.12.06 - Schönheitsreparaturen bei den Auswertungen
13.12.06 - Ausgabe in Dateien:
Warnmeldung: Stichtag nicht das maximal mögliche Belegdatum
12.12.06 - Ausgabe in Dateien:
Die Zahlen werden nur mit DezimalPunkt ausgegeben
12.12.06 - Warnmeldung, wenn Stichtag nicht das maximal mögliche Belegdatum ist
12.12.06 - Stichtag-Standard ist maximal mögliche Belegdatum
11.11.06 - Buchen Belege (3) Absturz:
Dekrementieren von Datum '01.01.0001' wird abgefangen
09.11.06 - Auswertung Journal (42) ergänzt: Ausgabe der Kontonummer
06.11.06 - Auswertung Journal (42) Fehler beseitigt:
Absturz, wenn noch keine Buchungen
19.10.06 - Bedienungsanleitung vervollständigt
19.10.06 - Dokumentation akualisiert
16.10.06 - Platzhalter für letzte nicht implementierte Funktion beseitigt
08.10.06 - Umgebungsvariable CBKSYSCONFIG eingebaut
07.10.06 - Dokumentation aktualisiert -> fertig-zutun: alles auf 'f': Glückauf!
07.10.06 - Umsatzsteuerkonten zuordnen: implementiert
05.10.06 - Ausgeben Kontenplan (339-F4) wird nicht implementiert - (F4) gelöscht
05.10.06 - Ausdrucken Postionslisten (231/232/233-F4): implementiert
05.10.06 - Ausdrucken Kontenplan (223-F4): implementiert
03.10.06 - Bereich Hilfsprogramme (50): entfällt
30.09.06 - Neuen Benutzer anlegen (241): implementiert
30.09.06 - Setzen Belegdatum (39):
Unterschiedliche Monatsenden jetzt ohne Problem.
29.09.06 - Diverse kleinere Änderungen an Code und Namensgebung
26.09.06 - Setzen Stichtag (41):
Unterschiedliche Monatsenden jetzt ohne Problem.
Cobukas ist ein (früher) an vielen Schulen eingesetztes Buchführungsprogramm.
Es ist sehr klar und einfach strukturiert und nicht nur für Unterrichtszwecke
sondern auch für kleinere Firmen oder Vereine gut geeignet.
Cobukas ist den kommerziellen, 'professionellen' Varianten deshalb
überlegen, weil es keine Elemente besitzt, die in Ausbildung und einfachen
Anwendungen überflüssig sind.
Die drei Entwickler, Jürgen Plaga (beso software), Gregor Kuhlmann und
Dr. Wehmeier (beides Schulleiter an berufsbildenden Schulen) haben die
bisherige Entwicklung (die Quellen) an die OpenSource-Gemeinde gegeben,
damit diese Software in eine plattformunabhängige Form gegossen werden kann.
Das hat diese Software auch verdient.
Den Entwicklern sprechen wir im Namen der OpenSource-Gemeinde
an dieser Stelle unseren Dank aus.
Das Programm lief ursprünglich unter DOS. Es besaß daher keine graphische
Oberfläche. Dies kann auch so bleiben:
Die Anwendung selbst ist rein textorientiert und benötigt zur Bedienung
keinerlei Knöpfe/Taster.
Cobukas wurde in TurboPascal 6.0 geschrieben. Für die Portierung wurde der
TurboPascal-kompatible Compiler 'Free Pascal' (fpc) gewählt. Er ist sehr
leistungsfähig, auch und besonders aufgrund seiner umfangreichen
Laufzeitbibliothek.
Projektziel war es nicht, den gesamten Umfang der ursprünglichen Version
zu portieren, sondern nur die Doppelte Buchführung in ihrer prinzipiellen
Form. Nicht portiert wurden bisher zum Beispiel
die Einnahmen-Ausgaben-Rechnung, die Kosten- und Leistungsrechnung,
die Offene-Posten-Buchhaltung, die Hilfsroutinen zum Verteilen und
Einsammeln von Aufgaben.
Die Quellen dafür stehen zur Verfügung - sollte sich jemand am weiteren
Ausbau von Cobukas interessiert zeigen.
Der alte Quellcode hatte mit den DOS-Beschränkungen zu kämpfen. Die gesamten
Daten und die umfangreichen Arbeitsmöglichkeiten sollten in den
Arbeitsspeicher passen. Von diesen Beschränkungen sind wir heute befreit. Das
heißt, wir brauchen im Quellcode nicht auf Arbeitsspeicherplatz Rücksicht zu
nehmen. Der im Prinzip gleiche oder ähnliche Quellcode kann an Ort und
Stelle verwendet werden und muss nicht in ein Unterprogramm ausgelagert
werden. Der gesamte Quellcode wird viel leichter verständlich.
Um die Verständlichkeit zu heben, wurden alle Dateinamen, Prozedur- und
Funktionsbezeichner, sowie alle Bezeicher für die Daten -auch für die
Laufvariablen - 'sprechend' gemacht: Sie bezeichnen jetzt das, wofür sie da
sind.
Verschwunden sind so allgemeine Bezeichner wie 'name' 'text', 'nr',
'para', 'saldo', ...
Verschwunden sind Laufzeitvariable wie 'i, j, k, l, n, ...'. Man soll
verstehen, worüber iteriert wird.
Die Änderungen haben wir dokumentiert, damit man weiß, wonach im alten
Quellcode zu suchen ist.
Cobukas erzeugte Fenster über Fenster. Auch dies trug dazu bei, dass der
Quellcode schwierig zu durchschauen war. Da Cobukas ein rein
textorientiertes Programm geblieben ist, läuft es problemlos in einem
Terminalfenster (Konsole). Das DOS-Fenster kannte nur 25 Zeilen. Eine
Beschränkung, die es nicht mehr gibt. Die Zeilenbreite von 80 Zeilen wurde
aber beibehalten.
Im Gegensatz zu DOS können Sie heute mehrere Fenster auf dem Bildschirm
öffnen. Ein Kontenliste muss daher nicht in der aktuell laufenden Anwendung
gezeigt werden. Entweder lassen Sie sich eine Kontenliste ausdrucken, oder
öffnen diese in einer zweiten, parallel laufenden Cobukas-Anwendung.
Der OriginalQuellcode ist schwer zu verstehen. Aufgrund der
DOS-Beschränkungen hat man sich damals wohl bemüht, nichts doppelt zu
programmieren. Dies hat zu vielen kleinen Funktionen und Prozeduren geführt,
die zig-fach in einander verschachtelt, das Verständnis für die Funktionsweise
des Codes nicht gerade befördern.
Die Struktur der Units war funktional aufgebaut, aber äußerlich nicht so gut
erkennbar. Durch entsprechende Nummerierungen wird dies jetzt deutlicher.
In der Tendenz ist im neuen Code alles - soweit wie möglich - an Ort und
Stelle erledigt worden, damit man lesen kann, was auf dem Bildschirm und in
der Verarbeitung passiert.
Für die Darstellung der Listen, von denen es ja viele gibt, ist jetzt eine
grundsätzliche - leicht verständliche - Verarbeitungsstruktur vorhanden, die
sich immer wiederholt, mit den gebotenen örtlichen Änderungen.
Die Datenstruktur ist die gleiche geblieben. Nur das Format des Datums wurde
verändert: Die Laufzeitbibliothek des fpc-Compilers bringt dieses nebst
passenden Verarbeitungsroutinen mit. Das spart.
Die Datei mit den Geschäftsvorfällen muss daher umgesetzt werden auf das
neue Datumsformat, was aber durch die Lese-Schreib-Routine 'rbwj'
(read-buch-write-jour ) erledigt wird.
Um die Datenstruktur besser vor Augen zu haben, sind in der Unit
"cbk02satz.pas" jetzt als Kommentare die vollständigen Namen aller Variablen
der in eineinander verschachtelten Records aufgelistet. Man kann sich dann
eine bessere Vorstellung machen, mit welcher Größe man eigentlich umgeht.
Die Bezeichner von Daten, Dateien und Prozeduren/Funktionen wurden so
geändert, dass man sofort erkennt (wenn man in der Materie steht), welche
Funktion gemeint ist.
Auf eine ganz Reihe von Funktionen und Prozeduren konnte verzichtet werden.
Die mit Free Pascal mitgelieferte Laufzeitbibliothek (RTL) enthält diese
inzwischen.
Die Anzahl der Units sollte und konnte reduziert, die Codestruktur klarer
gestaltet werden:
Diese Portierung verzichtet auf die Einnahmen-Überschuss-Rechnung.
Zur Auswahl eines neuen Benutzers muss das Programm neu gestartet werden.
Hier hatte das alte Programm sowieso Schwierigkeiten, wenn zwei größere
Anwendungen nacheinander geladen wurden.
Ein Funktion kann immer nur von einer Stelle her aufgerufen werden (keine
"Querverbindungen"), zum Beispiel das Einrichten eines neuen Kontos.
Ertragskonto und Umsatzsteuerkonto sind über die Umsatzsteuerkennung fest
miteinander gekoppelt, damit eine Verprobung der Ertragskonten möglich wird.
Die Vorsteuerkennung ist im Kontenplan zwar auch voreingestellt, kann man
aber während des Buchens ändern: Die möglichen Optionen werden angeboten und
die Auswahl kontrolliert.
Diese Änderungsmöglichkeit der Voreinstellung kann man aber auch
unterbinden: Dafür ist ein "V" an beliebiger Stelle in der ersten Zeile der
Datei 'cobukas.par' einzusetzen.
Hans-Josef Heck - hjh"@antispam at"mail.fsub.de