Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:api:list:createproject [28.12.2021 12:35] – [Передаваемые параметры] Сердцев Сергейproduct:api:list:createproject [28.10.2024 08:24] (текущий) – [Пример вызова метода] ekaterina.menkhuzina
Строка 1: Строка 1:
 ====== Создание проекта ====== ====== Создание проекта ======
- +Метод: **CreateProject** \\
-Метод: **CreateProject**+
 Возвращает идентификатор созданного проекта. Возвращает идентификатор созданного проекта.
 +
 =====Передаваемые параметры===== =====Передаваемые параметры=====
 ^Параметр^Описание^ ^Параметр^Описание^
Строка 8: Строка 8:
 |ParentProjectId*|Идентификатор родительского проекта| |ParentProjectId*|Идентификатор родительского проекта|
 |ProjectTypeId*|Идентификатор типа создаваемого проекта| |ProjectTypeId*|Идентификатор типа создаваемого проекта|
-|TemplateID((доступно с [[releases/3_20|версии 3.20]]))|Шаблон проекта|+|TemplateID|Шаблон проекта ''(доступно с [[releases/3_20|версии 3.20]])''|
 |ProjectName*|Название проекта| |ProjectName*|Название проекта|
 |Order|Порядковый номер| |Order|Порядковый номер|
Строка 34: Строка 34:
 |DocumentBody|Документ в формате Base64| |DocumentBody|Документ в формате Base64|
 |DocumentContentType|[[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_MIME-%D1%82%D0%B8%D0%BF%D0%BE%D0%B2|Тип загружаемого документа]]| |DocumentContentType|[[https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_MIME-%D1%82%D0%B8%D0%BF%D0%BE%D0%B2|Тип загружаемого документа]]|
 +|UsePlannedCost|''(с версии 3.29)'' Использовать значение плановых трудозатрат, переданное в параметре ''PlannedCost''\\ Доступные значения:\\ • true;\\ • false (или null) - значение по умолчанию|
 +|PlannedCost|''(с версии 3.29)'' Значение плановых трудозатрат\\ Доступные значения:\\ • неотрицательные дробные значения (округляются до сотых);\\ • null|
 |PlannedDuration|Плановая длительность проекта| |PlannedDuration|Плановая длительность проекта|
-|DurationUnit|Единица измерения плановой длительности проекта. Возвращаемые значения: HOURS, DAYS, WEEKS, MONTHS, YEARS|+|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|Тип ограничения даты начала проекта. Передаваемые значения: 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 (ограничение не установлено)| |EndDateConstraint|Тип ограничения даты окончания проекта. Передаваемые значения: MUST_FINISH_ON, FINISH_NO_EARLIER_THAN, FINISH_NO_LATER_THAN, NOT_SET (ограничение не установлено)|
 |CalendarId|Идентификатор производственного календаря проекта| |CalendarId|Идентификатор производственного календаря проекта|
 +
 +
 * -- параметры, обязательные для заполнения. \\  * -- параметры, обязательные для заполнения. \\ 
 %%**%% -- при изменении реквизита-классификатора, [[product/requisites/requisite-class#основанные_на_базовых_объектах|основанного на объекте]], можно использовать как идентификатор записи классификатора, так и идентификатор объекта (проект, пользователь, документ, дискуссия). //Например, в случае, если названия объектов дублируются, а нужно выбрать конкретный объект.// \\  %%**%% -- при изменении реквизита-классификатора, [[product/requisites/requisite-class#основанные_на_базовых_объектах|основанного на объекте]], можно использовать как идентификатор записи классификатора, так и идентификатор объекта (проект, пользователь, документ, дискуссия). //Например, в случае, если названия объектов дублируются, а нужно выбрать конкретный объект.// \\ 
Строка 46: Строка 50:
  
 Формат передаваемых дат для реквизита-даты должен быть типа ''YYYY-MM-DD hh:mm:ssZ'', например: ''2011-06-06 01:00:00Z'' Формат передаваемых дат для реквизита-даты должен быть типа ''YYYY-MM-DD hh:mm:ssZ'', например: ''2011-06-06 01:00:00Z''
-  * **YYYY** -- указатель года +  * **YYYY** -- указатель года; 
-  * **MM** -- указатель месяца  +  * **MM** -- указатель месяца; 
-  * **DD** -- указатель дня +  * **DD** -- указатель дня
-  * **hh** -- указатель часов +  * **T** -- разделитель даты и времени; 
-  * **mm** -- указатель минут +  * **hh** -- указатель часов; 
-  * **ss** -- указатель секунд+  * **mm** -- указатель минут; 
 +  * **ss** -- указатель секунд.
  
 +
 +Пример запроса:
 <code xml> <code xml>
 <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
Строка 111: Строка 118:
 </soap:Envelope> </soap:Envelope>
 </code> </code>
 +
 +Пример запроса с передачей плановых трудозатрат (доступно ''с версии 3.29'') - добавлены необязательные передаваемые параметры ''UsePlannedCost'' и ''PlannedCost'':
 +
 +
 +<code xml>
 +<?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>
 +</code>
 +
 +Варианты комбинаций параметров и результат работы метода:
 +^UsePlannedCost^PlannedCost^Результат работы метода^
 +|true|Указан|Значение плановых трудозатрат установлено и равно значению, переданному в параметре ''PlannedCost'' \\ **Или**, если фиксированная общая продолжительность объекта равна 0, значение, переданное в параметре ''PlannedCost'', игнорируется|
 +|false (или null)|Указан|Значение плановых трудозатрат не установлено \\ Значение, переданное в параметре ''PlannedCost'', игнорируется|
 +|true|null|Значение плановых трудозатрат становится расчетным \\ Результат данной комбинации идентичен результатам второй/четвертой комбинаций|
 +|false (или null)|null|Значение плановых трудозатрат не установлено|
 =====Возвращаемые параметры===== =====Возвращаемые параметры=====
 ^Параметр^Описание^ ^Параметр^Описание^
Строка 124: Строка 202:
 </soap:Envelope> </soap:Envelope>
 </code> </code>
 +
 +===== Пример вызова метода =====
 +Вызов метода с помощью [[https://soapui.ru/|SoapUI]]:
 +
 +1. В окне запроса в передаваемых параметрах указать:
 +  * идентификатор сессии (можно получить с помощью метода [[:product:api:list:authenticate|Authenticate]]);
 +  * идентификатор родительского проекта;
 +  * идентификатор типа создаваемого проекта;
 +  * название проекта;
 +  * идентификатор руководителя проекта.
 +
 +<image shape="thumbnail">{{ :product:api:list:createproject1.png |}}</image>
 +\\
 +2. При корректно выполненном методе появится код 200 и возвращаемый параметр - в данном случае ''CreateProjectResult'':
 +
 +<image shape="thumbnail">{{ :product:api:list:createproject2.png |}}</image>
 +\\
 +Готовый пример:
 +<image shape="thumbnail">{{ :product:api:list:createproject3.png |}}</image>