Редактирование информации о проекте

Метод: UpdateProject

ПараметрОписаниеКомментарии
ASPNETSessionIdИдентификатор сессииОбязательно для заполнения
ProjectМассив значений проекта
UIDИдентификатор проектаОбязательно для заполнения
ParentProjectIdИдентификатор родительского проекта
NameНазвание проекта
StatusСтатус проекта
PercentCompleteПроцент выполнения
PlannedStartDateПланируемая дата начала проектаПлановая дата начала игнорируется, если в параметре StartDateConstraint передано одно из значений: AS_SOON_AS_POSSIBLE, AS_LATE_AS_POSSIBLE, NOT_SET
PlannedEndDateПланируемая дата окончания проектаПлановая дата окончания игнорируется, если в параметре EndDateConstraint передано значение NOT_SET
ActualStartDateФактическая дата начала проекта
ActualEndDateФактическая дата завершения проекта
OwnerIdИдентификатор руководителя проекта Изменять ответственных в существующем объекте возможно только методом delegate project
ResponsibleIdИдентификатор исполнителя проекта Изменять ответственных в существующем объекте возможно только методом delegate project
ResourceAssignmentsМассив назначенных ресурсов
ResourceAssignmentWrapperМассив параметров ресурса
PersonIdИдентификатор ресурса
ValueЗначение ресурса
PlannedDurationПлановая длительность проекта
DurationUnitЕдиница измерения плановой длительности проекта. Возвращаемые значения: HOURS, DAYS, WEEKS, MONTHS, YEARS
StartDateConstraintТип ограничения даты начала проекта. Передаваемые значения: MUST_START_ON, START_NO_EARLIER_THAN, AS_SOON_AS_POSSIBLE, AS_LATE_AS_POSSIBLE, NOT_SET (ограничение не установлено)Если в параметре StartDateConstraint передано одно из значений: AS_SOON_AS_POSSIBLE, AS_LATE_AS_POSSIBLE, NOT_SET, то ограничение в плановой дате начала объекта будет удалено
EndDateConstraintТип ограничения даты окончания проекта. Передаваемые значения: MUST_FINISH_ON, FINISH_NO_EARLIER_THAN, FINISH_NO_LATER_THAN, NOT_SET (ограничение не установлено)Если в параметре EndDateConstraint передано значение NOT_SET, то ограничение в плановой дате окончания объекта будет удалено
CalendarIdИдентификатор производственного календаря проекта
UsePlannedCost(с версии 3.29) Использовать значение плановых трудозатрат, переданное в параметре PlannedCost
Доступные значения:
• true;
• false (или null) - значение по умолчанию
PlannedCost(с версии 3.29) Значение плановых трудозатрат
Доступные значения:
• неотрицательные дробные значения (округляются до сотых);
• null

Возможные статусы проектов:

  • «1» – Предполагаемый
  • «3» – В работе
  • «4» – Требует внимания
  • «5» – Наивысший приоритет
  • «6» – Завершен
  • «7» – Отменен
  • «8» – Отложен
  • «9» – Готов к проверке

Формат передаваемых дат должен быть типа YYYY-MM-DDThh:mm:ss, например: 2002-05-30T09:00:00

  • YYYY указатель года
  • MM указатель месяца
  • DD указатель дня
  • T указатель начала временного интервала
  • hh указатель часов
  • mm указатель минут
  • ss указатель секунд
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <UpdateProject xmlns="http://streamline/">
      <contract>
        <ASPNETSessionId>string</ASPNETSessionId>
        <Project>
          <UID>string</UID>
          <ParentProjectId>string</ParentProjectId>
          <Name>string</Name>
          <ProjectTypeId>string</ProjectTypeId>
          <ProjectType>string</ProjectType>
          <Status>int</Status>
          <PercentComplete>int</PercentComplete>
          <SystemStartDate>dateTime</SystemStartDate>
          <SystemEndDate>dateTime</SystemEndDate>
          <PlannedStartDate>dateTime</PlannedStartDate>
          <PlannedEndDate>dateTime</PlannedEndDate>
          <ActualStartDate>dateTime</ActualStartDate>
          <ActualEndDate>dateTime</ActualEndDate>
          <Order>int</Order>
          <OwnerId>string</OwnerId>
          <ResponsibleId>string</ResponsibleId>
          <ResourceAssignments>
            <ResourceAssignmentWrapper xsi:nil="true" />
            <ResourceAssignmentWrapper xsi:nil="true" />
          </ResourceAssignments>
          <PlannedDuration>double</PlannedDuration>
          <DurationUnit>string</DurationUnit>
          <StartDateConstraint>string</StartDateConstraint>
          <EndDateConstraint>string</EndDateConstraint>
          <CalendarId>guid</CalendarId>
        </Project>
      </contract>
    </UpdateProject>
  </soap:Body>
</soap:Envelope>

Пример запроса с передачей плановых трудозатрат (доступно с версии 3.29) - добавлены необязательные передаваемые параметры UsePlannedCost и PlannedCost:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <UpdateProject xmlns="http://streamline/">
      <contract>
        <ASPNETSessionId>string</ASPNETSessionId>
        <Project>
          <UID>string</UID>
          <ParentProjectId>string</ParentProjectId>
          <Name>string</Name>
          <ProjectTypeId>string</ProjectTypeId>
          <ProjectType>string</ProjectType>
          <Status>int</Status>
          <PercentComplete>int</PercentComplete>
          <SystemStartDate>dateTime</SystemStartDate>
          <SystemEndDate>dateTime</SystemEndDate>
          <PlannedStartDate>dateTime</PlannedStartDate>
          <PlannedEndDate>dateTime</PlannedEndDate>
          <ActualStartDate>dateTime</ActualStartDate>
          <ActualEndDate>dateTime</ActualEndDate>
          <Order>int</Order>
          <OwnerId>string</OwnerId>
          <ResponsibleId>string</ResponsibleId>
          <ResourceAssignments>
            <ResourceAssignmentWrapper xsi:nil="true" />
            <ResourceAssignmentWrapper xsi:nil="true" />
          </ResourceAssignments>
          <UsePlannedCost>boolean</UsePlannedCost>
          <PlannedCost>double</PlannedCost>
          <CalculatedCost>double</CalculatedCost>
          <PlannedDuration>double</PlannedDuration>
          <DurationUnit>string</DurationUnit>
          <StartDateConstraint>string</StartDateConstraint>
          <EndDateConstraint>string</EndDateConstraint>
          <CalendarId>guid</CalendarId>
        </Project>
      </contract>
    </UpdateProject>
  </soap:Body>
</soap:Envelope>

Варианты комбинаций параметров и результат работы метода:

UsePlannedCostPlannedCostРезультат работы метода
trueУказанЗначение плановых трудозатрат установлено и равно значению, переданному в параметре PlannedCost
Или, если изменяемый объект иерархии узловой, значение текущих трудозатрат объекта не изменяется и значение, переданное в параметре PlannedCost, игнорируется
false (или null)УказанЗначение плановых трудозатрат не установлено
Значение, переданное в параметре PlannedCost, игнорируется
Текущее значение трудозатрат объекта и их тип (плановые трудозатраты или расчетные трудозатраты) не изменяются
truenullЗначение плановых трудозатрат становится расчетным
false (или null)nullЗначение плановых трудозатрат не установлено
Текущее значение трудозатрат объекта и их тип (плановые трудозатраты или расчетные трудозатраты) не изменяются
ПараметрОписание
UpdateProjectResultРезультат выполнения запроса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <UpdateProjectResponse xmlns="http://streamline/">
      <UpdateProjectResult>string</UpdateProjectResult>
    </UpdateProjectResponse>
  </soap:Body>
</soap:Envelope>

Вызов метода с помощью SoapUI:

1. В окне запроса в передаваемых параметрах указать:

  • идентификатор сессии (можно получить с помощью метода Authenticate) и идентификатор проекта - обязательные параметры;
  • статус проекта - параметр, который в данном случае будет редактироваться - со статуса «В работе» (3) переведем проект в статус «Отложен» (8):


2. При корректно выполненном методе появится код 200 и возвращаемый параметр - в данном случае UpdateProjectResult:


Готовый пример: