Dieses Script setzt eine Rechnung auf gebucht oder wieder auf storniert, ohne dabei Daten in die Buchhaltung zu übertragen.
Beim Buchungsvorgang werden gewisse Werte im Vertec fixiert. Dieses Script simuliert diesen Vorgang. Ist die Rechnung bereits gebucht, wird sie storniert, ansonsten gebucht.
Auf einer Rechnung oder einer Liste von Rechnungen, die Sie auf gebucht / storniert setzen möchten.
Es werden nur verrechnete Rechnungen berücksichtigt.
# coding: windows-1252
#
#---Bezeichnung: Rechnung auf gebucht/storniert setzen (ohne Buchhaltung)
# Klassen: Rechnung
# Selectedobjectsscript: Yes
# Condexpression:
# EventType: Kein
# EventClass:
# EventMembers:
# ExtendedRights: N
#---Wenn das Member gebucht auf der Rechnung geändert wird, anstelle der Standardfunktion buchen,
# dann fehlen auf den Buchungen einige Informationen (konto, pknr). Mit diesem Skript werden die Informationen
# der Reihe nach gespeichert und nach dem Umstellen wieder eingesetzt.
#---29.10.2010, IB: erstellt.
# 05.10.2012, RS: erweitert, damit stornieren und buchen mit einem Skript möglich ist.
# 19.06.2015, BR: erweitert: Ausführen auf Listen und Einzelojekten. UpdateDatabase eingefügt.
# 05.11.2019, STH: Setze beim Buchen die Belegnr auf "0".
# 10.10.2024, sth: Angepasst an selectedobjects ab Vertec 6.7.0.12
def main(invoicelist):
for rechnung in invoicelist:
if rechnung.verrechnet:
if rechnung.gebucht:
rechnung.bhEKontoLeistungen = ""
rechnung.bhEKontoSpesen = ""
rechnung.bhEKontoAuslagen = ""
rechnung.bhPersonenkonto = ""
rechnung.bhVorschussKonto = ""
rechnung.bhDebiKonto = ""
rechnung.bhBeschrieb = ""
rechnung.bhRabattKonto = ""
rechnung.gebucht = False
else:
rechnung.bhEKontoLeistungen = rechnung.ErtragsKontoLeistungen
rechnung.bhEKontoSpesen = rechnung.ErtragsKontoSpesen
rechnung.bhEKontoAuslagen = rechnung.ErtragsKontoAuslagen
rechnung.bhPersonenkonto = rechnung.Personenkonto
rechnung.bhVorschussKonto = rechnung.projekt.vorschussKonto
rechnung.bhDebiKonto = rechnung.buchungsbeleg.sammelkonto
rechnung.bhBeschrieb = rechnung.buchungsbeleg.buchungstext
rechnung.bhRabattKonto = vtcapp.getpropertyvalue("RabattKonto")
rechnung.belegnr = "0"
rechnung.gebucht = True
vtcapp.updatedatabase()
main(selectedobjects)