Поделиться через


Настройка файла сопоставления полей Microsoft Project

Вы можете настраивать сопоставление полей рабочего элемента, определенных в Team Foundation, с полями в Microsoft Project, а также изменять порядок публикации отдельных полей. Microsoft Project включает предопределенные поля, такие как "Имя задачи", и настраиваемые поля. Когда вы публикуете или обновляете данные рабочего элемента в Microsoft Project, сопоставление полей определяет, какие поля в базе данных рабочих элементов соответствуют полям в Microsoft Project.

Информацию об использовании Project и TFS для отслеживания работы см. в разделе Создание невыполненной работы и задач с помощью Project.

Чтобы изменить сопоставление полей для командного проекта, экспортируйте и затем импортируйте файл сопоставления Microsoft Project с помощью программы командной строки TFSFieldMapping.

Mapping, элемент

Для определения сопоставления между полем рабочего элемента и столбцом проекта используется элемент Mapping.

Чтобы указать сопоставление между полем типа рабочего элемента и полем Microsoft Project, используйте приведенный ниже синтаксис XML. Затем используйте элемент Mapping для указания сопоставления полей.

<Mapping WorkItemTrackingFieldReferenceName="" 
         ProjectField=""
         ProjectName=""
         ProjectUnits=""
         PublishOnly="">
         IfSummaryRefreshOnly=""/>

Атрибуты

В таблице ниже представлены атрибуты, которые можно использовать с элементом Mapping.

Атрибут

Описание

WorkItemTrackingFieldReferenceName

Обязательный. Задает ссылочное имя поля в типе рабочего элемента.

ProjectField

Обязательный. Задает имя поля в Microsoft Project. Указывайте имена предопределенных полей, добавляя к имени префикс pj, например pjTaskName для столбца "Имя задачи". Указывайте настраиваемые поля в виде имени, за которым следует число, например pjTaskText11.

Название проекта

Необязательно. Задает имя, которое должно отображаться как имя столбца в Microsoft Project. Если этот атрибут не задан, используется имя поля типа рабочего элемента.

ProjectUnits

Необязательно. Задает тип единиц, используемых при сопоставлении типа поля с Microsoft Project. Можно указать следующие значения: pjMinute, pjHour, pjDay, pjWeek и pjMonthUnit.

Примечание

Вы можете задавать атрибут ProjectUnits только для полей, которые определяют период времени или другие единицы измерения времени.

PublishOnly

Необязательно. Значение true указывает, что поле публикуется в базе данных рабочих элементов, но не обновляется. Это значение обычно используется для вычисляемых полей, которые не должны обновляться в Team Explorer. Значение false указывает, что поле публикуется и обновляется. Значение по умолчанию — false.

В файле сопоставления по умолчанию имеется два поля с атрибутом PublishOnly, установленным в значение true: Дата начала и Дата окончания.

IfSummaryRefreshOnly

Необязательно. Значение true указывает, что поле не публикуется в базе данных рабочих элементов, но обновляется из базы данных рабочих элементов, если выполняются указанные ниже условия.

  • Строка поля представляет собой суммарную задачу в Office Project.

  • Суммарная задача имеет атрибуты публикации (Publish) и обновления (Refresh), установленные в значение Yes.

  • Суммарная задача содержит по крайней мере одну дочернюю задачу, привязанную к Team Foundation Server.

Любые обновления или вычисления, выполняемые Microsoft Project, могут переопределить значение, которое обновляется из базы данных рабочих элементов в плане проекта. Однако измененное значение никогда не сохраняется в базе данных рабочих элементов. Этот атрибут обычно используется для сводных полей, публикация которых в базе данных рабочих элементов приводит к несогласованности данных.

Значение false указывает, что поле может как публиковаться, так и обновляться. Если значение не задано, используется значение по умолчанию false.

Примечание

Значение, присвоенное атрибуту IfSummaryRefreshOnly, заменяет значение, присвоенное атрибуту PublishOnly.Подробнее см. в подразделе Сопоставление атрибутов, влияющих на публикацию и обновление далее в этом разделе.

В файле сопоставления по умолчанию атрибут IfSummaryRefreshOnly имеет значение true для полей Исходная оценка, Оставшиеся трудозатраты и Завершенная работа.

В примере ниже показано, как сопоставить поле типа рабочего элемента, содержащее заголовок, с полем имени задачи Microsoft Project.

<Mapping WorkItemTrackingFieldReferenceName="System.Title" 
         ProjectField="pjTaskName"/>

Приведенный ниже синтаксис XML представляет более сложный пример того, как сопоставить поле типа рабочего элемента, имеющее дату начала, с полем даты начала Microsoft Project. Так как это поле является вычисляемым, оно задается для публикации, но не обновления, чтобы избежать ошибок, вызванных обновлениями Team Explorer.

<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true"/>

Примечание

Рекомендуется сопоставлять вычисляемые поля в Microsoft Project с полями только для чтения в Team Foundation.Это позволяет избежать путаницы, когда члены команды пытаются изменять вычисляемые поля.

Элемент ReservedField

Элемент ReservedField обеспечивает поддержку иерархических связей, определенных между задачами, и является необязательным.

Если этот элемент не указан в сопоставлении, то в Microsoft Project используется поле по умолчанию pjNumber20.

Элемент SyncField

Поле синхронизации позволяет управлять поведением публикации и обновления для каждой задачи. Это поле отображается в виде столбца с заголовком Публикация и обновление при использовании представления Лист задач Team System.

Вам необходимо указать поле синхронизации в файле сопоставления полей Microsoft Project. Чтобы указать, какое поле является полем синхронизации, используйте приведенный ниже синтаксис XML. Для указания поля синхронизации используйте элемент SyncField. Для атрибута ProjectField должно быть задано допустимое поле Office Project.

<SyncField ProjectField="" />

В примере ниже показано, как задать pjTaskText25 в качестве поля синхронизации.

<SyncField ProjectField="pjTaskText25" />

Подробнее об использовании поля синхронизации в Office Project читайте в разделе Публикация или обновление рабочих элементов в Project.

Элемент ResourceNameSeparator

С помощью элемента ResourceNameSeparator вы можете задать символ, разделяющий имена ресурсов в строке. Пользователи и ресурсы Team Foundation синхронизируются с пользователями службы каталогов Active Directory. Имена пользователей и ресурсов могут включать разделители, например запятую, для отделения фамилии, имени и отчества ресурса.

Это необязательный элемент. Если этот элемент не указан в сопоставлении, то Microsoft Project разделяет имена ресурсов с помощью сопоставлений по умолчанию, которые определены в таблице ниже.

Если в Active Directory и командном проекте используется разделитель списка

То в Office Project замените его на

,

;

;

:

.

:

Если вы хотите указать другой символ, не перечисленный в приведенной выше таблице, то можно определить ResourceNameSeparator, используя следующий синтаксис:

<ResourceNameSeparator WorkItemTrackingCharacter="" ProjectCharacter=""/>

В примере ниже показано, как задать символ "*" в качестве разделителя, который должен использоваться в Office Project, когда в Team Foundation используется символ "-".

<ResourceNameSeparator WorkItemTrackingCharacter="-" ProjectCharacter="*"/>

Иерархический тип связи

При создании суммарных задач в Microsoft Project создается древовидная связь между родительской суммарной задачей и подчиненными или дочерними задачами. Для создания таких связей в Office Project по умолчанию используется System.LinkTypes.Hierarchy.

Тип связи зависимости

При создании связи между задачами в Microsoft Project вы создаете зависимую связь между задачами. Задаче-предшественнику назначается связь предшественника, а последующей задаче назначается связь последователя. Это обозначения по умолчанию, определенные для типа связи System.LinkTypes.Dependency.

Сопоставление атрибутов, влияющих на публикацию и обновление

Следующие поля сопоставления и значения полей Microsoft Project определяют, должно ли значение рабочего элемента публиковаться или обновляться:

  • значение поля Публикация и обновление для каждого рабочего элемента;

  • значение атрибута PublishOnly для конкретного поля сопоставления;

  • значение атрибута IfSummaryRefreshOnly для конкретного поля сопоставления;

  • классификация задачи как суммарной или родительской задачи.

    Родительская задача — это задача, которая имеет по крайней мере одну дочернюю задачу, публикуемую в Team Foundation Server.

Для рабочих элементов, которые не являются суммарными задачами

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

Опубликовать и обновить

(уровень задачи)

Атрибут PublishOnly

Поле публикуется

Поле обновляется

Нет

True или False

Нет

Нет

Только обновить

True или False

Нет

Да

Да

True

Да

Нет

Да

False

Да

Да

Для рабочих элементов, которые являются суммарными задачами

Если условия суммарной задачи выполняются и атрибут IfSummaryRefreshOnly имеет значение true, то его значение заменяет значение PublishOnly. В таблице ниже указывается, будет ли публиковаться или обновляться суммарная или родительская задача в зависимости от установленного значения поля Публикация и обновление и атрибутов поля сопоставления.

Опубликовать и обновить

(уровень задачи)

Атрибут PublishOnly

IfSummaryRefreshOnly

Атрибут

Поле публикуется

Поле обновляется

Нет

True или False

True или False

Нет

Нет

Только обновить

True

True

Нет

Да

Только обновить

True

False

Нет

Да

Только обновить

False

True или False

Нет

Да

Да

True или False

True

Нет

Да

Да

True

False

Да

Нет

Да

False

False

Да

Да

См. также

Основные понятия

Справочник по элементам типов связей

Добавление и изменение сопоставлений полей Project с полями TFS