Zuordnungseinheiten in Project ab Version 2010

erstellt von barbara.henhapl am 2. May 2013 08:46

Heute äußere mich einmal zu einem Thema, bei dem ich nicht voll hinter den Entscheidungen der Project Product Group stehe Zwinkerndes Smiley.

Wer mit Project in den Versionen bis 2007 arbeitet oder gearbeitet hat, kennt folgendes Verhalten.

Zuordnung original 2007
Wir haben einen Vorgang mit der Dauer von 5 Tagen und einer Ressourcenzuordnung von 100%. Die Vorgangsart ist Feste Arbeit, wir erwarten also ein Änderung der Zuordnungseinheit, wenn die Dauer geändert wird.

Zuordnung geändert 2007
Das ist auch was passiert, und es wird auch so dargestellt. Die geänderte Zuordnungseinheit ist jetzt 50%, angezeigt in eckigen Klammern hinter dem Ressourcennamen.

Sehen wir uns das Ganze in den Versionen 2010 und 2013 an.

Zuordnung original 2010

Nehmen wir jetzt die gleiche Änderung unter 2010 oder 2013 vor: wir verdoppeln wieder die Dauer.

Zuordnung geändert 2010

Hier wird die Zuordnungseinheit in der Anzeige nicht mehr aktualisiert. Die Einheit wird selbstverständlich angepasst, nur eben nicht mehr in eckigen Klammern dargestellt. Um die tatsächlich verwendeten Einheiten zu sehen, muss man in eine Einsatzansicht wechseln oder diese über Ansicht – Details – Vorgang/Ressource Einsatz im geteilten Fenster anzeigen.

DetailsAnzeigen

In dieser Ansicht kann man entweder in der Tabelle die Spalte Höchstwert einblenden oder in Grid die Prozentuale Zuteilung (und/oder auch den Höchstwert) darstellen.

Zum Einblenden zusätzlicher Informationen klicken Sie mit der rechten Maustaste in das Zeitraster und klicken im Kontextmenü auf Einzelheitenarten. Suchen Sie Prozentuale Zuteilung und/oder Höchstwert und klicken Sie auf Anzeigen. Schließen Sie das Dialogfenster mit Klick auf OK.

DetailsErweitern

Danach sehen Sie die tatsächlichen Einheiten.

ProzentualeZuteilung

Die tatsächlichen 50% sind hier jetzt sichtbar, auch wenn sie nicht wie in den Versionen bis einschließlich 2007 in eckigen Klammern dargestellt werden.

Hierbei handelt es sich um eine grundsätzliche Änderung, die mit 2010 eingeführt wurde. Dem Projektmanager sollen weiterhin die Einheiten angezeigt werden, mit denen er ursprünglich geplant hatte.

Die vollständige offizielle Erläuterung von Microsoft finden Sie auf Englisch unter Assignment Units in Project 2010.

Die Änderung ist für Umsteiger sicher anfangs gewöhnungsbedürftig. Doch wenn man sich mit Zuordnungseinheiten in 2007 und früher näher beschäftigt hat, ist aufgefallen, dass auch hier Schwächen waren. Der Wert in Klammern hat den Höchstwert und nicht die Zuordnungseinheit angezeigt, wie der folgende Screenshot zeigt.

EinheitIn2007Höchstwert

Die Ressource ist mit 40 Stunden Arbeit in 10 Tagen eigentlich zu 50% zugeordnet, dargestellt werden aber 75%, da an einem der Tage 6 Stunden Arbeit geplant sind. Eine saubere Darstellung erhält man nur nach Ändern des Zooms auf Wochenansicht.

EinheitIn2007Höchstwert_Skalierung

Doch das ist Vergangenheit und nicht mehr so relevant.

Einen meiner MVP-Kollegen hat das geänderte Verhalten der Zuordnungseinheiten so irritiert, dass er ein Makro zur “Korrektur” dieser Einheit geschrieben hat. Sie finden das Original von Rod Gill unter Project 2010 - Reset Assignment Units. Ich habe das als Basis genommen und leicht modifiziert, damit es in Europa mit anderen Ländereinstellungen auch läuft. Zudem finde ich es in diesem Zusammenhang wesentlich, dass Sie die Rückgängig-Option verwenden können. Mit freundlicher Genehmigung von Rod stelle ich hier meine Makro-Version zur Verfügung.

Sub RefreshUnits()
Dim Tsk As Task
Dim Assgn As Assignment
Dim MyVersion As Integer
Dim StartDate As Date
Dim TaskType As Long
Dim Work As Long


Sub RefreshUnits()
Dim Tsk As Task
Dim Assgn As Assignment
Dim MyVersion As Integer
Dim StartDate As Date
Dim TaskType As Long
Dim Work As Long


'Originally developed by Rod Gill - thanks for providing
'
http://www.projectvbabook.com/VBA-Sample-Code/VBASampleResetAssignmentUnits.html
'This macro runs on active Project 2010 and higher only.
'Information for Assignmentunit Change at
'
http://blogs.msdn.com/b/project/archive/2010/04/29/assignment-units-in-project-2010.aspx
'Modifications by Barbara Henhapl, http://www.henhapl.net
' 1. Undo implemented
' 2. Enable different regional settings
'Please distribute with above source information only
   
'Check version, with respect to regional settings
    If CInt(Replace(Application.Version, ".", Application.DecimalSeparator)) < 14 Then
        Select Case Application.LocaleID
            Case 1031 'German
                MsgText = "Dieses Makro ist nur für Project 2010 und höher sinnvoll, daher " _
                    & "wird das Makro nun beendet."
            'Case 1036  'French
            '   MsgText =
            'Case 1043  'Dutch
            '   MsgText =
            Case Else ' English and other
                MsgText = "This macro is only useful for Project 2010 and later, so macro has " _
                    & "ended."
        End Select
        MsgBox MsgText, vbCritical + vbOKOnly
    Else
        F_RefreshUnits
    End If
End Sub

Function F_RefreshUnits()
Application.OpenUndoTransaction ("Refresh Units")
        For Each Tsk In ActiveProject.Tasks
            If Not Tsk Is Nothing Then
                'Only adjust Units for an Auto, incomplete, non-summary, active Task
                If Tsk.PercentComplete < 100 And Not Tsk.Summary And Tsk.Active And Tsk.Manual = False Then
                    TaskType = Tsk.Type
                    Tsk.Type = pjFixedDuration
                    For Each Assgn In Tsk.Assignments
                        If Assgn.PercentWorkComplete < 100 Then
                            If Assgn.PercentWorkComplete > 0 Then
                                StartDate = Tsk.Resume  'This is not necessarily accurate but is close enough
                            Else
                                StartDate = Assgn.Start
                            End If
                            Work = Assgn.Work
                            If Not Tsk.IgnoreResourceCalendar Then
                                RemDur = Application.DateDifference _
                                (StartDate, Assgn.Finish, Assgn.Resource.Calendar)
                            Else
                                RemDur = Application.DateDifference _
                                (StartDate, Assgn.Finish, ActiveProject.BaseCalendars(Tsk.Calendar))
                            End If
                            Assgn.Units = Assgn.RemainingWork / RemDur
                            Assgn.Work = Work
                        End If
                    Next Assgn
                    Tsk.Type = TaskType
                End If
            End If
        Next Tsk
Application.CloseUndoTransaction
End Function

Um dieses Makro zu verwenden, öffnen sie mit Alt+F11 den Visual Basic Editor (oder über Ansicht – Makros – Visual Basic). Klicken Sie mit der rechten Maustaste auf ProjectGlobal (Global.mpt).

Modul einfügen

Wählen Sie im Kontextmenü EinfügenModul aus. Fügen Sie den oben angegebenen Code ein.

Anschließend steht das Makro in AnsichtMakrosMakros anzeigen zum Ausführen zur Verfügung.

Makro starten

Wenn ich das Makro in 2010 bzw. 2013 für obiges Beispiel laufen lasse, werden die Einheiten aktualisiert. Zur Auffrischung, der Vorgang hat sich folgendermaßen dargestellt.

VorMakro

Nach dem Lauf des Makros werden [50%] angezeigt.

NachMakro

Das Umsetzen der angezeigten Einheiten kann auch wieder rückgängig gemacht werden.

Ich hoffe, die Erläuterungen helfen beim Verständnis des Verhaltens!

Comments (2) -

>

10/25/2013 12:31:57 PM #

Ich habe ein prinzipielles Problem mit den prozentuellen Zuteilungen.
Wenn ichn einen Vorgang erfasse, die Arbeit (Personenstunden) festlege und dann einer Ressource zuordne, bleiben Dauer und Arbeit fest und die Zuordnung ändert sich. Ich will aber, dass Arbeit fets bleibt, die Zuordnung auf 100% gesetzt wird und sich die Dauer ändert.
Mit welchen Einstellungen erreiche ich das? Sonst muss man die Zuordnugn immer manuell je Vorgang auf 100% setzen ...

Manfred Österreich | Reply

>

11/3/2013 1:20:06 PM #

Hallo Manfred,

mehr Info dazu in meinem Beitrag officeblog.at/.../...rechnet-immer-so-komisch.aspx
Der Beitrag enthält auch einen Link zu einer Erläuterung von Microsoft.
Aber zum konkreten Problem: Nach der Beschreibung vermute ich, dass die Standardvorgangsart (Datei - Optionen - Terminplan - Planungsoptionen für dieses Projekt) auf "Feste Dauer" steht. Mit der Vorgangsart "Feste Arbeit" wird das Ziel sicher errreicht. Die Vorgangsart kann auf Vorgangsebene geändert werden (Doppelklick auf den Vorgang, Registerkarte "Erweitert" oder Einblenden der Spalte "Art") oder für alle neuen Vorgänge in den Optionen geändert werden.

Hilft das weiter?
Barbara

Barbara Henhapl Österreich | Reply

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Datenschutzhinweis: Sie stimmen durch "Kommentar speichern" der Speicherung Ihrer Angaben durch Microsoft Österreich für die Beantwortung der Anfrage zu. Sie erhalten dadurch keine unerwünschten Werbezusendungen. Ihre Emailadresse wird auf Ihren Wunsch dazu verwendet Sie über neue Kommentare zu informieren.

Microsoft respektiert den Datenschutz. Datenschutz & Cookies

Kommentare

Comment RSS

Month List

Dieser Blog wird von Microsoft Österreich betrieben.