====== Создание проекта ======
Метод: **CreateProject** \\
Возвращает идентификатор созданного проекта.
=====Передаваемые параметры=====
^Параметр^Описание^
|ASPNETSessionId|Идентификатор сессии|
|ParentProjectId*|Идентификатор родительского проекта|
|ProjectTypeId*|Идентификатор типа создаваемого проекта|
|TemplateID|Шаблон проекта ''(доступно с [[releases/3_20|версии 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|[[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|Плановая длительность проекта|
|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|Идентификатор производственного календаря проекта|
* -- параметры, обязательные для заполнения. \\
%%**%% -- при изменении реквизита-классификатора, [[product/requisites/requisite-class#основанные_на_базовых_объектах|основанного на объекте]], можно использовать как идентификатор записи классификатора, так и идентификатор объекта (проект, пользователь, документ, дискуссия). //Например, в случае, если названия объектов дублируются, а нужно выбрать конкретный объект.// \\
%%***%% -- плановая дата начала игнорируется, если в параметре 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** -- указатель секунд.
Пример запроса:
string
string
string
string
string
int
string
string
string
dateTime
string
dateTime
string
string
string
string
string
string
string
string
int
int
string
dateTime
string
dateTime
guid
double
guid
double
double
string
string
string
guid
Пример запроса с передачей плановых трудозатрат (доступно ''с версии 3.29'') - добавлены необязательные передаваемые параметры ''UsePlannedCost'' и ''PlannedCost'':
string
string
string
string
string
int
string
string
string
dateTime
string
dateTime
string
string
string
string
string
string
string
string
int
int
string
dateTime
string
dateTime
guid
double
guid
double
boolean
double
double
string
string
string
guid
Варианты комбинаций параметров и результат работы метода:
^UsePlannedCost^PlannedCost^Результат работы метода^
|true|Указан|Значение плановых трудозатрат установлено и равно значению, переданному в параметре ''PlannedCost'' \\ **Или**, если фиксированная общая продолжительность объекта равна 0, значение, переданное в параметре ''PlannedCost'', игнорируется|
|false (или null)|Указан|Значение плановых трудозатрат не установлено \\ Значение, переданное в параметре ''PlannedCost'', игнорируется|
|true|null|Значение плановых трудозатрат становится расчетным \\ Результат данной комбинации идентичен результатам второй/четвертой комбинаций|
|false (или null)|null|Значение плановых трудозатрат не установлено|
=====Возвращаемые параметры=====
^Параметр^Описание^
|CreateProjectResult|Результат выполнения запроса|
string
===== Пример вызова метода =====
Вызов метода с помощью [[https://soapui.ru/|SoapUI]]:
1. В окне запроса в передаваемых параметрах указать:
* идентификатор сессии (можно получить с помощью метода [[:product:api:list:authenticate|Authenticate]]);
* идентификатор родительского проекта;
* идентификатор типа создаваемого проекта;
* название проекта;
* идентификатор руководителя проекта.
{{ :product:api:list:createproject1.png |}}
\\
2. При корректно выполненном методе появится код 200 и возвращаемый параметр - в данном случае ''CreateProjectResult'':
{{ :product:api:list:createproject2.png |}}
\\
Готовый пример:
{{ :product:api:list:createproject3.png |}}