Asignar campos de Microsoft Project a campos de Team Foundation

Se puede personalizar la forma en que los campos de elemento de trabajo almacenados en Team Foundation se asignan a los campos definidos para Microsoft Project. Puede cambiar la manera en que se publican campos específicos y designar el tipo de vínculo predeterminado que se usará al crear vínculos de jerarquía o de árbol y vínculos de dependencia.

A diferencia de Microsoft Excel, Microsoft Project usa un conjunto limitado de columnas, que incluyen columnas predefinidas, como la del nombre de tarea, y campos personalizados. Cuando un usuario publica o actualiza datos de elementos de trabajo en un archivo Microsoft Project, la asignación de campo determina qué campos de la base de datos de elementos de trabajo coinciden con las columnas de Microsoft Project.

Las asignaciones se pueden personalizar para, por ejemplo, admitir un campo que se haya creado o asignar campos a columnas predefinidas en lugar de a columnas personalizadas. Para obtener documentación completa sobre el archivo de asignación de campos para Microsoft Project, vea el tema sobre cómo Agregar o cambiar la asignación de campos de Project a campos de TFS.

La asignación se personaliza mediante la modificación del archivo FileMapping.xml. La siguiente tabla recoge los nombres del archivo, la carpeta y el complemento de las plantillas de proceso de Microsoft Solutions Framework (MSF). El complemento contiene la definición de la tarea que carga el archivo en la colección de proyectos de equipo.

Nombre del archivo:

FileMapping.xml

Nombre de la carpeta:

Clasificación

Nombre del complemento:

Microsoft.ProjectCreationWizard.Classification

Para obtener más información, vea el tema sobre cómo Definir el complemento de clasificación.

Especificar cómo se asignan los campos

Los campos asignados se especifican mediante el elemento Mapping y la estructura de sintaxis siguiente:

<Mappings>
   <Mapping WorkItemTrackingFieldReferenceName="System.Id" 
            ProjectField=""
            ProjectName=""
         ProjectUnits=""
         PublishOnly=""
         IfSummaryRefreshOnly=""/>
</Mappings>

En la tabla siguiente se describen los atributos del elemento Mapping.

Atributo

Descripción

WorkItemTrackingFieldReferenceName

Requerido. Especifica el nombre de referencia de un campo en un tipo de elemento de trabajo.

ProjectField

Requerido. Especifica el nombre de una columna de Microsoft Project. Especifique los nombres de columna predefinidos agregando el prefijo "pj" al nombre, como pjTaskName para la columna de nombre de la tarea. Especifique los campos personalizados, como pjTaskText, seguidos de un número, como pjTaskText11.

ProjectName

Opcional. Especifica el nombre para mostrar como nombre de columna para el usuario. Si no se especifica este atributo, se usa el nombre del campo en el tipo de elemento de trabajo.

ProjectUnits

Opcional. Especifica el tipo de unidades que se desea usar al asignar un tipo de campo para Microsoft Project. Los valores válidos son pjMinute, pjHour, pjDay, pjWeek y pjMonthUnit.

PublishOnly

Opcional. Si se establece en true, indica que el campo se publica en la base de datos de elementos de trabajo, pero no se actualiza. Este valor se usa normalmente para los campos calculados que no deben actualizarse en Team Explorer. Si se establece en false, indica que el campo se publica y se actualiza. De manera predeterminada, este atributo está establecido en false.

De forma predeterminada, tan solo Fecha de inicio y Fecha de finalización tienen este atributo establecido en true.

IfSummaryRefreshOnly

Opcional. Si se establece en true, indica que el campo nunca se publica en la base de datos de elementos de trabajo, pero sí se actualiza en esa base de datos cuando se cumplen las condiciones siguientes:

  • La fila correspondiente al campo es una tarea de resumen de Microsoft Project.

  • La tarea de resumen tiene los valores de publicación y actualización establecidos en Yes.

  • La tarea de resumen contiene al menos una tarea secundaria que se enlaza a Team Foundation Server.

Las actualizaciones o los cálculos realizados por Microsoft Project pueden sobrescribir el valor que se actualiza desde la base de datos de elementos de trabajo en el plan del proyecto. Sin embargo, el valor modificado nunca se guarda en dicha base de datos. Este atributo se usa normalmente para campos de resumen que, si se publican en la base de datos de elementos de trabajo, dan lugar a incoherencias de los datos.

Si se establece en false, indica que el campo puede publicarse y actualizarse. De manera predeterminada, este atributo está establecido en false.

Nota

El atributo IfSummaryRefreshOnly reemplaza al atributo PublishOnly.Para obtener más información, vea Personalizar el archivo de asignación de campos de Microsoft Project.

De forma predeterminada, el atributo IfSummaryRefreshOnly está establecido en true para los campos Estimación original, Trabajo restante y Trabajo completado.

Especificar los campos para sincronización, vínculos y datos adjuntos

Además del elemento Mapping, existen otros dos elementos que determinan cómo se sincronizan los campos y qué campo admitirá los vínculos y los datos adjuntos.

El elemento SyncField especifica qué columna actúa como campo de sincronización. El campo de sincronización se titula "Publicar y actualizar" y permite al usuario indicar si una fila de la tarea se publica o únicamente se actualiza.

Use la sintaxis XML siguiente para especificar qué columna se asigna al campo de sincronización. Establezca el atributo ProjectField en una columna válida de Microsoft Project.

<SyncField ProjectField="" />

El elemento LinksField especifica la columna de vínculos y datos adjuntos. Mediante la columna de vínculos y datos adjuntos, los usuarios pueden indicar si una determinada fila de tarea tiene vínculos o datos adjuntos.

Use la sintaxis XML siguiente para especificar qué columna se asigna al campo de vínculos y datos adjuntos. Establezca el atributo ProjectField en una columna válida de Microsoft Project.

<LinksField ProjectField="" />

Asignaciones de campos predeterminadas

En el ejemplo siguiente se muestra cómo la plantilla de proceso MSF for Agile Software Development asigna campos de elementos de trabajo a columnas de Microsoft Project.

<?xml version="1.0" encoding="utf-8"?>
<MSProject>
  <Mappings>
    <Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
    <Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
    <Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID" />
    <Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" />
    <Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
    <Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
    <Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" ProjectName="State" />
    <Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
    <Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Priority" ProjectField="pjTaskText19" ProjectName="Work Item Priority" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.StackRank" ProjectField="pjTaskNumber1" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish" PublishOnly="true" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.OriginalEstimate" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
    <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true" />
    <LinksField ProjectField="pjTaskText26" />
    <SyncField ProjectField="pjTaskText25" />
  </Mappings>
</MSProject>

Vea también

Conceptos

Definir el complemento de clasificación

Agregar o cambiar la asignación de campos de Project a campos de TFS

Personalizar el archivo de asignación de campos de Microsoft Project