PublicAPI ProjectsApiRoot PublicAPI.Projects.ProjectДокументация ELMA API
Проект
Путь доступа: PublicAPI.Projects.Project
Методы

  ИмяОписание
Открытый методAddUserToProject
Добавить пользователя в список участников проекта, если его там нет.
Открытый методChangeProjectManager(Project, User)
Изменить менеджера проекта
Открытый методChangeProjectManager(Project, User, String)
Изменить менеджера проекта
Открытый методChangeProjectStage
Изменить стадию проекта
Открытый методCloseProject(Project)
Закрыть проект (отправить в архив)
Открытый методCloseProject(Project, WorkflowInstance)
Закрыть проект (отправить в архив)
Открытый методCount 
Возвращает количество всех объектов этого типа
Открытый методCount(IEntityFilter)
Получить количество всех объектов по фильтру
Открытый методCreate 
Создать новую сущность (без записи в БД)
Открытый методCreate(ProjectMetadataHead)Устарело.
Создание нового проекта по настройкам его типа. Сущность в БД не сохраняется! Из шаблона копируется только общая информация: Название проекта, Дата старта, Дата завершения, Менеджер.
Открытый методCreate(String, ProjectMetadataHead, DateTime, DateTime, User)
Создать проект. Сущность сохраняется в БД
Открытый методCreate(String, ProjectMetadataHead, DateTime, DateTime, User, Folder)
Создать проект. Сущность сохраняется в БД
Открытый методCreatePhase(Project, String)
Создать новый этап проекта
Открытый методCreatePhase(Project, String, String)
Создать новый этап проекта
Открытый методCreatePhase(Project, String, String, Int64)
Создать новый этап проекта
Открытый методCreateProjectУстарело.
Создать проект
Открытый методCreateProjectPhase(ProjectMetadataHead, String)Устарело.
Создать в бюджете проекта новый этап. Создает объект без сохранения в БД
Открытый методCreateProjectPhase(ProjectMetadataHead, String, String)Устарело.
Создать в бюджете проекта новый этап. Создает объект без сохранения в БД
Открытый методDelete
Удалить объект
Открытый методFilter
Создает помощник для работы с фильтром объекта "Базовый тип проекта"
Открытый методFind(FetchOptions)
Найти объекты в соответствии с параметрами выборки
Открытый методFind(String)
Найти объекты в соответствии с фильтром на языке EQL
Открытый методFind(IEntityFilter, FetchOptions)
Найти объекты в соответствии с фильтром и параметрами выборки
Открытый методFindByIdArray
Найти все объекты по идентификаторам из массива
Открытый методGetDraftProjectPlans
Получить все черновики плана проекта. Если таковых нет, вернёт клон текущего опубликованного плана
Открытый методIsDirty
Проверить, есть ли несохраненные изменения в объекте
Открытый методIsNew
Проверить, является ли объект новым (не сохранен в БД)
Открытый методLoad(Guid)
Загрузить по уникальному идентификатору. Если не найдена - вызывается исключение
Открытый методLoad(Int64)
Загрузить по идентификатору. Если не найдена - вызывается исключение
Открытый методLoadOrCreate(Guid)
Загрузить по идентификатору. Если не найден - возвращается новый объект
Открытый методLoadOrCreate(Int64)
Загрузить по идентификатору. Если не найден - возвращается новый объект
Открытый методLoadOrNull(Guid)
Загрузить по уникальному идентификатору. Если не найдена - возвращается null
Открытый методLoadOrNull(Int64)
Загрузить по идентификатору. Если не найдена - возвращается null
Открытый методPublishProject
Публиковать проект
Открытый методRefresh
Обновить (перечитать) объект из БД
Открытый методReOpenProject
Переоткрыть проект (извлечь из архива)
Открытый методSave
Сохраняет проект.
Открытый методSaveNewУстарело.
Сохраняет новый проект, копируя необходимые данные из шаблона.
Открытый методSendMessageToInfoChannel
Отправить сообщение в инфоканал проекта
Открытый методSetLimitPlanWorkLogУстарело.
Включить или отключить подачу трудозатрат
Открытый методSetPlanWorkLog
Установить лимит трудозатрат для проекта (в минутах)
Открытый методSetPlanWorkLogDays
Установить лимит трудозатрат для проекта (в днях)
Открытый методSetPlanWorkLogHours
Установить лимит трудозатрат для проекта (в часах)
Открытый методSetPlanWorkLogMinutes
Установить лимит трудозатрат для проекта (в минутах)
В начало страницы
Свойства

  ИмяОписание
Открытое свойствоTypeUid
Возвращает уникальный идентификатор объекта "Базовый тип проекта"
В начало страницы
Заметки

Раздел содержащий методы для работы с проектами
Примеры

Создадим проект с которым будем работать

//загрузим шаблон проекта, по которому создадим проект 
var projectTemplate = PublicAPI.Projects.ProjectTemplate.Load(1);
//название проекта 
var name = "Новый проект для тестов";
//менеджер проекта 
var manager = context.UserProjectManager;
//создаем проект 
var myProject = PublicAPI.Projects.Project.CreateProject(name, projectTemplate, DateTime.Now, DateTime.Now.AddMonths(1), manager);

Включим подачу трудозатрат по проекту

PublicAPI.Projects.Project.SetLimitPlanWorkLog(myProject, true);

Установим лимит трудозатрат в днях

//загружаем вид деятельности по идентификатору 
var worklogActivity = PublicAPI.Portal.Objects.Tasks.WorkLogActivity.Load(3);
//устанавливаем лимит трудозатрат
PublicAPI.Projects.Project.SetPlanWorkLogDays(myProject, worklogActivity, 5);

Изменим согласующего трудозатрат по проекту

PublicAPI.Projects.Project.ChangeHarmonizator(myProject, context.NewHarmonizator);

После создания проектных ролей и задач по проекту, опубликуем проект

PublicAPI.Projects.Project.PublishProject(myProject);

Изменим менеджера по проекту

PublicAPI.Projects.Project.ChangeProjectManager(myProject, context.UserNewManager, "Менеджер проекта был изменён");

Отправим сообщение в канал проекта

//текст сообщения 
var text = "Обратите внимание! Менеджер проекта был изменён";
//тема сообщения 
var subject = "Изменение менеджера проекта";
PublicAPI.Projects.Project.SendMessageToInfoChannel(myProject, text, subject, context.CurrentUser);

После работы с бюджетом и рисками проекта, закроем проект

PublicAPI.Projects.Project.CloseProject(myProject);

См. также