Microsoft Project - Пользовательский столбец, общий для задачи и ресурса?

2

Фон

Итак, у меня есть проект, который я создал в проекте Microsoft. У меня есть все мои задачи и ресурсы. Что я хотел бы сделать, это добавить столбец, чтобы захватить место, в котором происходит задача. Кажется, что нет столбца с надписью Location или что-то подобное.

Что я пробовал

По этой причине я хотел бы добавить столбец с меткой Местоположение . Я хотел бы, чтобы это было разделено между задачами и ресурсами.

Я добавил столбец как text2 из опций, а затем дал ему название Location :

введите описание изображения здесь

В разделе «Использование ресурсов» я выбираю text2 из выбора столбцов, но ничего не заполняется:

введите описание изображения здесь

Я что-то пропустил?

Возможно, еще один способ добиться этого, если мой список ресурсов включает в себя места (места). Если я делаю это таким образом, есть ли способ добавить вещи, связанные с местами, такие как адрес, номер телефона и т. Д.?

Эрик Ф
источник

Ответы:

0

То, что представляется информацией о задачах, отображаемой в представлении «Использование ресурсов», фактически является информацией о назначении .

Показанное поле Text2 является одним из назначений . Чтобы еще больше усложнить ситуацию, на уровне назначения есть два набора «пользовательских» полей - одно для задач и одно для ресурсов.

Используя макрос, вы можете скопировать данные уровня задачи в данные уровня назначения.

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

Первый цикл в этом коде копирует данные задачи на уровне полей в ресурсах уступке (например поля , которые вы видите в окне Использование ресурсов).

Второй цикл копирует данные в полях задач выполнения задания (например поля , показанные в представлении Использование задач). В зависимости от необходимости выберите одну из asn.Text2 = ...строк и удалите / закомментируйте другую. Первый будет дублировать информацию о задаче, а второй будет отображать данные Text2 из самого ресурса (например, из представления листа ресурсов).

Рейчел Хеттингер
источник
0

Итак, я обнаружил, что поля, которые назначены задачам, не являются одинаковыми полями, назначенными ресурсам, даже если они имеют одинаковые имена. Например, Text2 для ресурса не равен Text2 для задачи.

По этой причине единственным способом копирования между двумя наборами является использование VBA. Увидеть ниже:

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

Я перебираю доступные ресурсы, затем назначаю эти ресурсы, затем нахожу задачу, которой является назначение. Как только я найду эту ссылку, я смогу скопировать любые данные, которые захочу. Выше приведены только примеры.

Результат

В результате я могу войти в свои задачи и назначить ресурсы задач, даты, заметки и местоположение:

введите описание изображения здесь

После ввода я могу просмотреть свои результаты двумя способами. Я лично вижу, что должен делать каждый:

введите описание изображения здесь

С форматированием времени и даты это очень легко читать и очень организовано

Я также могу посмотреть аналогично по задаче:

введите описание изображения здесь

Это приводит к очень красивому планировщику проекта, который легко модифицируется.

Эрик Ф
источник