Script: Verr-Werte auf Rechnungen vor Vertec 6.5 setzen

Setzt die verr-Attribute (verrAuslagenExt, verrSpesenExt und verrLeistWertExt) auf verrechneten Rechnungen, die vor Vertec 6.5 verrechnet wurden.

Produktlinie

Standard

|

Expert

Betriebsart

CLOUD ABO

|

ON-PREMISES

Module

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 17.08.2021
Aktualisiert: 25.03.2024 | Script angepasst

Mit Vertec Version 6.5 wurden auf der Rechnung die Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt eingeführt.

Beim Verrechnen der Rechnung werden die entsprechenden Werte in diese Attribute geschrieben und damit fixiert.

Die Rechnungstotalen sowie die berechneten (derived) Attribute auslagenExt, spesenExt und leistWertExt beziehen ihre Werte bei verrechneten Rechnungen dann von diesen verr-Attributen, ohne irgendwelche Objekte für die Summierung laden zu müssen, was eine Performance-Verbesserung bedeutet.

Um bei Rechnungen, die bereits vor dem Update auf Vertec 6.5 verrechnet wurden, die entsprechenden verr-Attribute zu füllen, gibt es dieses Script.

Ausführen

Vertec Versionen ab 6.5. Das Script wird einmalig im Script Editor  ausgeführt. Benötigt Administratorrechte.

Script

verrattribute_auf_verr_rechnungen_setzen.py

Scripttext

#---Setzt die Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt auf verrechneten Rechnungen, welche vor dem Update auf Vertec 6.5 verrechnet wurden. 
#   Nach dem Ausführen dieses Scripts muss die Vertec Session neu gestartet werden, da auf die 
#   verr-Attribute nicht subscribed wird.
#---05.01.2021, cmi: erstellt.
#---03.04.2024, sth: SystemContext() entfernt. Das Script muss im Script Editor von einem Administrator ausgeführt werden.

def main():

    optimizingInvoices = vtcapp.getwithsql("Rechnung", "(verrechnet=1) and (verrAuslagenExt is null) and (verrSpesenExt is null) and (verrLeistWertExt is null)", "")

    for invoice in optimizingInvoices:
        invoice.verrAuslagenExt = invoice.AuslagenExt
        invoice.verrSpesenExt = invoice.SpesenExt
        invoice.verrLeistWertExt = invoice.LeistWertExt

    vtcapp.updatedatabase()
        
    print "updated %d invoices" % len(optimizingInvoices)

main()
Bitte wählen Sie Ihren Standort