Dieses Script setzt eine Rechnung auf gebucht oder wieder auf storniert, ohne dabei Daten in die Buchhaltung zu übertragen. Das kann z.B. nützlich sein, wenn eine Rechnung im Nachhinein als gebucht im Vertec erscheinen soll, die Buchhaltungsperiode aber bereits abgeschlossen ist.
Beim Buchungsvorgang werden gewisse Werte im Vertec fixiert. Dieses Script simuliert diesen Vorgang. Ist die Rechnung bereits gebucht, wird sie storniert, ansonsten gebucht.
Alle Vertec Versionen.
Auf der Rechnung oder einer Liste von Rechnungen, die Sie auf gebucht / storniert setzen möchten.
RechnungAufGebuchtStorniertSetzen.py
# coding: windows-1252
#
#---Bezeichnung: Rechnung auf gebucht setzen (ohne Buchhaltung)
# Klassen: Rechnung
# ObjectScript: Y
# ContainerScript: Y
# 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".
from vtcapp import getpropertyvalue
def main():
# Auswahlobjekte laden
if argobject.eval('oclistypeof(Rechnung)'):
rechnungen = argobject.eval('self->asset')
else:
rechnungen = argobject.eval('eintraege.list.oclastype(Rechnung)')
# Rechnngen buchen/stornieren anpassen.
for rechnung in rechnungen:
if rechnung.verrechnet:
if rechnung.gebucht:
# Rechnung gebucht ändern, damit alle Informationen drin sind.
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.bhRabattKonto = getpropertyvalue("RabattKonto")
rechnung.belegnr = "0"
rechnung.gebucht = True
# Save
vtcapp.updatedatabase()
main()