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

Метод: CreateProject
Возвращает идентификатор созданного проекта.

ПараметрОписание
ASPNETSessionIdИдентификатор сессии
ParentProjectId*Идентификатор родительского проекта
ProjectTypeId*Идентификатор типа создаваемого проекта
TemplateIDШаблон проекта (доступно с версии 3.20)
ProjectName*Название проекта
OrderПорядковый номер
ProjectOwnerIdИдентификатор руководителя проекта
ProjectResponsibleIdИдентификатор исполнителя проекта
StatusСтатус проекта.
PercentCompleteПроцент выполнения
PlannedStartDate***Плановая дата начала
PlannedEndDate****Плановая дата окончания
ActualStartDateФактическая дата начала проекта
ActualEndDateФактическая дата завершения проекта
ResourceAssignmentsМассив назначенных ресурсов
ResourceAssignmentWrapperМассив параметров ресурса
PersonIdИдентификатор ресурса
ValueЗначение ресурса
OrderПорядковый номер проекта в родительском объекте
FieldsМассив всех реквизитов проекта
FieldWrapperМассив значений реквизитов
FieldNameНазвание реквизита
FieldIdИдентификатор реквизита
FieldVal**Значение реквизита
DocumentFieldWrapperМассив значений реквизитов с типом «документ»
FieldIdИдентификатор реквизита
DocumentNameНазвание документа
DocumentBodyДокумент в формате Base64
DocumentContentTypeТип загружаемого документа
UsePlannedCost(с версии 3.29) Использовать значение плановых трудозатрат, переданное в параметре PlannedCost
Доступные значения:
• true;
• false (или null) - значение по умолчанию
PlannedCost(с версии 3.29) Значение плановых трудозатрат
Доступные значения:
• неотрицательные дробные значения (округляются до сотых);
• null
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 (ограничение не установлено)
EndDateConstraintТип ограничения даты окончания проекта. Передаваемые значения: MUST_FINISH_ON, FINISH_NO_EARLIER_THAN, FINISH_NO_LATER_THAN, NOT_SET (ограничение не установлено)
CalendarIdИдентификатор производственного календаря проекта

* – параметры, обязательные для заполнения.
** – при изменении реквизита-классификатора, основанного на объекте, можно использовать как идентификатор записи классификатора, так и идентификатор объекта (проект, пользователь, документ, дискуссия). Например, в случае, если названия объектов дублируются, а нужно выбрать конкретный объект.
*** – плановая дата начала игнорируется, если в параметре StartDateConstraint передано одно из значений: AS_SOON_AS_POSSIBLE, AS_LATE_AS_POSSIBLE, NOT_SET.
**** – плановая дата окончания игнорируется, если в параметре EndDateConstraint передано значение NOT_SET.
Формат передаваемых дат для все типов стандартных объектных дат (план, факт): YYYY-MM-ddTHH:mm:ss (например: 2019-02-27T13:36:00).

Формат передаваемых дат для реквизита-даты должен быть типа YYYY-MM-DD hh:mm:ssZ, например: 2011-06-06 01:00:00Z

  • 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>
    <CreateProject xmlns="http://streamline/">
      <newProject>
        <ASPNETSessionId>string</ASPNETSessionId>
        <ParentProjectId>string</ParentProjectId>
        <ProjectTypeId>string</ProjectTypeId>
        <TemplateId>string</TemplateId>
        <ProjectName>string</ProjectName>
        <Order>int</Order>
        <ProjectOwnerId>string</ProjectOwnerId>
        <ProjectResponsibleId>string</ProjectResponsibleId>
        <PlannedStartDateSerialized>string</PlannedStartDateSerialized>
        <PlannedStartDate>dateTime</PlannedStartDate>
        <PlannedEndDateSerialized>string</PlannedEndDateSerialized>
        <PlannedEndDate>dateTime</PlannedEndDate>
        <Fields>
          <FieldWrapper>
            <FieldName>string</FieldName>
            <FieldId>string</FieldId>
            <FieldVal>string</FieldVal>
            <FieldType>string</FieldType>
          </FieldWrapper>
          <FieldWrapper>
            <FieldName>string</FieldName>
            <FieldId>string</FieldId>
            <FieldVal>string</FieldVal>
            <FieldType>string</FieldType>
          </FieldWrapper>
        </Fields>
        <Status>int</Status>
        <PercentComplete>int</PercentComplete>
        <ActualStartDateSerialized>string</ActualStartDateSerialized>
        <ActualStartDate>dateTime</ActualStartDate>
        <ActualEndDateSerialized>string</ActualEndDateSerialized>
        <ActualEndDate>dateTime</ActualEndDate>
        <ResourceAssignments>
          <ResourceAssignmentWrapper>
            <PersonId>guid</PersonId>
            <Value>double</Value>
          </ResourceAssignmentWrapper>
          <ResourceAssignmentWrapper>
            <PersonId>guid</PersonId>
            <Value>double</Value>
          </ResourceAssignmentWrapper>
        </ResourceAssignments>
        <PlannedDuration>double</PlannedDuration>
        <DurationUnit>string</DurationUnit>
        <StartDateConstraint>string</StartDateConstraint>
        <EndDateConstraint>string</EndDateConstraint>
        <CalendarId>guid</CalendarId>
      </newProject>
    </CreateProject>
  </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>
    <CreateProject xmlns="http://streamline/">
      <newProject>
        <ASPNETSessionId>string</ASPNETSessionId>
        <ParentProjectId>string</ParentProjectId>
        <ProjectTypeId>string</ProjectTypeId>
        <TemplateId>string</TemplateId>
        <ProjectName>string</ProjectName>
        <Order>int</Order>
        <ProjectOwnerId>string</ProjectOwnerId>
        <ProjectResponsibleId>string</ProjectResponsibleId>
        <PlannedStartDateSerialized>string</PlannedStartDateSerialized>
        <PlannedStartDate>dateTime</PlannedStartDate>
        <PlannedEndDateSerialized>string</PlannedEndDateSerialized>
        <PlannedEndDate>dateTime</PlannedEndDate>
        <Fields>
          <FieldWrapper>
            <FieldName>string</FieldName>
            <FieldId>string</FieldId>
            <FieldVal>string</FieldVal>
            <FieldType>string</FieldType>
          </FieldWrapper>
          <FieldWrapper>
            <FieldName>string</FieldName>
            <FieldId>string</FieldId>
            <FieldVal>string</FieldVal>
            <FieldType>string</FieldType>
          </FieldWrapper>
        </Fields>
        <Status>int</Status>
        <PercentComplete>int</PercentComplete>
        <ActualStartDateSerialized>string</ActualStartDateSerialized>
        <ActualStartDate>dateTime</ActualStartDate>
        <ActualEndDateSerialized>string</ActualEndDateSerialized>
        <ActualEndDate>dateTime</ActualEndDate>
        <ResourceAssignments>
          <ResourceAssignmentWrapper>
            <PersonId>guid</PersonId>
            <Value>double</Value>
          </ResourceAssignmentWrapper>
          <ResourceAssignmentWrapper>
            <PersonId>guid</PersonId>
            <Value>double</Value>
          </ResourceAssignmentWrapper>
        </ResourceAssignments>
        <UsePlannedCost>boolean</UsePlannedCost>
        <PlannedCost>double</PlannedCost>
        <PlannedDuration>double</PlannedDuration>
        <DurationUnit>string</DurationUnit>
        <StartDateConstraint>string</StartDateConstraint>
        <EndDateConstraint>string</EndDateConstraint>
        <CalendarId>guid</CalendarId>
      </newProject>
    </CreateProject>
  </soap:Body>
</soap:Envelope>

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

UsePlannedCostPlannedCostРезультат работы метода
trueУказанЗначение плановых трудозатрат установлено и равно значению, переданному в параметре PlannedCost
Или, если фиксированная общая продолжительность объекта равна 0, значение, переданное в параметре PlannedCost, игнорируется
false (или null)УказанЗначение плановых трудозатрат не установлено
Значение, переданное в параметре PlannedCost, игнорируется
truenullЗначение плановых трудозатрат становится расчетным
Результат данной комбинации идентичен результатам второй/четвертой комбинаций
false (или null)nullЗначение плановых трудозатрат не установлено
ПараметрОписание
CreateProjectResultРезультат выполнения запроса
<?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>
    <CreateProjectResponse xmlns="http://streamline/">
      <CreateProjectResult>string</CreateProjectResult>
    </CreateProjectResponse>
  </soap:Body>
</soap:Envelope>

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

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

  • идентификатор сессии (можно получить с помощью метода Authenticate);
  • идентификатор родительского проекта;
  • идентификатор типа создаваемого проекта;
  • название проекта;
  • идентификатор руководителя проекта.


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


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