Script: Rechnungsnummer zurücksetzen

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.

    Ausführen

    Irgendwo in Vertec

    Script 1

    Setzt die Rechnungsnummer um einen Zähler zurück.

    ResetRechnungsnummer.py

    Scripttext

    # coding: windows-1252
    #
    #---Bezeichnung: Rechnungsnummer zurücksetzen
    #   Klasse: BusinessClassesRoot
    #   CondExpression:
    #   ObjectScript: N
    #   ContainerScript: N
    #   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()

    Script 2

    Setzt die Rechnungsnummer auf den vom User erfragten Wert.

    ResetRechnungsnummerInput.py

    Scripttext

    # coding: windows-1252
    #
    #---Bezeichnung: Rechnungsnummer zurücksetzen mit Input
    #   Klasse: BusinessClassesRoot
    #   CondExpression:
    #   ObjectScript: N
    #   ContainerScript: N
    #   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()



    12.02.2004 | 19.06.2017: VB Scripts durch Python Scripts ersetzt.
    Produktlinien: Standard, Expert
    Module: Leistung & CRM