Project2007: Summe Einheiten der Arbeit – als Zusatzanzeige für Dauer des Sammelvorganges?

Anonym
2011-03-13T09:54:42+00:00

Hallo Allseits,

immer wieder mal kommt folgende Situation vor:

Der Sammelvorgang zeigt (richtig) 5 Tage Dauer an.

Die Teilvorgänge dauern in der Summe aber nur 3 Tage...und der Kunde schaut zuerst auf die Dauer des Sammelvorgangs...und stellt dann die Fragen…

Problematisch – und die Erklärungen immer länger - wird es,  je höher (z.Bsp. mehrere Wochen/Monate) der Sammelvorgangszeitraum ist.

Als Beispiel:

  • eine 'normale' 5-Tage-Arbeitswoche
  • Vorgang 1: am Montag = 1 Tag
  • Vorgang 2: am Montag und am Dienstag = 2 Tage
  • Vorgang 3: am Freitag = 1 Tag

-> dafür Dauer des Sammelvorgangs = 5 Tage

-> an 3 Tagen finden aber nur Vorgänge statt

-> am Montag, Dienstag und am Freitag

Kennt Ihr ähnliche Situationen aus Eurer MS-Project-Arbeit?

Habt Ihr dafür einen Lösungsansatz?

An der Idee einer  1:1-Einheitensteuerung (Summe der Arbeit – als Zusatzanzeige (im extra Feld) für Dauer des Sammelvorganges) bin ich  gescheitert, weil dies bei sich überlappenden Vorgängen nicht händelbar ist und bei Vorgangverschiebungen gänzlich aus dem Raster fällt.

Danke für Eure Tipps und Hilfe - Gruß Steffen

Microsoft 365 und Office | Projekt | Andere | Windows
Microsoft 365 und Office | Projekt | Andere | Windows

Microsoft-Projektmanagementsoftware, die zum Planen, Verwalten und Kommunizieren eines Projektzeitplans und anderer Informationen zwischen Arbeitsgruppenmitgliedern, Projektmanager*innen und anderen Projektbeteiligten verwendet wird.

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
Antwort, die vom Frageautor angenommen wurde
Anonym
2011-03-18T06:16:11+00:00

und wenn für die Einzelvorgänge in Dauer2 auch die Dauer stehen soll:

Sub Duration2()

Dim T, ST As Task

Dim vdursub As Boolean

Dim vdate As Date

For Each ST In ActiveProject.Tasks

    If Not ST Is Nothing Then

        If ST.Summary Then

                vdur = 0

                For vdate = ST.Start To ST.Finish

                    vdursub = False

                    For Each T In ST.OutlineChildren

                        If T.Start <= vdate And T.Finish >= vdate _

                        And ActiveProject.Calendar.Period(vdate, vdate).Working Then

                            vdursub = True

                        End If

                    Next T

                    If vdursub Then

                        vdur = vdur + 1

                    End If

                Next vdate

        ST.Duration2 = vdur * 480

        Else

            ST.Duration2 = ST.Duration

        End If

    End If

Next ST

End Sub

Gruß

Barbara

War diese Antwort hilfreich?

0 Kommentare Keine Kommentare
Antwort, die vom Frageautor angenommen wurde
Anonym
2011-03-17T10:10:51+00:00

Hallo Steffen,

da stehe ich vor einem Rätsel. Bei mir läuft es problemlos. Ein Voraussetzung muss allerdings erfüllt sein: es muss für einen Tag Arbeit geben, damit er zu dieser Dauer addiert wird. Ein Plan ohne Arbeit bzw. Zuordnungen liefert nichts, da hier nicht wirkllich die Dauer betrachtet wird, sondern die Arbeitstage - heisst, es muss für den Tag was da sein (Ansicht Vorgang Einsatz). Ist das der Fall?

Gruß

Barbara

War diese Antwort hilfreich?

0 Kommentare Keine Kommentare

36 zusätzliche Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2011-03-24T09:48:12+00:00

    Hallo Barbara, ... funktioniert ebenfalls 1A.

    Ich danke Dir. Gruß Steffen

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  2. Anonym
    2011-03-23T15:33:05+00:00

    Es gibt schon Dinge, die ich nicht auf mir sitzen lassen (aber davon stand nicht in der Spec ;-)):

    Sub Dauer3_11_03_24()

    Dim TSV As TimeScaleValues

    Dim T As Task

    Dim A As Assignment

    For Each T In ActiveProject.Tasks

        'If T.Summary And Not T Is Nothing Then 'NUR - für Sammelvorgänge

        If Not T Is Nothing Then

                If Not T.Summary Then

                    T.Duration3 = T.Duration

                    If T.Assignments.Count = 0 Then

                        T.Assignments.Add ResourceID:=ActiveProject.Resources("Tag Arbeit").ID

                    End If

                Else

                    vdur = 0

                    For vdate = T.Start To T.Finish

                        Set TSV = T.TimeScaleData(vdate, vdate, pjTaskTimescaledWork, pjTimescaleDays, 1)

                        For i = 1 To TSV.Count

                            If TSV(i).Value <> "" Then

                                If TSV(i).Value > 0 Then

                                    vdur = vdur + 1

                                End If

                            End If

                        Next i

                    Next vdate

                    T.Duration3 = vdur * 480

                End If

        End If

    Next T

    End Sub

    Gruß

    Barbara

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  3. Anonym
    2011-03-23T15:19:52+00:00

    Bis jetzt klaptt alles.

    (Klaro, Unterbrechungen sind ein Problem, aber dies ist verschmerzbar)

    Danke Dir - Gruß Steffen.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare