Support vertec.com

Script: Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt auf verrechneten Rechnungen setzen

Setzt die Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt auf verrechneten Rechnungen.

Standard

|

Expert

CLOUD ABO

|

ON-PREMISES

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 17.08.2021
Aktualisiert: 17.08.2021 | Script hinzugefügt

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:

  • verrAuslagenExt
  • verrSpesenExt
  • verrLeistWertExt

Bei der Abfrage der Attribute

  • auslagenExt
  • spesenExt
  • leistWertExt

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.

Ausführen

Das Script wird direkt im Scripteditor ausgeführt, oder per Klick auf dem Button Ausführen auf dem Script Eintrag.

Script

Attribute verrAuslagenExt, verrSpesenExt und verrLeistWertExt auf verrechneten Rechnungen setzen.py

Scripttext

# 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()

 

Bitte wählen Sie Ihren Standort