Das Script zeigt in einer Messagebox an, auf welcher Ebene der Stundensatz der aktuellen Leistung berechnet wurde
Produktlinie
Standard
|Expert
Betriebsart
CLOUD ABO
|ON-PREMISES
Module
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
Version | Beschreibung | Script |
---|---|---|
6.6 | Script für Vertec Versionen vor 6.7.0.12 sowie zur Ausführung im Script Editor für alle Versionen. | ShowLevelStundensatzArgobject.py |
6.7.0.12 | Verwendet selectedobjects . | ShowLevelStundensatz.py |
Auf einer einzelnen Leistung (offen oder verrechnet)
# coding: windows-1252 # #---Bezeichnung: Ebene Stundensatz anzeigen # Klassen: Leistung # Selectedobjectsscript: Yes # Condexpression: self->size = 1 # EventType: Kein # EventClass: # EventMembers: # ExtendedRights: N #---Zeigt in einer MessageBox an, auf welcher Ebene der Stundensatz # der aktuellen Leistung berechnet wird. #---2014-09-18, FG: erstellt. # 2014-09-22, FG: Formatierung angepasst(Leerschläge bei der Aufzählung). # 2014-10-29, FG: bei der Tariftabelle ansatzKosten geändert in ansatzExt. # 10.10.2024, sth: An selectedobjects ab Vertec 6.7.0.12 angepasst. def showPriority(stufe): msg = "1. Priorität: Tätigkeit auf Phase" if stufe == 1: msg += "\t\t<----" msg += "\n2. Priorität: Bearbeiter auf Phase" msg += "\n\t1. Explizit gesetzter Ansatz" if stufe == 2: msg += "\t\t<----" msg += "\n\t2. Gesetzte Stufe" if stufe == 3: msg += "\t\t<----" msg += "\n3. Priorität: Vorgabe auf Phase" if stufe == 4: msg += "\t\t<----" msg += "\n4. Priorität: Bearbeiter auf Projekt" msg += "\n\t1. Explizit gesetzter Ansatz" if stufe == 5: msg += "\t\t<----" msg += "\n\t2. Gesetzte Stufe" if stufe == 6: msg += "\t\t<----" msg += "\n5. Priorität: Vorgabe auf Projekt" if stufe == 7: msg += "\t\t<----" msg += "\n6. Priorität: Vorgabe auf Projekttyp" if stufe == 8: msg += "\t\t<----" msg += "\n7. Priorität: Tariftabelle" if stufe == 9: msg += "\t\t<----" msg += "\n8. Priorität: Vorgabe auf Bearbeiter" if stufe == 10: msg += "\t\t<----" msg += "\n 9.Priorität: 0.00" if stufe == 11: msg += "\t\t<----" vtcapp.msgbox(msg) # gibt die Tariftabelle einer Leistung zurück def getTariftabelle(leistung): if leistung.typ: for obj in leistung.typ.tarife: if obj.waehrung == leistung.waehrung: # Tariftabelle gefunden return obj for obj in leistung.waehrung.tarife: if not obj.taetigkeit: # Tariftabelle gefunden return obj return None def main(leistlist): for leistung in leistlist: # Wenn eine Phase zugewiesen ist if leistung.phase: # 1. Priorität: Tätigkeit auf Phase if leistung.typ and leistung.eval("phase.taetigkeitphaselink->select(name=self.typ.code).ansatzExt->first"): showPriority(1) continue # 2.1 Priorität: Bearbeiter auf Phase -> Explizit gesetzter Ansatz if leistung.eval("phase.bearbeiterPhasen->select(aktiv)->select(bearbeiter=self.bearbeiter).ansatzext->first"): showPriority(2) continue # 2.2 Priorität: Bearbeiter auf Phase -> Gesetzte Stufe if leistung.eval("phase.bearbeiterPhasen->select(aktiv)->select(bearbeiter=self.bearbeiter).bearbeiterstufe->first"): showPriority(3) continue # 3. Priorität: Vorgabe auf Phase if leistung.phase.ansatzext: showPriority(4) continue # Wenn ein Projekt zugewiesen ist if leistung.projekt: # 4.1 Priorität: Bearbeiter auf Projekt -> Explizit gesetzter Ansatz if leistung.eval("projekt.bearbeiterlinks->select(bearbeiter=self.bearbeiter).ansatzext->first"): showPriority(5) continue # 4.2 Priorität: Bearbeiter auf Projekt -> Gesetzte Stufe if leistung.eval("projekt.bearbeiterlinks->select(bearbeiter=self.bearbeiter).bearbeiterstufe->first"): showPriority(6) continue # 5. Priorität: Vorgabe auf Projekt if leistung.projekt.ansatzext: showPriority(7) continue # 6. Priorität: Vorgabe auf Projekttyp if leistung.projekt.typ.ansatzext: showPriority(8) continue # 7. Priorität: Tariftabelle # Tariftabelle finden via Typ tariftabelle = getTariftabelle(leistung) if tariftabelle: # Ansatz in Tariftabelle suchen for obj in tariftabelle.ansaetze: if (obj.tarifstufe == leistung.projekt.tarifstufe) and (obj.bearbeiterstufe == leistung.bearbeiter.stufe): # Ansatz gefunden if obj.ansatzext: showPriority(9) continue # 8. Priorität: Vorgabe auf Bearbeiter if leistung.bearbeiter.ansatzext: showPriority(10) continue # 9. Priorität: 0.00 showPriority(11) main(selectedobjects)