Resets the invoice number counter
Product line
Standard
|Expert
Operating mode
CLOUD ABO
|ON-PREMISES
Modules
Services & CRM
Budget & Phases
Purchases
Resource Planning
Business Intelligence
Resets the invoice number. This script is used, for example, when an invoice needs to be deleted and re-created, so that the invoice number is not “wasted”.
There are 2 scripts:
For both scripts, they reset the last used invoice number with the current prefix.
If you want to increase the invoice number instead, you do not need this script, but you can specify the next invoice number in the system settings > Invoice.
version | description | Scripting |
---|---|---|
6.6 | This script can also be used with Vertec versions from 6.7.0.12, it does not use argobject still selectedobjects . |
Script 1: Resetinvoice number.py Script 2: Resetinvoice numberinput.py |
Somewhere in Vertec via Script Editor .
When you Register the script, register it so that it is available where it makes sense for you.
As of Vertec version 6.7.0.12 you can also register the script to a folder, for example on Invoicing
with the class Ordner
and the display condition self->first.eintragid = 'FolderInvoicing'
.
Resets the invoice number by one counter.
# 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()
Sets the invoice number to the value requested by the user.
# 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()