Метод: 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
Пример запроса:
<?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>
Варианты комбинаций параметров и результат работы метода:
| UsePlannedCost | PlannedCost | Результат работы метода |
|---|---|---|
| true | Указан | Значение плановых трудозатрат установлено и равно значению, переданному в параметре PlannedCost Или, если фиксированная общая продолжительность объекта равна 0, значение, переданное в параметре PlannedCost, игнорируется |
| false (или null) | Указан | Значение плановых трудозатрат не установлено Значение, переданное в параметре PlannedCost, игнорируется |
| true | null | Значение плановых трудозатрат становится расчетным Результат данной комбинации идентичен результатам второй/четвертой комбинаций |
| 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. В окне запроса в передаваемых параметрах указать:
2. При корректно выполненном методе появится код 200 и возвращаемый параметр - в данном случае CreateProjectResult:
Готовый пример: