Показать страницуИстория страницыСсылки сюдаЭкспорт в PDFНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Создание проекта ====== Метод: **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** -- указатель секунд. Пример запроса: <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> <PlannedDuration>double</PlannedDuration> <DurationUnit>string</DurationUnit> <StartDateConstraint>string</StartDateConstraint> <EndDateConstraint>string</EndDateConstraint> <CalendarId>guid</CalendarId> </newProject> </CreateProject> </soap:Body> </soap:Envelope> </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|Значение плановых трудозатрат не установлено| =====Возвращаемые параметры===== ^Параметр^Описание^ |CreateProjectResult|Результат выполнения запроса| <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> <CreateProjectResponse xmlns="http://streamline/"> <CreateProjectResult>string</CreateProjectResult> </CreateProjectResponse> </soap:Body> </soap:Envelope> </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>