Microsoft Project - coluna personalizada compartilhada entre tarefa e recurso?

2

Plano de fundo

Então, eu tenho um projeto que criei no projeto da Microsoft. Eu tenho todas as minhas tarefas criadas e recursos atribuídos. O que eu gostaria de fazer é adicionar uma coluna para capturar o local em que a tarefa ocorre. Parece que não há colunas com o rótulo Localização ou algo semelhante.

O que tentei

Por esse motivo, gostaria de adicionar uma coluna marcada como Localização . Eu gostaria que fosse compartilhado entre as tarefas e recursos.

Eu adicionei a coluna como text2 das opções e, em seguida, dei a ela um título de Localização :

EmUsoderecursos,selecionetext2nasminhasopçõesdecoluna,masnadaépreenchido:

Estou sentindo falta de algo?

Talvez outra maneira de conseguir isso seja se minha lista de recursos incluir os locais (locais). Se eu fizer assim, há uma maneira de adicionar coisas associadas aos locais, como endereço, número de telefone, etc?

    
por Eric F 10.05.2018 / 15:25

2 respostas

0

O que parece ser uma informação de tarefa mostrada na visualização Uso do recurso é, na verdade, a informação atribuição .

O campo Texto2 mostrado é o das atribuições . Para complicar ainda mais, existem dois conjuntos de campos "personalizados" no nível da atribuição - um para tarefas e outro para recursos.

Usando uma macro, você pode copiar os dados no nível da tarefa para os dados no nível da atribuição.

Sub UpdateAssignmentInfo()

    Dim asn As Assignment

    ' transfer data to show in the Resource Usage view
    Dim res As Resource
    For Each res In ActiveProject.Resources
        For Each asn In res.Assignments
            asn.Text2 = asn.Task.Text2
        Next asn
    Next res

    ' transfer data to show in the Task Usage view
    Dim tsk As Task
    For Each tsk In ActiveProject.Tasks
        For Each asn In tsk.Assignments
            ' use only ONE of the following:
            ' to show the task's value use
            asn.Text2 = tsk.Text2
            ' to show the resource's value use
            asn.Text2 = asn.Resource.Text2
        Next asn
    Next tsk

End Sub

O primeiro loop neste código copia os dados no nível da tarefa para os campos de recursos da atribuição (por exemplo, os campos que você vê na exibição Uso do recurso).

O segundo loop copia os dados para os campos de tarefas da atribuição (por exemplo, os campos mostrados na visualização Task Usage). Dependendo da necessidade, escolha uma das linhas asn.Text2 = ... e exclua / comente a outra. A primeira duplicaria as informações da tarefa enquanto a segunda mostraria os dados Text2 da própria Resource. (por exemplo, a partir da visão da planilha de recursos).

    
por 10.05.2018 / 18:04
0

Descobri que os campos atribuídos a tarefas não são os mesmos campos atribuídos a recursos, mesmo que tenham o mesmo nome. Por exemplo, Text2 para um recurso não é igual a Text2 para uma tarefa.

Por esse motivo, a única maneira de copiar entre os dois conjuntos é através do uso de VBA. Veja abaixo:

Public Sub copy_task_location_to_resource_location()


  For r = 1 To ActiveProject.Resources.Count
    'iterate through resources
    ActiveProject.Resources(r).Text1 = ""
    ActiveProject.Resources(r).Text2 = ""
    ActiveProject.Resources(r).Text3 = ""
    ActiveProject.Resources(r).Text4 = ""

        For a = 1 To ActiveProject.Resources(r).Assignments.Count
          'iterate through assignments
          'match up with correct task
          For t = 1 To ActiveProject.Tasks.Count
            If ActiveProject.Tasks(t) = ActiveProject.Resources(r).Assignments(a).Task Then
               'copy fields over
               ActiveProject.Resources(r).Assignments(a).Text3 = ActiveProject.Tasks(t).Text2
               ActiveProject.Resources(r).Assignments(a).Text2 = Month(ActiveProject.Tasks(t).Start) & "/" & Day(ActiveProject.Tasks(t).Start)
               ActiveProject.Resources(r).Assignments(a).Text1 = Format(ActiveProject.Tasks(t).Start, "H:mm am/pm")
               ActiveProject.Resources(r).Assignments(a).Text4 = Format(ActiveProject.Tasks(t).Finish, "H:mm am/pm")
               ActiveProject.Resources(r).Assignments(a).Notes = ActiveProject.Tasks(t).Notes
               Exit For
            End If
          Next

       Next

  Next


End Sub

Percorro os recursos disponíveis, depois as atribuições a esses recursos e, em seguida, descubro qual tarefa é a atribuição. Assim que encontrar esse link, posso copiar os dados desejados. Os acima são apenas exemplos.

O resultado

O resultado é que posso inserir minhas tarefas e atribuir os recursos, as datas, as anotações e a localização das tarefas:

Apósentrar,agorapossovermeusresultadosdeduasmaneiras.Eupossoverporpessoa,oquetodomundotemquefazer:

Comaformataçãodedataehora,émuitofácildeleremuitoorganizado

Tambémpossoverdeformasemelhanteportarefa:

Isso leva a um planejador de projetos muito bonito e fácil de modificar.

    
por 10.05.2018 / 19:17