Setzt die Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt auf verrechneten Rechnungen.
Standard
|Expert
CLOUD ABO
|ON-PREMISES
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
Eine Rechnung in Vertec hat sogenannte Totalen Objekte, welche Leistungen, Spesen und Auslagen gruppiert nach MWST und Buchungskonten zusammenfassen. Die meisten Zahlen auf einer Rechnung berechnen sich aufgrund dieser Totale. Bei offenen Rechnungen werden die Totale laufend neu berechnet, so dass sich die Zahlen auf der Rechnung sofort an geändert Detaildaten anpassen. Bei verrechneten Rechnungen werde die Totale anstelle der Projekteinträge (Leistungen, Spesen etc.) aus der Datenbank geladen. Um eine Performance-Verbesserung beim Laden von Rechnungsdaten zu erzielen, werden ab Vertec Version 6.5 die wichtigsten Zahlen der Rechnung, insbesondere die, welche in Standard-Listen dargestellt werden, bei verrechneten Rechnungen direkt in einem Attribut (verr-Attribut) in der Datenbank gespeichert. Damit werden die zum Laden der Totale notwendigen SQL-Abfragen eingespart.
Es gibt daher die folgenden Attribute auf einer Rechnung:
Bei der Abfrage der Attribute
auf einer verrechneten Rechnung werden die entsprechenden verr-Attribute herangezogen. Dieselbe Logik wird schon bei weiteren Derived Attributes auf Rechnungen verwendet, z.B. vorschussEffektiv.
Bei neu erstellten Rechnungen werden die Attribute beim Verrechnen gesetzt. Bei bestehenden Rechnungen werden die entsprechenden Werte zur Laufzeit berechnet. Sie haben aber die Möglichkeit mit diesem Script in allen bestehenden Rechnungen die entsprechenden persistenten Attribute nachzutragen. So können Sie auch auf vorhandenen Rechnungen von der Performance-Optimierung profitieren.
Das Script wird direkt im Scripteditor ausgeführt, oder per Klick auf dem Button Ausführen
auf dem Script Eintrag.
Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt auf verrechneten Rechnungen setzen.py
# coding: utf-8
#
#---Bezeichnung: Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt auf verrechneten Rechnungen setzen
# Klasse: Rechnung
# CondExpression:
# ObjectScript: N
# ContainerScript: N
# EventType: Kein
# EventClass:
# EventMembers:
# ExtendedRights: Y
#---Setzt die Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt auf verrechneten Rechnungen, welche vor dem
# Einführen dieser Attribute verrechnet wurden. Verbessert die Performance in Listenansichten mit diesen Rechnungen.
# 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.
def main():
vtcapp.beginsystemcontext()
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()
vtcapp.endsystemcontext()
print "updated %d invoices" % len(optimizingInvoices)
main()