Метод GetProjects
Возвращает все проекты, согласно переданному фильтру проектов и заданной сортировке. В фильтр можно задавать любое поле проекта.
Также назначать несколько фильтров, соединяя их по «И» или по «ИЛИ». Получение информации о ресурсах проекта вынесено в отдельный метод: [GetProjectResourceAssignments|Получение ресурсов по проекту]
| Параметр | Описание |
|---|---|
| ASPNETSessionId | Идентификатор сессии |
| filterWrappers* | Массив фильтра возвращаемых проектов |
| FilterWrapper* | Элемент фильтра |
| Field | Элемент фильтра. Возможные значения:UID ParentProjectId ProjectTypeId Name Status PercentComplete PlannedStartDate PlannedEndDate ActualStartDate ActualEndDate OwnerId ResponsiblePersonId |
| Value | значение передаваемого параметра в FieldId |
| Operation | Возможные значения: =, >, >=, <, ⇐, LIKE, !=. По умолчанию значение = |
| GroupOr | Признак добавления фильтра. По умолчанию False - добавление по «И» |
| sortWrappers | Массив с параметрами сортировки проектов |
| SortWrapper | Элемент сортировки |
| Field | Элемент сортировки. Возможные значения:UID ParentProjectId Name Status PercentComplete PlannedStartDate PlannedEndDate ActualStartDate ActualEndDate OwnerId ResponsiblePersonId WBS |
| Descending | Порядок сортировки. По умолчанию false – сортировка по возрастанию |
| Hierarchical | Флаг для получения информации обо всех подчиненных объектах (всей иерархии подчиненных объектов). True - вернется информация обо всех объектах, попавших в фильтр и их дочерних на всю глубину вложенности. False - вернется информация только об объектах, попавших в фильтр. |
* – параметры, обязательные для заполнения. Возможные статусы проектов:
статусы с номерами 2, 4 и 5 устарели и больше не используются.
<?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> <GetProjects xmlns="http://streamline/"> <ASPNETSessionId>string</ASPNETSessionId> <filterWrappers> <FilterWrapper> <Field>string</Field> <Value>string</Value> <Operation>string</Operation> <GroupOr>boolean</GroupOr> </FilterWrapper> <FilterWrapper> <Field>string</Field> <Value>string</Value> <Operation>string</Operation> <GroupOr>boolean</GroupOr> </FilterWrapper> </filterWrappers> <sortWrappers> <SortWrapper> <Field>string</Field> <Descending>boolean</Descending> </SortWrapper> <SortWrapper> <Field>string</Field> <Descending>boolean</Descending> </SortWrapper> </sortWrappers> <Hierarchical>boolean</Hierarchical> </GetProjects> </soap:Body> </soap:Envelope>
| Параметр | Описание |
|---|---|
| GetProjectsResult | Массив с проектами |
| ProjectWrapper | Параметры проекта |
| UID | Идентификатор проекта |
| ParentProjectId | Идентификатор родительского проекта |
| Name | Наименование проекта |
| ProjectTypeId | Идентификатор типа объекта (Директория/Проект/Задача) |
| ProjectType | Тип объекта (Директория/Проект/Задача) |
| Status | Статус проекта |
| PercentComplete | Процент выполнения проекта |
| SystemStartDate | Расчетная дата начала проекта |
| SystemEndDate | Расчетная дата окончания проекта |
| PlannedStartDate | Планируемая дата начала проекта |
| PlannedEndDate | Планируемая дата окончания проекта |
| ActualStartDate | Фактическая дата начала проекта |
| ActualEndDate | Фактическая дата окончания проекта |
| OwnerId | Идентификатор руководителя проекта |
| ResponsiblePersonId | Идентификатор исполнителя проекта |
| 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 | Идентификатор производственного календаря проекта |
| WBS | Порядок записей, в соответствии с иерархической структурой работ |
| PlannedCost | (с версии 3.29) Значение плановых трудозатрат Если объект не имеет плановых трудозатрат, то в параметре PlannedCost возвращается значение null |
| CalculatedCost | (с версии 3.29) Значение расчетных трудозатрат Если объект не имеет расчетных трудозатрат, то в параметре CalculatedCost возвращается значение null |
Сортировка по WBS позволяет выводить записи в соответствии с иерархической структурой работ (порядок, в котором они расположены в диаграмме Ганте), но в виде плоского списка.
Иерархическая структура:
Сортировка задач по WBS в результате выполнения метода:
Проект 1
Задача 1
Подзадача 1
Подзадача 2
Задача 2
<?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> <GetProjectsResponse xmlns="http://streamline/"> <GetProjectsResult> <ProjectWrapper> <UID>string</UID> <ParentProjectId>string</ParentProjectId> <Name>string</Name> <ProjectTypeId>string</ProjectTypeId> <ProjectType>string</ProjectType> <Status>int</Status> <PercentComplete>int</PercentComplete> <SystemStartDate>dateTime</SystemStartDate> <SystemEndDate>dateTime</SystemEndDate> <PlannedStartDate>dateTime</PlannedStartDate> <PlannedEndDate>dateTime</PlannedEndDate> <ActualStartDate>dateTime</ActualStartDate> <ActualEndDate>dateTime</ActualEndDate> <Order>int</Order> <OwnerId>string</OwnerId> <ResponsibleId>string</ResponsibleId> <ResourceAssignments> <ResourceAssignmentWrapper xsi:nil="true" /> <ResourceAssignmentWrapper xsi:nil="true" /> </ResourceAssignments> <PlannedDuration>double</PlannedDuration> <DurationUnit>string</DurationUnit> <StartDateConstraint>string</StartDateConstraint> <EndDateConstraint>string</EndDateConstraint> <CalendarId>guid</CalendarId> </ProjectWrapper> <ProjectWrapper> <UID>string</UID> <ParentProjectId>string</ParentProjectId> <Name>string</Name> <ProjectTypeId>string</ProjectTypeId> <ProjectType>string</ProjectType> <Status>int</Status> <PercentComplete>int</PercentComplete> <SystemStartDate>dateTime</SystemStartDate> <SystemEndDate>dateTime</SystemEndDate> <PlannedStartDate>dateTime</PlannedStartDate> <PlannedEndDate>dateTime</PlannedEndDate> <ActualStartDate>dateTime</ActualStartDate> <ActualEndDate>dateTime</ActualEndDate> <Order>int</Order> <OwnerId>string</OwnerId> <ResponsibleId>string</ResponsibleId> <ResourceAssignments> <ResourceAssignmentWrapper xsi:nil="true" /> <ResourceAssignmentWrapper xsi:nil="true" /> </ResourceAssignments> <PlannedDuration>double</PlannedDuration> <DurationUnit>string</DurationUnit> <StartDateConstraint>string</StartDateConstraint> <EndDateConstraint>string</EndDateConstraint> <CalendarId>guid</CalendarId> </ProjectWrapper> </GetProjectsResult> </GetProjectsResponse> </soap:Body> </soap:Envelope>
Пример запроса с передачей плановых трудозатрат (доступно с версии 3.29) - добавлены необязательные передаваемые параметры PlannedCost и CalculatedCost:
<?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> <GetProjectsResponse xmlns="http://streamline/"> <GetProjectsResult> <ProjectWrapper> <UID>string</UID> <ParentProjectId>string</ParentProjectId> <Name>string</Name> <ProjectTypeId>string</ProjectTypeId> <ProjectType>string</ProjectType> <Status>int</Status> <PercentComplete>int</PercentComplete> <SystemStartDate>dateTime</SystemStartDate> <SystemEndDate>dateTime</SystemEndDate> <PlannedStartDate>dateTime</PlannedStartDate> <PlannedEndDate>dateTime</PlannedEndDate> <ActualStartDate>dateTime</ActualStartDate> <ActualEndDate>dateTime</ActualEndDate> <Order>int</Order> <OwnerId>string</OwnerId> <ResponsibleId>string</ResponsibleId> <ResourceAssignments> <ResourceAssignmentWrapper xsi:nil="true" /> <ResourceAssignmentWrapper xsi:nil="true" /> </ResourceAssignments> <UsePlannedCost>boolean</UsePlannedCost> <PlannedCost>double</PlannedCost> <CalculatedCost>double</CalculatedCost> <PlannedDuration>double</PlannedDuration> <DurationUnit>string</DurationUnit> <StartDateConstraint>string</StartDateConstraint> <EndDateConstraint>string</EndDateConstraint> <CalendarId>guid</CalendarId> </ProjectWrapper> <ProjectWrapper> <UID>string</UID> <ParentProjectId>string</ParentProjectId> <Name>string</Name> <ProjectTypeId>string</ProjectTypeId> <ProjectType>string</ProjectType> <Status>int</Status> <PercentComplete>int</PercentComplete> <SystemStartDate>dateTime</SystemStartDate> <SystemEndDate>dateTime</SystemEndDate> <PlannedStartDate>dateTime</PlannedStartDate> <PlannedEndDate>dateTime</PlannedEndDate> <ActualStartDate>dateTime</ActualStartDate> <ActualEndDate>dateTime</ActualEndDate> <Order>int</Order> <OwnerId>string</OwnerId> <ResponsibleId>string</ResponsibleId> <ResourceAssignments> <ResourceAssignmentWrapper xsi:nil="true" /> <ResourceAssignmentWrapper xsi:nil="true" /> </ResourceAssignments> <UsePlannedCost>boolean</UsePlannedCost> <PlannedCost>double</PlannedCost> <CalculatedCost>double</CalculatedCost> <PlannedDuration>double</PlannedDuration> <DurationUnit>string</DurationUnit> <StartDateConstraint>string</StartDateConstraint> <EndDateConstraint>string</EndDateConstraint> <CalendarId>guid</CalendarId> </ProjectWrapper> </GetProjectsResult> </GetProjectsResponse> </soap:Body> </soap:Envelope>