Die Rechnungsnummer wird zurückgesetzt. Dieses Script wird zum Beispiel dann verwendet, wenn eine Rechnung gelöscht und neu erzeugt werden muss, damit keine Rechnungsnummer "verschwendet" wird.
Es gibt 2 Scripts:
-
Script 1: Setzt die Rechnungsnummer um einen Zähler zurück.
-
Script 2: Wenn Sie die Rechnungsnummer um mehr als einen Zähler zurücksetzen wollen, verwenden Sie dieses Script. Sie können darin den gewünschten Zähler in einer Abfrage angeben.
Bei beiden Scripts ist es so, dass sie die zuletzt verwendete Rechnungsnummer mit dem aktuellen Präfix zurücksetzen.
Wollen Sie stattdessen die Rechnungsnummer heraufsetzen, benötigen Sie nicht dieses Script, sondern können in den Systemeinstellungen > Rechnung / Honorarnote die nächste Rechnungsnummer angeben.
Irgendwo in Vertec via Script Editor
.
Wenn Sie das Script registrieren
, registrieren Sie es so, dass es dort verfügbar ist, wo es für Sie sinnvoll ist.
Ab Vertec Version 6.7.0.12 können Sie das Script auch auf einen Ordner registrieren, zum Beispiel auf Fakturierung
mit der Klasse Ordner
und der Anzeigebedingung self->first.eintragid = 'FolderInvoicing'
.
Setzt die Rechnungsnummer um einen Zähler zurück.
# coding: windows-1252
#
#---Bezeichnung: Rechnungsnummer zurücksetzen
# Klasse:
# CondExpression:
# Selectedobjectsscript: Yes
# EventType: Kein
# EventClass:
# EventMembers:
# ExtendedRights: N
#---Setzt die Rechnungsnummer um einen Zähler zurück.
#---12.02.2004, Vertec AG: erstellt
#---02.06.2008, sr: UpdateDatabase ergänzt.
#---19.06.2017, sr: Script in Python erstellt.
def main():
prop = vtcapp.evalocl("property->select(propertyname='PraefixRechnungsnummer')->first")
if prop:
prefix = vtcapp.evalocl("usedprefix->select(prefix='" + prop.propertyvalue + "')->first")
if prefix:
lastusednumber = prefix.lastusednumber
if lastusednumber > 0:
prefix.lastusednumber = lastusednumber - 1
vtcapp.updatedatabase()
vtcapp.msgbox('Die Nummer wurde zurückgesetzt')
main()
Setzt die Rechnungsnummer auf den vom User erfragten Wert.
# coding: windows-1252
#
#---Bezeichnung: Rechnungsnummer zurücksetzen mit Input
# Klasse:
# CondExpression:
# Selectedobjectsscript: Yes
# EventType: Kein
# EventClass:
# EventMembers:
# ExtendedRights: N
#---Setzt die Rechnungsnummer zurück. Die zu verwendende nächste
# Rechnungsnummer kann in einer Abfrage angeben werden.
#---15.02.2007, sc: erstellt.
#---31.12.2012, sr: Angaben in msgbox um Präfix ergänzt.
#---19.06.2017, sr: Script in Python erstellt.
def main():
prop = vtcapp.evalocl("property->select(propertyname='PraefixRechnungsnummer')->first")
if prop:
prefix = vtcapp.evalocl("usedprefix->select(prefix='" + prop.propertyvalue + "')->first")
if prefix:
lastusednumber = prefix.lastusednumber
userinput = vtcapp.inputbox("Vertec","Die zuletzt vergebene Rechnungsnummer ist: %s \r\r Der zugehörige Präfix lautet: %s \r\r Geben Sie eine neue Rechnungsnummer (ohne Präfix) ein:" % (lastusednumber, prop.propertyvalue),"")
if userinput:
try:
newnumber = int(userinput)
if newnumber < 1:
vtcapp.msgbox('Der eingegebene Wert muss mindestens 1 sein. Bitte geben Sie eine positive Zahl > 1 ein.', 0, 'Vertec')
return
prefix.lastusednumber = int(newnumber) -1
vtcapp.updatedatabase()
except ValueError:
vtcapp.msgbox('Der eingegebene Wert ist keine Zahl. Bitte geben Sie eine Zahl ein.', 0, 'Vertec')
main()