Добавление и настройка типа рабочего элемента

Можно добавлять и настраивать типы рабочих элементов, чтобы использовать их в определенном командном проекте.Для каждого типа рабочего элемента можно добавлять поля, состояния, переходы и изменять структуру формы.Для каждого поля, которое задано для типа, можно добавить правила и определить допустимые значения.

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

Содержание раздела

Для добавления и настройки типа рабочего элемента выполните следующие процедуры.

  1. Создание командного проекта с названием WITLab

  2. Просмотр формы рабочего элемента для типа задачи

  3. Экспорт типа задачи

  4. Копирование и переименование типа "Task" на тип "Special Task"

  5. Импорт типа "Special Task" и проверка изменений

  6. Добавление нового поля с названием "Категория" в тип "Special Task"

  7. Добавление к полю "Категория" правила

  8. Создание списка выбора для поля "Категория"

  9. Изменение рабочего процесса для типа "Special Task"

  10. Изменение структуры формы для типа "Special Task"

Обязательные компоненты

Для выполнения операций данного руководства, необходимо выполнение следующих условий.

  • Необходимо иметь копию Visual Studio с установленным Team Explorer и подключение к серверу Team Foundation Server.Дополнительные сведения см. в разделе Подключение к командным проектам на сервере Team Foundation Server.

  • Если можно подключиться к серверу Team Foundation Server и для этого имеются соответствующие разрешения, то выполнение основных настроек типа рабочего элемента можно выполнять из командной строки, пакетного фала или файла скрипта.

Необходимые разрешения

Для выполнения этой процедуры необходимо быть членом группы Администраторы Team Foundation или участником группы Администраторы проекта для проекта.Дополнительные сведения см. в разделе Разрешения Team Foundation Server.

Создание командного проекта с названием WITLab

Создание командного проекта

  1. Запустите Visual Studio.

  2. В меню Сервис Visual Studio выберите пункт Подключиться к Team Foundation Server.

    ПримечаниеПримечание

    Если эта команда недоступна, установка сервера Team Explorer не выполнена.Чтобы обеспечить возможность подключения к серверу Team Foundation Server, необходимо установить сервер Team Explorer.

  3. В диалоговом окне Подключение к командному проекту выберите из списка Team Foundation Server сервер, на котором выполняется Team Foundation Server.

  4. В диалоговом окне Подключиться к командному проекту укажите в списке Team Foundation Server сервер, содержащий коллекцию командных проектов, которую необходимо добавить в командный проект.

    ПримечаниеПримечание

    Если раскрывающийся список пуст, нажмите кнопку Серверы, чтобы ввести параметры подключения к серверу вручную.Для получения параметров подключения обратитесь к администратору Team Foundation или администратору командного проекта.

  5. В списке Каталог укажите имя коллекции проектов, к которой необходимо добавить командный проект.

  6. Щелкните Подключиться.

  7. В меню Файл выберите команду Создать командный проект.

    ПримечаниеПримечание

    Если параметры среды управления проектами не используются, в меню Файл выберите команду Создать и щелкните пункт Командный проект.

    Откроется мастер Создание командного проекта.

    ПримечаниеПримечание

    Если подключение к серверу Team Foundation Server отсутствует, появится подсказка о необходимости подключиться к серверу.Проверьте шаги со 2 по 6.

  8. На странице Укажите параметры командного проекта в поле Имя командного проекта введите WITLab, затем нажмите кнопку Далее.

  9. На странице Выбор шаблона процесса в области Шаблон процесса для создания командного проекта щелкните MSF для Agile Software Development - <номер версии>, а затем нажмите кнопку Готово.

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

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

    Новый командный проект с названием "WITLab" появляется в виде узла на сервере Team Explorer.

Просмотр формы рабочего элемента для типа задачи

Обязательные условия: необходимо выполнить процедуру Создайте командный проект с названием WITLab.Командный проект "WITLab" отображается в узле на сервере Team Explorer.

Просмотр формы рабочего элемента

  1. Запустите программу Visual Studio и откройте Team Explorer.

  2. В Team Explorer разверните командный проект "WITLab" и подождите несколько секунд, чтобы загрузились его папки.

  3. В этом командном проекте дважды щелкните узел Рабочие элементы, выберите Добавить рабочий элемент, а затем щелкните Task.

    Отобразится форма, представляющая новый рабочий элемент "Task".Некоторые поля формы содержат значения по умолчанию.Далее в данном руководстве можно будет настроить тип рабочего элемента "Task", на основе которого создан данный рабочий элемент.

Экспорт типа задачи

Обязательное условие: необходимо выполнить процедуру Создайте командный проект с названием WITLab.Командный проект "WITLab" отображается в узле на сервере Team Explorer.

Экспорт типа рабочего элемента

  1. Откройте командную строку Visual Studio.

  2. В командной строке введите следующую команду, после чего нажмите клавишу ВВОД:

    witadmin exportwitd /collection:http://ИмяСервера:Порт/ИмяВиртуальногоКаталога/ИмяКоллекции**/p:WITLab /n:Task/f:"Путь к файлу\task.xml"**

    В результате выполняется экспорт типа рабочего элемента "Task" из Team Foundation Server в файл task.xml в папку, которая задана значением Путь к файлу.По завершении операции экспорта отображаются следующие сведения.

    Work item type export complete.

  3. (Необязательно) Чтобы просмотреть определение XML для типа рабочего элемента "Task", введите в командной строке текст "Путь к файлу**\ task.xml"** и нажмите клавишу ВВОД.

Копирование и переименование типа "Task" на тип "Special Task"

Обязательное условие. Необходимо выполнить процедуру Экспорт типа задачи.

Копирование и переименование типа

  1. В среде Visual Studio последовательно щелкните Файл, Открыть файл.

    Откроется диалоговое окно Открытие файла.

  2. В списке Искать в перейдите к папке, в которую был экспортирован файл.

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

    ПримечаниеПримечание

    Для запуска Windows Vista не обязательно иметь разрешения, установленные для определенных папок.При попытке экспорта типа рабочего элемента в расположение, к которому отсутствуют права доступа, технология виртуализации реестра автоматически перенаправит экспортируемый файл и сохранит его в виртуальном хранилище.Во избежание перенаправления, файл можно экспортировать в расположение, для которого имеются права доступа.Дополнительные сведения о виртуализации реестра см. на следующих страницах на веб-сайте корпорации Майкрософт: Виртуализация реестра и Типовые проблемы виртуализации файлов и реестра в Windows Vista.

  3. Щелкните файл task.xml и нажмите кнопку Открыть.При выводе запроса об окончаниях строк нажмите кнопку Нет.

    Откроется XML-файл task.xml, содержащий определение типа рабочего элемента "Task".

  4. Найдите в данном XML-файле следующий элемент.

    <WORKITEMTYPE name="Task">
    
  5. Измените значение атрибута имени на значение Special Task.

    <WORKITEMTYPE name="Special Task">
    
  6. Сохраните изменения в новом XML-файле.Для этого в меню Файл среды Visual Studio выберите команду Сохранить task.xml как.

    Откроется диалоговое окно Сохранить файл как.

  7. В поле Имя файла введите specialtask.xml и нажмите кнопку Сохранить.

Импорт типа "Special Task" и проверка изменений

Обязательное условие: необходимо выполнить процедуру Копирование и переименование типа "Task" на тип "Special Task".

Выполнение импорта нового типа

  1. Откройте командную строку Visual Studio.

  2. Импорт типа "Special Task" в Team Foundation Server.Для этого в командной строке Visual Studio введите следующую команду, после чего нажмите клавишу ВВОД:

    witadmin importwitd /collection:http://ИмяСервера:Порт/ИмяВиртуальногоКаталога/ИмяКоллекции**/p:WITLab /f:"Путь к файлу\specialtask.xml"**

    В результате выполняется импорт типа "Special Task" в проект WitLab на сервер Team Foundation Server.По завершении операции импорта отображаются следующие сведения.

    Work item type import complete.

  3. На сервере Team Explorer выберите командный проект, а затем в меню Вид выберите пункт Обновить, чтобы загрузить с сервера последние обновления.

    Эти обновления содержат только что импортированный новый тип "Special Task".Подождите несколько секунд, пока не загрузятся все узлы.Узлы, находящиеся в процессе загрузки, помечаются словом работает.

  4. Создание нового рабочего элемента типа "Special Task".Для этого щелкните правой клавишей мыши узел Рабочие элементы, выберите Добавить рабочий элемент, а затем — Special Task.

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

Добавление нового поля с названием "Категория" в тип "Special Task"

Обязательное условие: необходимо выполнить процедуру Копирование и переименование типа "Task" на тип "Special Task".

Добавление поля

  1. Откройте файл, содержащий определение типа рабочего элемента "Special Task".Для этого в Visual Studio перейдите на вкладку с надписью SpecialTask.xml.

  2. Найдите следующий раздел XML-файла:

    <FIELDS>
    
  3. Для создания строкового поля с именем "Категория" и текста справки для подсказки добавьте элементы FIELD и HELPTEXT, как показано в следующем примере:

    <FIELDS>
    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String">
        <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    </FIELD>
    
    ПримечаниеПримечание

    Ссылочное имя, или refname, является программным именем данного поля.Все прочие правила должны ссылаться на это значение refname.Дополнительные сведения см. в разделе Соглашения об именовании объектов отслеживания рабочих элементов.

  4. Найдите следующий раздел XML-файла, в котором описывается форма рабочего элемента.

    <FORM>
    
  5. Найдите следующие строки в разделе <FORM>.

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
      </Column>
    </Group>
    
  6. Чтобы вставить элемент управления для отображения поля "Категория", добавьте элемент управления Control с типом Type="FieldControl" после элемента управления System.IterationPath, как показано в следующем примере:

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
        <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
      </Column>
    </Group>
    
  7. В меню Файл выберите пункт Сохранить, чтобы сохранить изменения в XML-файле.

  8. Импорт измененного типа "Special Task" на сервер Team Foundation Server.Для этого выполните шаги, описанные в процедуре Импорт типа "Special Task" и проверка изменений.

    Обратите внимание на новое поле Категория, отображаемое в форме.Наведите указатель мыши на подпись этого поля, чтобы просмотреть подсказку.

  9. Нажмите кнопку Закрыть, чтобы закрыть новый элемент Special Task.При выводе запроса на сохранение рабочего элемента нажмите кнопку Нет.

ms400654.collapse_all(ru-ru,VS.110).gifДобавление к полю "Категория" правила

Обязательное условие. Необходимо выполнить процедуру Добавление нового поля с названием "Категория".

Добавление правил для поля

  1. Откройте файл, содержащий определение типа рабочего элемента "Special Task".Для этого в Visual Studio перейдите на вкладку с надписью SpecialTask.xml.

  2. Найдите раздел <FIELDS> XML-файла и поле "Категория" в этом разделе.

  3. Чтобы сделать поле "Категория" обязательным, добавьте элемент REQUIRED, как показано в следующем примере:

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    </FIELD>
    
  4. В меню Файл щелкните команду Сохранить, чтобы сохранить изменения в XML-файле.

  5. Импортируйте измененный тип рабочего элемента "Special Task" на сервер Team Foundation Server.Для этого выполните шаги, описанные ранее в процедуре Импорт типа "Special Task" и проверка изменений.

    witadmin importwitd /collection:http://ИмяСервера:Порт/ИмяВиртуальногоКаталога/ИмяКоллекции**/p:WITLab /f:"Путь к файлу\specialtask.xml"**

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

  6. Выберите в рабочем элементе "Special Task" поле Название и введите в него "Пример задания".

  7. Для сохранения рабочего элемента нажмите кнопку Сохранить в панели инструментов.

    Откроется диалоговое окно с сообщением об ошибке, в котором указано, что поле Категория не может быть пустым.Нажмите кнопку ОК, чтобы закрыть диалоговое окно.

  8. В полеКатегория рабочего элемента с типом "Special Task" введите "Категория A".

  9. Нажмите кнопку Сохранить для сохранения рабочего элемента.

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

  10. Нажмите кнопку Закрыть, чтобы закрыть новый элемент Special Task.

ms400654.collapse_all(ru-ru,VS.110).gifСоздание списка выбора для поля "Категория"

Обязательное условие. Необходимо выполнить процедуру Добавление к полю "Категория" правила.

Создание списка выбора

  1. Откройте файл, содержащий определение типа рабочего элемента "Special Task".Для этого в Visual Studio перейдите на вкладку с надписью SpecialTask.xml.

  2. Найдите раздел <FIELDS> XML-файла и поле "Категория" в этом разделе.

  3. Чтобы добавить список допустимых значений для поля "Категория", вставьте элемент ALLOWEDVALUES с дочерним элементом LISTITEM в каждое допустимое значение.

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    <ALLOWEDVALUES>
        <LISTITEM value="Process Management" />
        <LISTITEM value="Planning" />
        <LISTITEM value="Execution" />
        <LISTITEM value="Review" />
    </ALLOWEDVALUES>
    </FIELD>
    
  4. Чтобы сделать поле "Категория" необязательным, удалите элемент REQUIRED перед элементом ALLOWEDVALUES.

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension">
    <HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>
    <REQUIRED />
    <ALLOWEDVALUES>
        <LISTITEM value="Process Management" />
        <LISTITEM value="Planning" />
        <LISTITEM value="Execution" />
        <LISTITEM value="Review" />
    </ALLOWEDVALUES>
    </FIELD>
    
  5. Нажмите кнопку Сохранить для сохранения изменений в XML-файле.

  6. Импортируйте измененный тип рабочего элемента "Special Task" на сервер Team Foundation Server.Для этого выполните шаги, описанные ранее в процедуре Импорт типа "Special Task" и проверка изменений.

  7. Создание нового рабочего элемента типа "Special Task".Для этого щелкните правой клавишей мыши узел Рабочие элементы, выберите Добавить рабочий элемент, а затем — Special Task.

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

  8. Щелкните поле со списком для поля "Категория".

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

    ПримечаниеПримечание

    Допустимые значения в раскрывающемся списке всегда отображаются в алфавитном порядке, независимо от порядка расположения элементов LISTITEM в XML-файле.

  9. Нажмите кнопку Закрыть, чтобы закрыть новый элемент Special Task.При выводе запроса на сохранение рабочего элемента нажмите кнопку Нет.

ms400654.collapse_all(ru-ru,VS.110).gifИзменение рабочего процесса для типа "Special Task"

Обязательное условие. Необходимо выполнить процедуру Создание списка выбора для поля "Категория".

Изменение рабочего процесса

  1. Откройте файл, содержащий определение типа рабочего элемента "Special Task".Для этого в Visual Studio перейдите на вкладку с надписью SpecialTask.xml.

  2. Найдите определение рабочего процесса типа рабочего элемента в разделе <WORKFLOW> XML-файла, как показано в следующем коде XML:

    <WORKFLOW>
      <STATES>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    

    Обратите внимание, что определено только два состояния: "Active" и "Closed".Кроме того, определены переходы между этими состояниями, а также открывающий переход из состояния "null", которое используется при создании рабочего элемента.

  3. Для добавления к определению типа состояния "Unapproved" вставьте еще один элемент STATE перед состоянием "active".

    <WORKFLOW>
      <STATES>
        <STATE value="Unapproved">
        </STATE>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
    ...
    
  4. Создайте переход между состоянием «null» и состоянием «unapproved».Для этого найдите раздел определения рабочего процесса, относящийся к переходам.Затем вставьте элемент перехода TRANSITION из неназначенного состояния в состояние "Unapproved".В результате этого изменения для начального состояния всех новых рабочих элементов данного типа устанавливается значение «Unapproved» со значением «New» для причины по умолчанию.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
        </REASONS>
      </TRANSITION>
      <TRANSITION from="" to="Active">
        <REASONS>
          <DEFAULTREASON value="New" />
        </REASONS>
        <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
            <COPY from="currentuser" />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
            <COPY from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
            <COPY from="currentuser" />
          </FIELD>
        </FIELDS>
      </TRANSITION>
    
  5. Удалите элемент перехода TRANSITION из неназначенного состояния в состояние "Active" и все его дочерние элементы, которые показаны в следующем примере.Выполнение этого шага необходимо сделать по той причине, что необходимо использовать открывающий переход с именем "Ported", который будет определен на следующем шаге. Однако в определении может быть только один открывающий переход.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
        </REASONS>
      </TRANSITION>
      <TRANSITION from="" to="Active">
        <REASONS>
          <DEFAULTREASON value="New" />
        </REASONS>
        <FIELDS>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
            <COPY from="currentuser" />
          </FIELD>
          <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
            <COPY from="clock" />
          </FIELD>
          <FIELD refname="System.AssignedTo">
            <COPY from="currentuser" />
          </FIELD>
        </FIELDS>
      </TRANSITION>
    
  6. Добавьте для открывающего перехода причину «Ported», вставив элемент REASON после причины по умолчанию.Это изменение позволит пользователям определить, создан ли рабочий элемент заново или был перенесен из другой системы отслеживания.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
      </TRANSITION>
    ...
    
  7. Вставьте правило COPY в следующем примере.Данное правило устанавливает имя пользователя, создавшего рабочий элемент, значением по умолчанию для поля Состояние назначения. Это правило оценивается только во время открывающего перехода.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
        <FIELDS>
           <FIELD refname="System.AssignedTo">
             <COPY from="currentuser" />
           </FIELD>
        </FIELDS>
      </TRANSITION>
    ...
    
    ПримечаниеПримечание

    В зависимости от местоположения правила — в элементе <TRANSITION> или <STATE>, правило будет действовать либо для переходов, либо для состояний.

  8. Чтобы создать переход из состояния «Unapproved» к состоянию «Active», вставьте элемент TRANSITION и его дочерние элементы, как показано в следующем примере.Благодаря этому изменению после утверждения рабочего элемента "Special Task" для него можно выполнить этот переход.

    <TRANSITIONS>
      <TRANSITION from="" to="Unapproved">
        <REASONS>
          <DEFAULTREASON value="New" />
         <REASON value="Ported" />
        </REASONS>
        <FIELDS>
           <FIELD refname="System.AssignedTo">
             <COPY from="currentuser" />
           </FIELD>
        </FIELDS>
      </TRANSITION>
      <TRANSITION from="Unapproved" to="Active">
        <REASONS>
          <DEFAULTREASON value="Approved" />
        </REASONS>
      </TRANSITION>
      <TRANSITION from="Active" to="Closed">
        <REASONS>
          <DEFAULTREASON value="Completed" />
          <REASON value="Deferred" />
          <REASON value="Obsolete" />
          <REASON value="Cut" />
        </REASONS>
    ...
    
  9. Нажмите кнопку Сохранить для сохранения изменений в XML-файле.

  10. Импортируйте измененный тип рабочего элемента "Special Task" на сервер Team Foundation Server.Для этого выполните шаги, описанные в процедуре Импорт типа "Special Task" и проверка изменений.

    Обратите внимание, что для поля Состояние сейчас установлено значение Unapproved, а для поля Причина — значение по умолчанию New.Кроме того, для значения Состояние назначения по умолчанию устанавливается имя учетной записи текущего пользователя.Щелкните поле Причина, чтобы открыть список, содержащий два значения — New и Ported.

  11. Введите название в поле Название, а затем нажмите кнопку Сохранить, чтобы сохранить рабочий элемент.Дождитесь завершения операции сохранения, на что указывает появление сообщения Элементы сохранены в строке состояния.

  12. В поле Состояние выберите значение Active, чтобы утвердить рабочий элемент и снова выполнить переход.Обратите внимание, что в поле Reason устанавливается значение по умолчанию Approved.

  13. Нажмите кнопку Сохранить для сохранения этого перехода.

  14. Нажмите кнопку Закрыть, чтобы закрыть рабочий элемент "Special Task".

ms400654.collapse_all(ru-ru,VS.110).gifИзменение структуры формы для типа "Special Task"

Обязательное условие: необходимо выполнить процедуру Изменение рабочего процесса для типа "Special Task".

Изменение макета формы

  1. Откройте файл, содержащий определение типа рабочего элемента "Special Task".Для этого в Visual Studio перейдите на вкладку с надписью SpecialTask.xml.

  2. Найдите раздел <TabGroup> XML-файла.Обратите внимание, что для ссылок и вложений файлов имеются отдельные элементы <Tab> и каждый из элементов <Tab>содержит элемент <Control>, который отображает соответствующий элемент управления.

    <Tab Label="Links">
      <Control Type="LinksControl" />
    </Tab>
    <Tab Label="File Attachments">
      <Control Type="AttachmentsControl" />
    </Tab>
    
  3. Объедините два элемента <Tab> в один элемент <Tab> для ссылок и вложений файлов, содержащий оба элемента управления. Для этого замените код XML, показанный на предыдущем шаге, новым кодом XML, приведенным ниже.

    <Tab Label="Links and Attachments">
      <Control Type="LinksControl" Label="Links" LabelPosition="Top" />
      <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" />
    </Tab>
    
  4. Найдите раздел <FORM>, определение <Layout>, в котором описаны группы Classification и Status.

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
        <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
      </Column>
    </Group>
    
    ПримечаниеПримечание

    Для получения наилучшего результата каждый элемент "Control" или "Group" должен отображаться в элементе "Column", даже если элемент "Column" занимает всю ширину формы.Каждый элемент "Column", в свою очередь, должен отображаться в элементе "Group", даже если элемент "Group" не имеет отображаемой подписи или границы.

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

      <Column PercentWidth="70">
        <Group>
          <Column PercentWidth="100">
            <Group Label="Classification">
              <Column PercentWidth="100">
                <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
                <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
                <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
              </Column>
            </Group>
    
  6. Для удаления группы "Classification" из ее текущей позиции в форме удалите из примера строки, начиная с <Group Label="Classification"> и заканчивая </Group>.

    <Layout>
      <Group>
        <Column PercentWidth="70">
          <Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left" />
        </Column>
        <Column PercentWidth="30">
          <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&amp;Discipline:" LabelPosition="Left" />
        </Column>
      </Group>
      <Group Label="Classification">
        <Column PercentWidth="100">
          <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&amp;Area:" LabelPosition="Left" />
          <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&amp;Iteration:" LabelPosition="Left" />
          <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
        </Column>
      </Group>
    
  7. В разделе <TabGroup> найдите следующие строки, которые определяют вкладку Details:

    <Tab Label="Details">
      <Group>
        <Column PercentWidth="50">
          <Group Label="General">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&amp;xit criteria:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &amp;build:" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
        <Column PercentWidth="50">
          <Group Label="Schedule">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Label="Remaining &amp;work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&amp;pleted work (hours):" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
      </Group>
    </Tab>
    
  8. Чтобы переместить эти элементы управления на вкладку Сведения, вставьте содержимое буфера обмена после элемента <Tab Label="Details">.

    <Tab Label="Details">
      <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
      <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
      <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
      <Group>
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" />
    ...
    
  9. Чтобы сгруппировать перемещенные поля и разделить их на два столбца, добавьте элементы Group и Column, как показано в следующем примере:

    <Tab Label="Details">
      <Group Label="Classification">
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
              <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
      </Group>
      <Group>
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Issue" LabelPosition="Left" />
    ...
    
  10. Нажмите кнопку Сохранить для сохранения изменений в XML-файле.

  11. Импортируйте измененный тип рабочего элемента "Special Task" на сервер Team Foundation Server.Для этого выполните шаги, описанные в процедуре Импорт типа "Special Task" и проверка изменений.

    Обратите внимание, что группа "Classification" теперь отсутствует на главной форме.Перейдите на вкладки Links and Attachments и Details, чтобы просмотреть результаты сделанных изменений.

  12. Нажмите кнопку Закрыть, чтобы закрыть новый элемент Special Task.При выводе запроса на сохранение рабочего элемента нажмите кнопку Нет.

См. также

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

Настройка данных отслеживания, форм, рабочего процесса и других объектов для проекта