Lua-Skript

Top  Previous  Next

Mit der Skriptsprache Lua lassen sich, in Zusammenarbeit mit den vom Programm in Lua bereit gestellten Funktionen,  Buchungen benutzerdefiniert importieren, exportieren, bearbeiten und ausdrucken.

In Verbindung mit den frei im Internet erhältlichen Lua-Erweiterungen, die sich einfach einbinden lassen, ist im Prinzip jede denkbare Ausgabe möglich.

 

Dialog 'Lua-Skript-Verwaltung':

Mit dem Dialog können die Skripte bearbeitet und ausgeführt werden.

 

Die Skript-Dateien müssen sich im Unterordner 'luascript' abgehend vom Datenordner in einem der folgenden Unterordner befinden:

import: Skripte, die zum Import von Daten dienen.

export: Skripte, die zum Export von Daten dienen.

edit: Skripte, die zum Bearbeiten von Daten dienen. (Funktionen dazu sind noch nicht komplett)

print: Skripte, die zum Drucken von Daten dienen. (Funktionen dazu sind noch nicht komplett)

other: Andere Skripte. (Funktionen dazu sind noch nicht komplett)

 

Die Ordner lassen sich im Dialog mit dem Schalter Anzeigen öffnen.

Sofern sich im ausgewählten Ordner .lua-Dateien befinden, werden diese unter Auswahl zum Bearbeiten oder Ausführen aufgelistet.

Damit unter Beschreibung eine Beschreibung erscheint, sollte am Anfang der .lua-Datei ein Kommentar eingefügt werden, z.B.

--[[

Dies ist ein Beispielskript zum Importieren von Buchungsdaten aus einer Textdatei, die u.A. auch Splitt-Buchungen enthält.

Bitte importieren Sie die Beispiel-Daten nicht in eine bestehende Buchhaltung, sondern legen Sie zum Testen der Funktionen eine separate Buchhaltungsdatei an.

]]

 

Mit dem Schalter Bearbeiten mit kann ein Editor ausgewählt werden, standardmässig ist dies 'notepad', es ist jedoch dringend zu empfehlen sich einen Editor wie z.B. 'notepad++' zu installieren und diesen mit dem Schalter Editor hinzufügen einzutragen und dann den Listeneintrag Anderer Editor zu wählen.

Wichtige Tastenkombinationen für 'notepad++':

Block-Einrücken mit TAB.

Block zurück einrücken: UMSCHALT+TAB.

Zeile loeschen UMSCHALT+STRG+DEL

Wichtig: Es muss im Editor folgende Kodierung (Encoding) eingestellt sein: UTF-8 ohne BOM.

 

Mit dem Schalter Skript ausführen kann das Skript gestartet werden, es ist evtl. sinnvoll im Skript ein Abfragefenster einzubauen, das den Start bestätigt.

Bitte testen Sie neue Skripte zuerst an versuchsweise angelegten Firmen und nicht an Echtfällen.

Durch Einfügen der Funktion set_restore_mode (s.u.) vor der ersten Änderungsaktion kann der aktuelle Zustand der Buchhaltungsdatei zwecks Wiederherstellung gesichert werden.

Die zuletzt importierten Buchungen lassen sich außerdem auch wie hier beschrieben entfernen.

 

Hinweise zu Lua:

Feldindizes beginnen ab dem Wert 1, anstelle z.B. wie bei C-ähnlichen Sprachen bei 0.
Die Feldlänge von Objekten o wird mittels des Hash-Zeichens (#o) bestimmt.
Lua kennt keine bitweisen Operationen, es muss die Hilfsfunktion bit32 benutzt werden.
Ein und dieselbe Funktion kann sowohl eine unterschiedliche Anzahl von Parametern als auch unterschiedliche Typen zurückliefern und auch entgegenehmen (sehr praktisch).
Variablen sind standardmässig im globalen Sichtbarkeitsbereich, mit der Funktion local können sie im lokalen Scope abgelegt werden.
Zeichenketten werden mit .. addiert.
Es existiert kein continue.
Einzeilige Kommentare werden mit -- eingeleitet.
Mehrzeilige Kommentare werden mit --[[Kommtentar]] erstellt.

 

Umlaute und Sonderzeichen:

Lua erwartet alle Texteingaben als UTF-8, sollten Daten mittels der Lua-eigenen Dateifunktionen gelesen werden, die nicht im UTF8-Format vorliegen, müssen diese mit der Funktion to_utf8 konvertiert werden.

Lua selbst verwaltet die Daten intern mit 8-Bit-Zeichen, deswegen liefert z.B. die Funktion string.len("Ä") den Wert 2 zurück.

Um Umlaute ohne komplizierten Code richtig interpretieren zu können, sollten anstelle der Standard-Lua-String-Funktionen die Unicode-Funktionen der Lua-Selene-Bibliothek benutzt werden:

Obsolet bei Verwendung von Unicode:

string.byte

string.char

string.dump

string.find

string.format

string.gmatch

string.gsub

string.len

string.lower

string.match

string.rep

string.reverse

string.sub

string.upper

Neu:

unicode.utf8.byte

unicode.utf8.char

unicode.utf8.dump

unicode.utf8.find

unicode.utf8.format

unicode.utf8.gmatch

unicode.utf8.gsub

unicode.utf8.len

unicode.utf8.lower

unicode.utf8.match

unicode.utf8.rep

unicode.utf8.reverse

unicode.utf8.sub

unicode.utf8.upper

 

 

Funktionsreferenz der .taxpool-Lua-Bibilothek:

Um die Lua-internen Funktionen und diejenigen anderer Bibliotheken von denen von  Taxpool®-Buchhalter abzugrenzen, muss die Bibliotheksvorsilbe taxpool. verwendet werden.

 

Datensicherung des aktuellen Buchhaltungsdokuments erzeugen:

set_restore_mode

Beschreibung: Sichert das Buchhaltungsdokument einmalig, ein erneuter Aufruf wird danach ignoriert.

Optional kann es dann später komplett in den Zustand von vor dem ersten Skriptaufruf wiederhergestellt werden.

Parameter (optional):

0, Es wird nach dem Sichern kein Meldungsfenster ausgegeben.

1, (Standard), es wird nach dem Sichern ein Meldungsfenster ausgegeben.

Rückgabewert:

true, falls der Aufruf erfolgreich war, ansonsten false.

 

Vorgang starten, beenden:

start_transaction

Beschreibung: Startet einen neuen Vorgang. Diese Anweisung sollte am Anfang einer Lua-Datei stehen.

Parameter (optional):  Protokoll-Level. Typ Integer.

Das Protokoll wird nach dem Beenden des Scripts angezeigt, sofern es Einträge enthält.

0, es wird nicht protokolliert.

1, es werden nur Fehler protokolliert.

2, (Standard), es werden alle Informationen protokolliert.

 

end_transaction

Beschreibung: Beendet einen Vorgang. Diese Anweisung sollte am Ende einer Lua-Datei stehen.

Parameter 1: (optional):  Protokoll-Level. Typ Integer.

1 (Standard), wenn für neu angelegte Buchungen ein Auswahldialog erscheinen soll, in dem die zu erzeugenden Buchungen ausgewählt (Mehrfachauswahl) werden können, ansonsten 0.

Hinweis: Wird der Auswahldialog nicht mit OK beendet, werden alle Buchungen verworfen.

Parameter 2: (optional):  Importmarkierung setzen. Typ Integer.

1 (Standard), wenn für neu angelegte Buchungen die Markierung 'Zuletzt importiert' gesetzt und für alle bisherigen Buchungen entfernt werden soll , ansonsten 0.

Hinweis: Die Markierung kann benutzt werden, um nur die zuletzt importierten Buchungen zu löschen.

 

Hilfsfunktionen:

message_box

Beschreibung: Öffnet einen Dialog und gibt einen Wert zurück.

Parameter 1:  Der Dialogtext.

Parameter 2:  Der Dialogtyp, eine Kombination der nachfolgenden Werte.

DLG_OK        

DLG_YES                        

DLG_NO                        

DLG_CANCEL                

DLG_QUESTION        

DLG_INFO                

Rückgabewert:  DLG_OK oder DLG_YES oder DLG_NO oder DLG_CANCEL.

Beispiel:

if taxpool.message_box("Wollen Sie den Vorgang fortsetzen?",

       bit32.bor(taxpool.DLG_YES, taxpool.DLG_NO, taxpool.DLG_QUESTION))==taxpool.DLG_NO then

return

end

 

print_log

Beschreibung: Schreibt einen Text in die Protokolldatei, sofern start_transaction nicht mit dem Parameter 0 aufgerufen wurde.

Parameter:  Der Text, der protokolliert werden soll.

 

get_script_dir

Beschreibung: Liefert den Ordner, in dem sich die aktuelle Skriptdatei befindet, als Zeichenkette zurück.

 

to_utf8

Beschreibung: Gibt eine Zeichenkette zurück, bei der die  Eingabezeichenkette in das UTF8-Format konvertiert wurde.

Dies ist notwendig, wenn Daten aus einer Datei gelesen werden, die nicht im UTF8-Format vorliegen.

 

tokenize

Beschreibung: Teilt eine Zeichenkette in Sub-Zeichenketten auf, die durch einen Textseparator getrennt sind und gibt diese in einer Tabelle zurück.

Mit der Funktion unpack kann die Tabelle als einzelne Parameter zurückgeliefert werden.

Parameter:  Das Zeichen, das Textseparator fungiert.

Beispiel:

local t=taxpool.tokenize("A;B;C", ";")

--Einzelne Sub-Zeichenketten

local a, b, c=table.unpack(t)

 

trim

Beschreibung: Entfernt alle Leerzeichen, oder alle Leerzeichen und alle nicht-druckbaren Zeichen links und rechts der übergebenden Zeichenkette und gibt das Ergebnis zurück.

Parameter 1:  Die Eingabe-Zeichenkette.

Parameter 2 (optional):  0=Nur Leerzeichen entfernen, 1 (Standard) Leerzeichen und nicht-druckbare Zeichen entfernen.

Beispiel:

local s=taxpool.trim(" \r\nAAA\r\n ")

-- Erzeugt: 'AAA'

 

read_dir

Beschreibung: Liest einen Ordner ein und liefert die Dateinamen zurück.

Parameter 1:  Der Ordner, der eingelesen werden soll.

Parameter 2 (optional):  Die Dateiendungen, die berücksichtigt werden sollen, getrennt durch ein Semikolon. Standard: *.*

Parameter 3 (optional):  1 (Standard) Unterordner einlesen, ansonsten 0.

Beispiel:

taxpool.start_transaction(1)

t=taxpool.read_dir("y:\\temp\\", "*.*")

for i, v in ipairs(t) do taxpool.print_log(v) end

taxpool.end_transaction(1,1)

 

is_creditor

Beschreibung: Gibt true zurück, sofern es sich um einen Kreditor handelt, ansonsten false.

Parameter:  Eine Kontonummer, die überprüft werden soll.

 

is_debitor

Beschreibung: Gibt true zurück, sofern es sich um einen Debitor handelt, ansonsten false.

Parameter:  Eine Kontonummer, die überprüft werden soll.

 

 

add_debitor_entry, add_creditor_entry

Beschreibung: Erzeugt einen neuen Kunden oder Lieferanten und gibt dessen Zugriffsnummer zurück.

Bei einem Fehler werden -1 und eine Fehlermeldung zurückgeliefert.

Parameter 1:  Eine Kontonummer für Kunden 10000-69999 für Lieferanten 70000-99999.

Parameter 2 (optional):  Eine Firmenbezeichnung.

local deb, err=taxpool.add_debitor_entry(12000, "KundeX")

 

set_progress

Beschreibung: Funktionen für eine Fortschrittsanzeige.

Parameter 1:

1: Die Fortschrittsanzeige wird gestartet. Die Prozentwerte werden manuell gesetzt.

2: Die Fortschrittsanzeige wird gestartet. Die Prozentwerte werden durch einen Timer gesetzt.

3: Die Fortschrittsanzeige wird beendet.

4: Es wird ein manueller Prozentwert (0-100) gesetzt (Parameter 2).

5: Es wird ein Text gesetzt (Parameter 2).

6: Die Fortschrittsanzeige wird verborgen.

7: Die Fortschrittsanzeige wird angezeigt.

 

get_day, get_month, get_year

Beschreibung: Extrahiert den Tag, den Monat oder das Jahr aus einem Datumswert und gibt ihn zurück.

Parameter:  Entweder eine Datums-Zeichenkette oder ein Zahlenwert im internen Datumsformat (Jahr*10000+Monat*100+Tag).

Beispiel:

local x=taxpool.get_month("1.1.2014")

local x=taxpool.get_month(20140101)

 

get_date

Beschreibung: Erzeugt ein Datum im internen Datumsformat (Jahr*10000+Monat*100+Tag) und gibt es zurück.

Bei einem ungültigem Datum wird -1 zurückgeliefert.

Parameter:  Entweder eine Datums-Zeichenkette oder die Zahlenwerte für den Tag, den Monat und das Jahr.

Beispiel:

local x=taxpool.get_date("1.1.2014")

local x=taxpool.get_date(1,1,2014)

 

is_equal

Beschreibung: Vergleicht zwei Zahlen oder zwei Zeichenketten und gibt true zurück sofern diese gleich sind, ansonsten false.

Diese Funktion muss benutzt werden, wenn Buchungsbeträge verglichen werden. Der Vergleich == kann ansonsten zu einem falschen Ergebnis führen.

Parameter1 :  Zwei Zahlen oder Zwei Zeichenketten.

Parameter2 (optional) :  Bei Zahlen: Die Anzahl der Stellen, auf die beim Vergleich gerundet werden soll (Standard=2). Bei Zeichenketten: 1, wenn Groß-Kleinschreibung ignoriet werden soll, ansonsten 0.

Beispiel:

if taxpool.is_equal(var1, var2, 2) then

taxpool.print_log("identisch")

end

 

get_company_taxation_type

Beschreibung: Liefert den Versteuerungstyp der Firma für das übergebene Jahr zurück.

Parameter:  Das Jahr, für den der Versteuerungstyp ermittelt werden soll.

Rückgabewerte:

taxpool.IST_VERSTEUERUNG oder taxpool.SOLL_VERSTEUERUNG

Bei einem Fehler werden -1 und eine Fehlermeldung zurückgeliefert.

Beispiel:

local t, err=get_company_taxation_type(2014)

if t==-1 then

taxpool.print_log("Fehler="..err)

else

if t==taxpool.taxpool.IST_VERSTEUERUNG then

end

end

 

 

get_std_account_no_by_taxinfo

Beschreibung: Liefert ein Standardkonto zu einer Steuerinfo zurück.

Parameter 1:  Die Art der Steuerinfo.

taxpool.TAXINFO_STEUERSATZ oder taxpool.TAXINFO_STEUERSATZ_ID oder taxpool.TAXINFO_SCHLUESSEL.

taxpool.TAXINFO_TAXRATE oder taxpool.TAXINFO_TAXRATE_ID oder taxpool.TAXINFO_TAX_KEY.

Parameter 2:  Die Art des Kontos.

taxpool.AUSGABE oder taxpool.EINNAHME.

taxpool.EXPENSE oder taxpool.INCOME.

Parameter 3:  Ein Datum, entweder eine Datums-Zeichenkette oder ein Zahlenwert im internen Datumsformat (Jahr*10000+Monat*100+Tag).

Parameter 4:  Bei taxpool.TAXINFO_STEUERSATZ der Steuersatz, bei taxpool.TAXINFO_SCHLUESSEL der Steuerschlüssel.

Rückgabewerte:

Ein Konto aus dem Kontenrahmen, das zu den Steuerinformationen passt.

Bei einem Fehler werden -1 und eine Fehlermeldung zurückgeliefert.

Beispiel:

local konto, err=get_std_account_no_by_taxinfo(taxpool.TAXINFO_SCHLUESSEL, taxpool.EINNAHME, "1.1.2014", 46)

if konto==-1 then

taxpool.print_log("Fehler="..err)

end

 

 

 

 

Konfigurationsdialoge:

get_options

Beschreibung: Öffnet einen Dialog mit Einstellungen, z.B. zum Import von Dateien, und gibt die eingestellten Werte zurück.

Parameter 1:  Dialog-Typ. Typ Integer. Mögliche Werte:

CONFIG_IMPORT_BOOKINGS_TEXT: Es wird ein Dialog zum Import von Buchungen aus einer Textdatei geöffnet.

Parameter 2 (optional):  Ein Dateiname der Textdatei. Bei Leereingabe wird der zuletzt benutzte Dateiname im Dialog vorgegeben.

Parameter 3 (optional):  Der Spaltenseparator. Typ Zeichenkette, z.B. ';'. Wird der Parameter nicht angegeben wird der zuletzt für die ausgewählte Datei benutzte Wert vorgegeben.

Parameter 4 (optional):  1, falls die erste Zeile die Feldtitel enthält, ansonsten 0. Wird der Parameter nicht angegeben wird der zuletzt für die ausgewählte Datei benutzte Wert vorgegeben.

Parameter 5 (optional):  1, falls der Text im UTF8-Format gespeichert ist, ansonsten 0. Wird der Parameter nicht angegeben wird der zuletzt für die ausgewählte Datei benutzte Wert vorgegeben.

Hinweis: Textdateien, die importiert werden sollen, sollten am besten im UTF8-Format vorliegen, ansonsten müssen die Inhalte mit der Funktion to_utf8 konvertiert werden, damit es keine Umlautprobleme gibt. Jede Textverarbeitung, selbst 'notepad.exe' sieht i.d.R. ein Abspeichern als UTF8 vor.

 

Rückgabewerte:

1. Rückgabewert: true, falls der Aufruf erfolgreich war, ansonsten false.

2. Rückgabewert: Den ausgewählten Dateinamen, falls der Aufruf erfolgreich war, ansonsten eine Fehlermeldung.

3. Rückgabewert: Den ausgewählten Spaltenseparator als Zeichenkette.

4. Rückgabewert: true, falls die erste Zeile die Feldtitel enthält, ansonsten false.

5. Rückgabewert: true, falls der Text im UTF8-Format gespeichert ist, ansonsten false.

 

Beispiel:

local res, filename, delim, has_fieldnames, is_utf8=taxpool.get_options(taxpool.CONFIG_IMPORT_BOOKINGS_TEXT,

taxpool.get_script_dir().."beispiel_daten1.csv", ";", 1, 1)

 

if not res then

-- in filename wird im fehlerfall eine fehlerausgabe gespeichert

taxpool.print_log(filename)

return

end

 

 

Neue Buchung erzeugen:

add_booking_entry

Beschreibung: Erzeugt eine neue Buchung im Speicher und liefert eine eindeutige Zugriffsnummer zurück, die der nachfolgenden Bearbeitung dient.

Die Funktion end_transaction speichert die neu erzeugten Buchungen später in der Datenbank, ungültige Buchungen, bei denen Eingabeparameter falsch oder unvollständig gesetzt wurden, müssen manuell nachbearbeitet werden und werden in Auswertungen ignoriert.

Beispiel:

local buchung=taxpool.add_booking_entry()

 

 

Buchungen auflisten:

get_bookings

Beschreibung: Liefert die Buchungen eines Dokumentes als Tabelle zurück. Dabei können optional verschiedene Filter festgelegt werden.

Parameter 1 (optional):  Typ Integer.

0, (Standard), es werden nur bereits gebuchte Buchungen gelistet.

1, es werden nur Buchungen gelistet, die mittels Script neu erstellt, aber noch nicht gebucht wurden.

Parameter 2 (optional) : Ein optionales Belegdatum, ab dem Buchungen berücksichtigt werden. Typ Zeichenkette.

Parameter 3  (optional): Ein optionales Belegdatum, bis zu dem Buchungen berücksichtigt werden. Typ Zeichenkette.

Datumsangaben müssen im Bereich vom 1.1.2002 bis zum 31.12.2037 sein.

 

Auswahl nach Buchungseigenschaften (s.u.)

-1 bedeutet, dass kein Filter gesetzt wird:

Die abgefragten Eigenschaften müssen mit der Funktion bit32.bor() addiert werden, sofern es sich um mehr als eine Eigenschaft handelt.

Parameter 4 (optional, Standard=-1):

Eine Auswahl erfolgt, sofern nur einer der abgefragten Werte vorhanden ist.

Parameter 5 (optional, Standard=-1):

Eine Auswahl erfolgt, sofern alle abgefragten Werte vorhanden sind.

Parameter 6 (optional, Standard=-1):

Eine Auswahl erfolgt, sofern keiner der abgefragten Werte vorhanden ist.

Parameter 7 (optional, Standard=-1):

Eine Auswahl erfolgt, sofern die abgefragten Werte in der Kombination nicht vorhanden sind.

 

Parameter 8 (optional) : Ein optionaler Kontenfilter von Konten, die im Soll oder Haben enthalten sein müssen. Typ Zeichenkette.

Parameter 9  (optional): Ein optionaler Negativ-Kontenfilter, eine Auswahl erfolgt, sofern keines der Konten im Soll oder Haben enthalten ist. Typ Zeichenkette.

Im Kontenfilter werden die einzelnen Konten mittels eines Kommas getrennt, Bereiche werden mit einem Minuszeichen angegeben.

Beispiel: 1200,1000,8400-8430 wählt die Konten 1200 und 1000 und alle vorhandenen Konten zwischen 8400 und 8430 aus.

 

Parameter 10  (optional): Es erscheint ein Auswahldialog, in dem die Einträge anschließend noch manuell ausgewählt werden können.

 

Rückgabewerte:

Eine Tabelle mit den Zugriffsnummern der gefundenen Buchungen.

 

Beispiel:

--Alle Buchungen im Stapel von 2012, ausgenommen Splitt-Buchungen und ungueltige Buchungen

local t=taxpool.get_bookings(0, "1.1.2012", "31.12.2012", taxpool.BES_STAPEL, -1, bit32.bor(taxpool.BES_UNGUELTIG, taxpool.BES_SPLIT), -1)

taxpool.taxpool.print_log(#t.." Datensaetze")  

 

for i=1,#t do

local res, data=taxpool.get_booking_entry_field(t[i], taxpool.BEF_BELEGDATUM, taxpool.AS_STRING)

if res then

taxpool.taxpool.print_log("Belegdatum="..data)

end

end

 

 

Inhalte von Buchungen:

get_booking_entry_field

Beschreibung: Liefert den Inhalt eines oder mehrerer Datenfelder einer Buchung.

Parameter 1: Die Zugriffsnummer einer Buchung. Typ Integer.

Parameter 2: Der Feldname. Typ Konstante (siehe unten).

Parameter 3: Zusatzoptionen für den Datentyp und die Formatierung des Rückgabewerts.

Die Zusatzoptionen müssen mit der Funktion bit32.bor() addiert werden, sofern es sich um mehr als eine Eigenschaft handelt:

 

AS_NUMBER: Es wird eine Zahl zurückgegeben, sofern dies möglich ist.

Bei Datumswerten wird das Datum als 10000*Jahr+100*Monat+Tag berechnet.

 

AS_STRING: (Standard), alle Inhalte, auch diejenigen von Zahlenfeldern werden in eine Zeichenkette umgewandelt.

 

DECIMAL_SEPARATOR: Zahlen werden mit Tausenderpunkten versehen, nur in Verbindung mit AS_STRING.

 

RETURN_ID: Es wird die interne Datenbank-ID zurückgegeben, dies wird z.B. beim Steuersatz benutzt.

 

LOCALE: Zahlen werden landestypisch formatiert, nur in Verbindung mit AS_STRING.

Bei einem Bruttobetrag von "1.23" liefert die Funktion in diesem Fall den Wert "1,23" ansonsten "1.23".

 

BOOL_AS_TEXT: Logische Felder werden nicht als 0 oder 1, sondern als "Ja" oder "Nein" zurückgegeben, nur in Verbindung mit AS_STRING.

 

Rückgabewerte:

1. Parameter: true oder false bei einem Fehler.

2. Parameter: bei true die Feldinhalte, bei false ist im ersten Feldinhalt eine Fehlermeldung enthalten.

 

Beispiel:

local res,  brutto, belegdatum, bt=taxpool.get_booking_entry_field(i,

taxpool.BEF_BRUTTO, bit32.bor(taxpool.AS_STRING, taxpool.LOCALE, taxpool.DECIMAL_SEPARATOR),

taxpool.BEF_BELEGDATUM, taxpool.AS_STRING,

taxpool.BEF_BUCHUNGSTEXT, taxpool.AS_STRING

)

 

Feldnamen zu Parameter 2:

Es kann sowohl der englische als auch der deutsche Name benutzt werden.

 

BEF_ID: Die interne ID der Buchung.

BEF_BELEGDATUM: Das Belegdatum.

BEF_AENDERUNGS_DATUM: Das Änderungsdatum.

BEF_BUCHUNGSPERIODE: Die Buchungsperiode (-1, falls nicht zugewiesen).

 

BEF_BUCHUNGSTEXT: Der Buchungstext.

BEF_BELEG: Der komplette Belegtext, z.B. 'Bank-0001'.

BEF_BELEGNUMMERN_ZAEHLER: Der interne Zahlenwert des Belegs, z.B. 1.

BEF_BELEGNUMMERN_KREIS: Der Belegkreis des Belegs, z.B. 'Bank'.

BEF_BELEGNUMMERN_KREIS_ID: Die interne ID des Belegkreises.

BEF_BRUTTO: Der Bruttobetrag.

BEF_NETTO: Der Nettobetrag.

 

BEF_STEUERSATZ:

BEF_STEUERSATZ_SOLL:

BEF_STEUERSATZ_HABEN:

Gibt den internen Steuersatz (nicht den Prozentsatz) entweder als ID zurück (Parameter 3 ist 1) oder den Namen des Steuersatzes als Zeichenkette (Parameter 3 ist 0).

Jeder Steuersatz hat im aktuellen Dokument eine eindeutige ID, diese ist im Verwaltungsdialog der Steuersätze im Eingabefeld Interne ID: ablesbar. Hinter einer ID verbergen sich sämtliche Einstellungen des entsprechenden Steuersatzes.

BEF_STEUERSATZ_ID                        

BEF_STEUERSATZ_SOLL_ID                

BEF_STEUERSATZ_HABEN_ID

Die interne ID des Steuersatzes.

 

BEF_STEUERSATZ_SOLL und BEF_STEUERSATZ_HABEN werden beim Auslesen des Wertes mit BEF_STEUERSATZ interpretiert, beim Setzen des Wertes kann ein Vorschlag gegeben werden, welches Konto den Steuersatz enthält, sofern dies aus den Kontentypen nicht eindeutig hervorgeht.

 

BEF_UST_NICHT_FAELLIG: 1, sofern es sich um nicht fällige Umsatzsteuer handelt, ansonsten 0.

BEF_SOLLKONTO: Die Soll-Kontonummer.

BEF_HABENKONTO: Die Haben-Kontonummer.

BEF_UNGUELTIG: : 1, sofern es sich um ein ungültige Buchung handelt, ansonsten 0.

Ungültige Buchungen können beim Import entstehen, befinden sich immer im Stapel und werden bei Auswertungen ignoriert.

 

BEF_KOSTENSTELLE_1: Der Name der ersten Kostenstelle.

BEF_KOSTENSTELLE_2: Der Name der zweiten Kostenstelle.

BEF_KOSTENSTELLE_1_ID:  Die interne ID der ersten Kostenstelle.                

BEF_KOSTENSTELLE_2_ID:  Die interne ID der zweiten Kostenstelle.        

 

BEF_DOKUMENTE: Die einer Buchung zugeordneten Dokumente als Zeichenkette mit folgendem Aufbau:

1. Parameter: Kompletter Pfad zum Dokument.

2. Parameter: Wenn sich das Dokument im Standarddokumentenordner (/DATENORDNER/MANDANTEN/FIRMENNAME/DOKUMENTE) befindet 1 ansonsten (die Datei befindet sich im extern) 0.

3. Parameter: Beschreibung (optional).

Die Parameter werden durch ein Semikolon (;), Zeilen durch ein Oder (|) getrennt.

Beispiel: 'c:\1.pfd;0;Dokument 1|c:\2.pfd;0;Dokument 2'

 

BEF_MAIN_SPLIT_ID: Die interne ID der Haupt-Splittbuchung.

BEF_KONTO: Die Soll-Kontonummer oder die Haben-Kontonummer.

BEF_STEUERKONTO_UST: Die Kontonummer des Umsatzsteuer-Kontos, -1 falls nicht vorhanden.

BEF_STEUERKONTO_VST: Die Kontonummer des Vorsteuer-Kontos, -1 falls nicht vorhanden.

BEF_STEUER_BETRAG: Der Steuerbetrag (Brutto-Netto).

BEF_STEUER_PROZENT: Der Prozentsatz der Steuer.

BEF_EU_STEUERID: EU-UmsatzSteuerID.

BEF_ISO3166a3: Dreistelliger Länder-Code des EU-Landes.

 

Englische Namen:

BEF_ID

BEF_VOUCHER_DATE

BEF_DATE_CHANGED

BEF_BOOKING_PERIOD

 

BEF_BOOKING_TEXT

BEF_VOUCHER

BEF_VOUCHER_COUNTER

BEF_VOUCHER_CATEGORY

BEF_VOUCHER_CATEGORY_ID

BEF_GROSS

BEF_NET

 

BEF_TAXRATE

BEF_TAXRATE_DEBIT_SIDE_ACCOUNT

BEF_TAXRATE_CREDIT_SIDE_ACCOUNT

BEF_TAXRATE_ID

BEF_TAXRATE_ID_DEBIT_SIDE_ACCOUNT

BEF_TAXRATE_ID_CREDIT_SIDE_ACCOUNT

 

BEF_VAT_NOT_DUE

BEF_DEBIT_SIDE_ACCOUNT

BEF_CREDIT_SIDE_ACCOUNT

BEF_INVALID

 

BEF_COST_CENTER_1

BEF_COST_CENTER_2

BEF_COST_CENTER_1_ID

BEF_COST_CENTER_2_ID

 

BEF_DOCUMENTS

 

BEF_MAIN_SPLIT_ID

BEF_ACCOUNT

BEF_TAX_ACCOUNT_NO_VAT

BEF_TAX_ACCOUNT_NO_INPUT_TAX

BEF_TAX_AMOUNT

BEF_TAX_PERCENT

BEF_EU_VATID

BEF_ISO3166a3

 

set_booking_entry_field

Beschreibung: Setzt den Inhalt eines oder mehrerer Datenfelder einer Buchung.

Um die Funktion zu beschleunigen, sollten soviele Inhalte wie möglich gleichzeitig gesetzt werden.

Bereits bestehende Buchungen werden sofort geändert, Buchungen die mit add_booking_entry neu angelegt wurden werden erst am Ende einer Transaktion (end_transaction) in die Datenbank geschrieben.

Feldinhalte, die nicht gesetzt werden, können mit dem Parameter nil initialisiert werden, in diesem Fall findet keine Auswertung statt, siehe Beispiel.

Parameter 1: Die Zugriffsnummer einer Buchung. Typ Integer.

Parameter 2: Der Feldname. Typ Konstante (siehe get_booking_entry_field).

Parameter 3: Der neue Feldinhalt.

Rückgabewerte:

1. Parameter: true oder false bei einem Fehler.

2. Parameter: Bei einem Fehler  die Fehlermeldung.

 

Beispiel:

local buchung=taxpool.add_booking_entry()

taxpool.set_booking_entry_field(buchung,

                                       taxpool.BEF_BELEGDATUM, "12.4.2012",

                                       taxpool.BEF_BUCHUNGSTEXT, "Rechnung RE123456")

 

 

Steuersätze ermitteln und Setzen:

Hinweis: Die eindeutige ID eines Steuersatzes wird in der Verwaltung der Steuersätze bei einem ausgewählten Steuersatz angezeigt.

calc_tax_id

Beschreibung: Berechnet den neuen Steuersatz einer Buchung aus dem Sollkonto, dem Habenkonto, einem optionalen Steuerprozentwert, oder einem optionalen Steuerschlüssel und gibt ihn zurück.

Parameter 1: Die Soll-Kontonummer.

Parameter 2: Die Haben-Kontonummer.

Parameter 3: Das Belegdatum als Zeichenkette.

Parameter 4 (optional): Der Prozentsatz der Steuer. Wenn der Wert nicht ausgewertet werden soll, kann eine Leer-Zeichenkette ("") übergeben werden.

Parameter 5 (optional): Der Steuerschlüssel. Wenn der Wert nicht ausgewertet werden soll, kann eine Leer-Zeichenkette ("") übergeben werden.

Rückgabewerte:

1. Parameter: Die eindeutige ID eines Steuersatzes, bei einem Fehler wird -1 zurückgegeben.

2. Parameter: Bei einem Fehler (1. Parameter -1) ist die Fehlermeldung enthalten.

Beispiel:

local taxid=taxpool.calc_tax_id(Sollkonto, Habenkonto, Belegdatum, Steuersatz, "")

taxpool.set_booking_entry_field(buchung, taxpool.BEF_STEUERSATZ_ID, taxid)

 

Eigenschaften von Buchungen:

Die Eigenschaften einer Buchung kann zum Filtern von Buchungen benutzt werden, folgende Werte sind abrufbar, es kann dabei sowohl der englische als auch der deutsche Name benutzt werden:

 

BES_STAPEL: Die Buchung befindet sich im Stapel.

BES_JOURNAL: Die Buchung befindet sich im Journal.

BES_STORNO: Die Buchung wurde storniert.

BES_MARKIERT: Die Buchung wurde markiert. (Bisher nicht verwendbar).

BES_SPLIT: Es handelt sich um eine Splitt-Buchung.

BES_MAIN_SPLIT: Es handelt sich um eine Haupt-Splitt-Buchung. Zum Aufbau von Splitt-Buchungen, siehe weiter unten.

BES_SUB_SPLIT: Es handelt sich um eine Sub-Splitt-Buchung. Zum Aufbau von Splitt-Buchungen, siehe weiter unten.

BES_UNGUELTIG: Die Buchung ist ungültig. Ungültige Buchungen können beim Import entstehen, befinden sich immer im Stapel und werden bei Auswertungen ignoriert.

BES_VST: Die Buchung enthält Vorsteuer.

BES_UST: Die Buchung enthält Umsatzsteuer.

BES_VST_SOLL: Die Vorsteuer ist im Soll gebucht, wichtig bei Buchungen, die Vorsteuer und Umsatzsteuer enthalten (EU-Erwerb, EU-Erhaltene Leistungen), kann aber auch bei Buchungen, die nur Umsatzsteuer oder Vorsteuer enthalten, benutzt werden.

BES_STEUER_SOLL: Das Steuerkonto ist im Soll, bei Buchungen, die nur Umsatzsteuer oder Vorsteuer enthalten. Bei EU-Erwerb, EU-Erhaltene Leistungen wird true zurückgegeben, wenn das Vorsteuerkonto im Soll ist.

BES_VST_NICHT_ANRECHENBAR: Die Vorsteuer ist nicht anrechenbar. Hinweis: Die Eigenschaft kann bisher noch nicht ausgewertet werden.

BES_UST_NICHT_FAELLIG: Die Umsatzsteuer ist nicht fällig.

BES_EU_STEUER: Die Buchung enthält einen EU-Steuersatz (EU-Erwerb, EU-Erhaltene Leistungen).

BES_P13B_STEUER: Die Buchung enthält einen Steuersatz nach Paragraph 13b.

BES_INAKTIV: Die Buchung wurde mit dem Schalter Extras in der Buchungsmaske für Auswertungen als Inaktiv eingestellt.

BES_KONTOAUSZUG: Die Buchung ist durch den Import eines Kontoauszugs entstanden.

BES_SUMMENVORTRAG: Es handelt sich um eine aktive (nicht stornierte) Summenvortrags-Buchung.

BES_AUTO_SUMMENVORTRAG: Es handelt sich um eine automatisch erstellte Summenvortrags-Buchung.

BES_SPLIT_SOLL:

Bei einer Haupt-Splitt-Buchung: Die Habenseite enthält das Hauptkonto, die Sollseite ist ungültig.

Bei einer Sub-Splitt-Buchung: Die Habenseite enthält das Gegenkonto der Haupt-Splitt-Buchung (zumeist ein Erfolgskonto), die Sollseite enthält das Konto der Haupt-Splitt-Buchung. Zum Aufbau von Splitt-Buchungen, siehe weiter unten.

BES_AUTO_ANLAGE: Anlage-Buchung, die noch automatisch verwaltet wird.

BES_ANLAGE: Anlage-Buchung, die noch automatisch verwaltet wird, oder ehemals automatisch verwaltet wurde.

BES_AUTO_FAKTURA: Fakturabuchung, die noch automatisch verwaltet wird.

BES_FAKTURA: Fakturabuchung, die noch automatisch verwaltet wird, oder ehemals automatisch verwaltet wurde.

BES_IMPORTIERT: Die Buchung wurde importiert.

BES_ZULETZT_IMPORTIERT: Die Buchung wurde beim letzten Import importiert.

BES_DATUM_GESPERRT: Der Monat, in dem das Belegdatum liegt, ist für Buchungen gesperrt.

 

Englische Namen:

BES_NOT_FINAL

BES_FINAL

BES_CANCELLED

BES_MARKED

BES_SPLIT

BES_MAIN_SPLIT

BES_SUB_SPLIT

BES_INVALID

BES_INPUT_TAX

BES_VAT

BES_INPUT_TAX_DEBIT_SIDE

BES_TAX_DEBIT_SIDE  

BES_INPUT_TAX_NOT_ALLOWABLE

BES_VAT_NOT_DUE

BES_TAX_EU

BES_TAX_P13B

BES_INACTIVE

BES_ACCOUNT_STATEMENT

BES_AMOUNT_BROUGHT_FORWARD

BES_AUTO_AMOUNT_BROUGHT_FORWARD

BES_SPLIT_DEBIT_SIDE

BES_AUTO_ASSET_POSTING

BES_ASSET_POSTING

BES_AUTO_BILLING_SYSTEM

BES_BILLING_SYSTEM

BES_IMPORTED

BES_LAST_IMPORTED

BES_DATE_LOCKED

 

 

get_booking_entry_status

Beschreibung: Fragt Eigenschaften einer Buchung (siehe oben) ab.

Die Funktion ist nur auf Buchungen anwendbar, die bereits in die Datenbank gebucht wurden, Buchungen, die mit add_booking_entry angelegt wurden und noch nicht verbucht wurden, können nicht abgefragt werden.

Parameter 1: Die Zugriffsnummer einer Buchung. Typ Integer.

Parameter 2: Eine oder mehrere Eigenschaften, die abgefragt werden sollen.

Die abgefragten Eigenschaften müssen mit der Funktion bit32.bor() addiert werden, sofern es sich um mehr als eine Eigenschaft handelt.

Parameter 3 (optional, Standard=2):

Typ Integer.

1: Die Funktion liefert im zweiten Parameter true, sofern nur einer der abgefragtene Wert vorhanden ist.

2: Die Funktion liefert im zweiten Parameter nur true, sofern alle abgefragten Werte vorhanden sind.

3: Die Funktion liefert im zweiten Parameter true, sofern keiner der abgefragten Werte vorhanden sind.

4: Die Funktion liefert im zweiten Parameter nur true, sofern die abgefragten Werte in der Kombination nicht vorhanden sind.

 

Rückgabewerte:

1. Parameter: true oder false bei einem Fehler.

2. Parameter: Bei einem Fehler wird die Fehlermeldung zurückgegeben, ansonsten true , sofern die Buchung im Filter ist, ansonsten false.

 

Beispiel:

local res, status=taxpool.get_booking_entry_status(i, bit32.bor(taxpool.BES_JOURNAL, taxpool.BES_SPLIT))

if res then

 

if status then

taxpool.print_log("Splitt-Buchung im Journal")

else

taxpool.print_log("Keine Splitt-Buchung im Journal")

end

 

else

taxpool.print_log("Fehler="..status)

end

 

 

 

Buchungen Löschen, Stornieren, Gutschreiben, Duplizieren:

get_booking_entry_edit_status

Beschreibung: Ermittelt, welche Bearbeiten-Funktionen bei einer Buchung möglich sind.

Die Funktion ist nur auf Buchungen anwendbar, die bereits in die Datenbank gebucht wurden, Buchungen, die mit add_booking_entry angelegt wurden und noch nicht verbucht wurden, können nicht abgefragt werden.

Parameter 1: Die Zugriffsnummer einer Buchung. Typ Integer.

Parameter 2: Ein Modus oder mehrere Modi, die abgefragt werden sollen.

Die abgefragten Eigenschaften müssen mit der Funktion bit32.bor() addiert werden, sofern es sich um mehr als eine Eigenschaft handelt.

Es kann dabei sowohl der englische als auch der deutsche Name benutzt werden:

MODUS_BEARBEITEN: Die Buchung kann geändert werden.

MODUS_LOESCHEN: Die Buchung kann gelöscht werden.

MODUS_STORNO: Die Buchung kann storniert werden.

MODUS_GUTSCHRIFT: Die Buchung kann gutgeschrieben werden.

MODUS_DUPLIKAT: Die Buchung kann dupliziert werden.

 

Englische Namen:

MODE_EDIT

MODE_DEL

MODE_CANCELLATION

MODE_CREDIT_NOTE

MODE_DUPLICATE

 

Parameter 3 (optional, Standard=DATUM_BELEGDATUM):

Bei den Modi MODUS_STORNO, MODUS_GUTSCHRIFT, MODUS_DUPLIKAT ist eine zusätzliche Datumsangabe zu dem Belegdatum der zweiten Buchung notwendig.

Dabei kann entweder ein konkretes Datum eingetragen werden, oder eine der nachfolgenden Konstanten:

DATUM_BELEGDATUM: Das Belegdatum der Originalbuchung.

DATUM_AKT_DATUM: Das aktuelle Datum.

 

Englische Namen:

DATE_VOUCHER_DATE

DATE_CURRENT_DATE

 

Rückgabewerte:

1. Parameter: true falls die Modi zugelassen sind, ansonsten false.

2. Parameter: Eine Info, warum die Modi nicht zugelassen sind.

 

Beispiel:

local res, info=taxpool.get_booking_entry_edit_status(i, taxpool.MODUS_STORNO, taxpool.DATUM_BELEGDATUM)

if res then

taxpool.print_log("Die Buchung kann storniert werden")

else

taxpool.print_log("Die Buchung kann nicht storniert werden: "..info)

end

 

booking_entry_edit_action

Beschreibung: Löscht oder storniert eine Buchung oder erstellt eine Gutschrift oder ein Duplikat einer Buchung.

Die Funktion ist nur auf Buchungen anwendbar, die bereits in die Datenbank gebucht wurden, Buchungen, die mit add_booking_entry angelegt wurden und noch nicht verbucht wurden, können nicht abgefragt werden.

Parameter 1: Die Zugriffsnummer einer Buchung. Typ Integer.

Parameter 2: Die Aktion, es kann nur eine Aktion gleichzeitig durchgeführt werden, eine Kombination ist nicht zulässig.

Zu den Werten siehe get_booking_entry_edit_status.

Parameter 3 (optional, Standard=DATUM_BELEGDATUM):

Bei den Modi MODUS_STORNO, MODUS_GUTSCHRIFT, MODUS_DUPLIKAT ist eine zusätzliche Datumsangabe zu dem Belegdatum der zweiten Buchung notwendig.

Dabei kann entweder ein konkretes Datum eingetragen werden, oder eine der nachfolgenden Konstanten:

DATUM_BELEGDATUM: Das Belegdatum der Originalbuchung.

DATUM_AKT_DATUM: Das aktuelle Datum.

 

Rückgabewerte:

1. Parameter: true falls die Modi zugelassen sind, ansonsten false.

2. Parameter: Bei Erfolg die Zugriffsnummer der neuen Buchung bei den Aktionen MODUS_STORNO, MODUS_GUTSCHRIFT, MODUS_DUPLIKAT, -1 bei der Aktion MODUS_LOESCHEN.

Im Fehler enthält Parameter 2 den Fehlertext.

 

Beispiel:

taxpool.booking_entry_edit_action(buchung, taxpool.MODUS_LOESCHEN)

 

 

Beleg-Funktionen:

Setzen des Belegkreises einer Buchung:

taxpool.set_booking_entry_field(buchung, taxpool.BEF_BELEGNUMMERN_KREIS, belegkreis)

 

Setzen des Belegzählers einer Buchung:                

taxpool.set_booking_entry_field(buchung, taxpool.BEF_BELEGNUMMERN_ZAEHLER, belegzahl)

Hinweis: Wird der Zähler nicht durch die Funkion gesetzt, benutzt das Programm automatisch den nächsten freien Zähler.

 

find_voucher_category

Beschreibung: Ermittelt, ob ein Belegkreis bereits existiert.

Parameter: Der Name eines Belegkreises.

Rückgabewerte: true gefunden, ansonsten false.

Beispiel:

if not taxpool.find_voucher_category(belegkreis) then

taxpool.add_voucher_entry(-1, "", belegkreis) --kontonummer, datum, titel

end

 

add_voucher_entry

Beschreibung: Legt einen neuen Belegkreis an.

Parameter 1: Das Konto, das dem Belegkreis optional zugeordnet ist (i.d.R. ein Finanzkonto) oder -1, falls kein Konto zugeordnet ist, z.B. bei ER (Eingangsrechnung), etc.

Es kann auch  vorerst eine -1 zugeordnet und später, in der Belegkreisverwaltung manuell ein Konto dazu eingetragen werden, damit ein Bebuchen im Einfach-Buchen-Modus möglich ist.

Parameter 2: Falls ein Konto übergeben wurde, das Datum, ab dem das Konto gültig ist, ansonsten eine Leerzeichenkettte (""). Sollte ein Belegdatum einer Buchung verfügbar sein, kann dieses eingetragen werden, ansonsten kann auch eine Leerzeichenkettte eingetragen werden.

Parameter 3: Der Titel des neuen Belegkreises.

 

Rückgabewerte: true oder false bei einem Fehler.

Beispiel:

if not taxpool.find_voucher_category(belegkreis) then

taxpool.add_voucher_entry(-1, "", belegkreis) --kontonummer, datum, titel

end

 

 

 

Splitt-Buchungs-Funktionen:

Haupt-Splitt-Buchungen dienen nur zur Verwaltung der eigentlichen Buchungen und  müssen bei Berechnungen mittels Filter übersprungen werden, da es sich dabei nur um Hilfsbuchungen handelt.

Informationen zum Aufbau von Splitt-Buchungen finden Sie in dem Eintrag Aufbau von Splitt-Buchungen:

Sie dienen z.B. zum Löschen oder Stornieren einer kompletten Splitt-Buchung.

 

get_booking_entry_main_split

Beschreibung: Ermittelt die Splitt-Haupt-Buchung zu einer Splitt-Sub-Buchung.

Die Funktion ist nur auf Buchungen anwendbar, die bereits in die Datenbank gebucht wurden, Buchungen, die mit add_booking_entry angelegt wurden und noch nicht verbucht wurden, können nicht abgefragt werden.

Parameter 1: Die Zugriffsnummer einer Splitt-Sub-Buchung. Typ Integer.

Rückgabewerte:

1. Parameter: true oder false bei einem Fehler.

2. Parameter: Bei einem Fehler wird die Fehlermeldung zurückgegeben, ansonsten die Zugriffsnummer Splitt-Haupt-Buchung.

 

Beispiel:

local res, data=taxpool.get_booking_entry_main_split(i)

if res then

taxpool.set_booking_entry_field(data, "buchungstext", "test")

taxpool.set_booking_entry_field(data, "belegdatum", "1.9.2012")

else

taxpool.print_log("Fehler="..data)

end

 

get_booking_entry_sub_splits

Beschreibung: Ermittelt die Splitt-Sub-Buchungen zu einer Splitt-Haupt-Buchung als Tabelle.

Die Funktion ist nur auf Buchungen anwendbar, die bereits in die Datenbank gebucht wurden, Buchungen, die mit add_booking_entry angelegt wurden und noch nicht verbucht wurden, können nicht abgefragt werden.

Parameter 1: Die Zugriffsnummer einer Splitt-Sub-Buchung. Typ Integer.

 

Rückgabewerte:

1. Parameter: true oder false bei einem Fehler.

2. Parameter: Bei einem Fehler wird die Fehlermeldung zurückgegeben, ansonsten eine Tabelle mit den Zugriffsnummern der gefundenen Buchungen.

 

Beispiel:

local res, childs=taxpool.get_booking_entry_sub_splits(imain)

if res then

taxpool.print_log(#childs.." sub-splits")  

else

taxpool.print_log("Fehler="..childs)

end

 

create_booking_entry_split

Beschreibung: Erzeugt eine Splitt-Buchung aus Einzelbuchungen.

Parameter 1: Die Zugriffsnummer einer Einzelbuchung. Typ Integer.

Parameter 2: Eine eindeutige Gruppen-Nummer. Typ Integer. Alle Buchungen mit der gleichen Gruppen-Nummer werden nach dem Aufruf von start_transaction zusammengefasst.

Parameter 3: Der Buchungstext der zu erzeugenden Haupt-Splitt-Buchung.

 

Rückgabewerte:

1. Parameter: true oder false bei einem Fehler.

2. Parameter: Bei einem Fehler wird die Fehlermeldung zurückgegeben.

 

Beispiel:

taxpool.create_booking_entry_split(buchung, groupcounter, splittbuchungstext)

 

 

Storno-Buchungs-Funktionen:

Informationen zum Aufbau von Storno-Buchungen finden Sie in dem Eintrag Gutschrift und Storno.

Normalerweise haben die Originalbuchung und die Stornobuchung das gleiche Belegdatum, es ist jedoch in Taxpool®-Buchhalter auch ein abweichendes Datum möglich, deswegen dürfen in Auswertungen zwecks Übersichtlichkeit nur Stornobuchungen ausgeblendet werden, die sich im Zeitraum der Auswertung ausgleichen.

 

check_booking_entries_cancelled_in_date_range

Beschreibung: Ermittelt ob die Belegdatumswerte der Stornobuchung und der Orignalbuchung beide im Ausgabezeitraum liegen.

Die Funktion ist nur auf Buchungen anwendbar, die bereits in die Datenbank gebucht wurden, Buchungen, die mit add_booking_entry angelegt wurden und noch nicht verbucht wurden, können nicht abgefragt werden.

Parameter 1: Die Zugriffsnummer einer Storno-Buchung. Typ Integer.

Parameter 2: Ein Belegdatum, ab dem Buchungen berücksichtigt werden. Typ Zeichenkette.

Parameter 3: Ein Belegdatum, bis zu dem Buchungen berücksichtigt werden. Typ Zeichenkette.

Datumsangaben müssen im Bereich vom 1.1.2002 bis zum 31.12.2037 sein.

 

Rückgabewerte:

1. Parameter: true oder false bei einem Fehler.

2. Parameter: Bei einem Fehler wird die Fehlermeldung zurückgegeben, ansonsten true oder false.

 

Beispiel:

local res, samedate=taxpool.check_booking_entries_cancelled_in_date_range(istorno, "1.1.2012", "31.12.2012")

if res then

taxpool.print_log("ausgleichend="..tostring(samedate))

else

taxpool.print_log("fehler ausgleichend="..tostring(samedate))

end

 

get_booking_entry_cancelled_sibling

Beschreibung: Ermittelt die Zugriffsnummer der Gegenbuchung einer Stornobuchung.

Die Funktion ist nur auf Buchungen anwendbar, die bereits in die Datenbank gebucht wurden, Buchungen, die mit add_booking_entry angelegt wurden und noch nicht verbucht wurden, können nicht abgefragt werden.

Parameter 1: Die Zugriffsnummer einer Storno-Buchung. Typ Integer.

Rückgabewerte:

1. Parameter: true oder false bei einem Fehler.

2. Parameter: Bei einem Fehler wird die Fehlermeldung zurückgegeben, ansonsten die Zugriffsnummer der Gegenbuchung der Stornobuchung.

 

Beispiel:

local res, istorno2=taxpool.get_booking_entry_cancelled_sibling(istorno1)

if res then

taxpool.print_log("storno-id="..istorno2)

else

taxpool.print_log("fehler storno-id="..istorno2)

end