Script: Neuberechnung der Ansätze von Leistungen ab Datum

Inhalt

Berechnet die Stundensätze aller Leistungen von allen aktiven Mitarbeitern neu, unter Angabe eines von Datums bis heute.

Bei offenen Leistungen werden dabei alle Sätze angepasst, bei verrechneten Leistungen nur die Kostensätze.

Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden!

Möchten Sie stattdessen nur die Leistungen eines einzelnen Projekts neu berechnen, verwenden Sie dafür folgendes Script: Neuberechnung offene Leistungen eines Projekts.

Version

VersionBeschreibungScript
Versionen vor 5.8 RecalcStundensatz.txt
ab Version 5.8 Verwendet anstelle der VB Standardfunktionen die Vertec-Funktionen msgbox und inputbox (siehe dazu msgbox/inputbox: Beschreibung der Parameter) RecalcStundensatz58.txt

Ausführen

Irgendwo in Vertec

Scripttext

'---Bezeichnung: Neuberechnung Stundensatz
'   Klassen: keine
'   ObjectScript: No
'   ContainerScript: No
'   EventType: Kein
'   EventClass:
'   EventMembers:
'   ExtendedRights: No
'---Berechnet die Stundensätze aller Leistungen von allen
'   aktiven Mitarbeitern neu, unter Angabe eines ab Datum bis heute.
'   Bei offenen Leistungen werden dabei alle Sätze angepasst,
'   bei verrechneten Leistungen nur die Kostensätze.
'---Achtung: Dieser Vorgang kann nicht rückgängig gemacht werden!
'---17.02.2004, Vertec AG: erstellt.
'---20.04.2009, sr: Header eingefügt.
'---06.11.2012, cp: ergänzt um verrechnete Leistungen.
'---29.10.2013, sr: msgbox und inputbox auf vertec aufrufen.

option explicit

dim bearblist
dim bearb
dim leistung
dim leistlist
dim dat, i, k

dat = Vertec.InputBox("Vertec","Ab welchem Datum sollen die Leistungen angepasst werden?", "")
if IsDate(dat) then
set bearblist = Vertec.eval("projektbearbeiter->select(aktiv)")
for i = 0 to bearblist.count-1
set bearb = bearblist.objects(i)

set leistlist = bearb.offeneLeistungenDatumIntervall(dat, Date)
for k = 0 to leistlist.count-1
set leistung = leistlist.Objects(k)
leistung.UpdateSatz
next

set leistlist = bearb.verrechneteLeistungenDatumIntervall(dat, Date)
for k = 0 to leistlist.count-1
set leistung = leistlist.Objects(k)
leistung.UpdateSatz
next
next
else
Vertec.MsgBox "Ungültiges Datum",16,"Vertec"
end if

17.02.2004 | 29.10.2013: msgbox und inputbox durch vertec.msgbox und vertec.inputbox ersetzt.
Produktlinien: Standard, Expert
Module: Leistung & CRM