Das Script zeigt in einer Messagebox an, auf welcher Ebene der Stundensatz der aktuellen Leistung berechnet wurde
Zeigt in einer Messagebox an, auf welcher Ebene der Stundensatz der aktuellen Leistung berechnet wurde. Basiert auf der Prioritätenliste gemäss Artikel Das Tarifsystem.

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