Kopiert offene Leistungen von "Gestern" auf "Heute".
- Heute wird über das "Datum Bis" des Containers "offene Leistungen" definiert.
- Kein Filter: Datum Bis = Heute
- Datumsintervall: Datum Bis = Datum Bis
- Einzelner Tag: Datum Bis = Ausgewählter Tag
- Gestern wird definiert als einen Tag vor Heute.
- Es werden alle Leistungen von "Gestern" des Bearbeiters, des Projekts oder der Projektphase kopiert, je nachdem, wo das Script ausgeführt wird.
Der Aufwand wird nicht kopiert.
Ab Vertec 5.7. Verwendet vtcapp.ocldate()
Auf dem Container offene Leistungen
von Bearbeitern, Projekten und Projektphasen.
CopyLeistungenYesterday.py
# coding: windows-1252
#
#---Bezeichnung: Leistungen gestern kopieren
# Klassen: OffeneLeistung
# CondExpression:
# ObjectScript: N
# ContainerScript: Y
# EventType: Kein
# EventClass:
# EventMembers:
# ExtendedRights: N
#
#---Kopiert die offenen Leistungen aus der Liste
# von "gestern" auf "heute". Heute wird über das "Datum Bis"
# des Containers "offene Leistungen" definiert. Gestern wird
# definiert als einen Tag vor Heute.
# Der Aufwand wird nicht kopiert.
#---27.04.2018, sth: In Python erstellt.
def main():
#Das aktuelle Objekt muss ein DateFilterContainer sein.
if argobject.istypeof('DateFilterContainer'):
parent = argobject.parenteintrag
container = argobject
#---Hole die Leistungen von "gestern". Als "heute" dient das bis-Datum aus dem Container
leistungen = parent.eval("offeneleistungen->select(datum = %s)" % vtcapp.ocldate(vtcapp.incday(container.bisdatum, -1)))
for leistung in leistungen:
#---Kopiere alle Leistungen
neueleistung = vtcapp.createobject('OffeneLeistung')
neueleistung.projekt = leistung.projekt
neueleistung.bearbeiter = leistung.bearbeiter
neueleistung.phase = leistung.phase
neueleistung.datum = container.bisdatum
neueleistung.typ = leistung.typ
neueleistung.text = leistung.text
else:
vtcapp.msgbox("Dieses Script kann nur auf einer Liste von offenen Leistungen ausgeführt werden.")
return
main()