Работа со свойствами проекта

Работа со свойствами проекта

Microsoft Project хранит метаданные и настройки с каждым файлом проекта (MPP/XML).
С помощью Aspose.Tasks for .NET вы можете читать, изменять и записывать эти свойства программно.

Это включает:

Общие свойства проекта

Microsoft Project хранит метаданные, такие как даты начала/окончания, дата статуса, тип календаря, и многое другое.
Вы также можете определить пользовательские свойства.

Примечание: Вы не можете задавать значения для **Application** и **Producer** полей. Они автоматически устанавливаются в *Aspose Ltd.* и *Aspose.Tasks for .NET x.x.x*.

Свойства

СвойствоТипОписание
StartDateDateTimeдата начала проекта
FinishDateDateTimeдата окончания проекта
CurrentDateDateTimeтекущая рабочая дата
StatusDateDateTimeдата отчёта о ходе выполнения
IsScheduleFromStartBooleanпланируется от начала или от окончания
CalendarCalendarназначенный базовый календарь

Чтение информации о проекте

Класс Project класс имеет ряд свойств, связанных со свойствами проекта:

Чтобы просмотреть свойства проекта в Microsoft Project, нажмите Информация о проекте в меню Project меню.

показ информации о проекте в Microsoft Project

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

 1// Create a project reader instance
 2Project project = new Project("New Project.mpp");
 3
 4// Display project information
 5if (project.Get(Prj.ScheduleFromStart))
 6    Console.WriteLine("Project Finish Date : " + project.Get(Prj.StartDate).ToShortDateString());
 7else
 8    Console.WriteLine("Project Finish Date : " + project.Get(Prj.FinishDate).ToShortDateString());
 9Console.WriteLine(project.Get(Prj.Author));
10Console.WriteLine(project.Get(Prj.LastAuthor));
11Console.WriteLine(project.Get(Prj.Revision));
12Console.WriteLine(project.Get(Prj.Keywords));
13Console.WriteLine(project.Get(Prj.Comments));
14Console.WriteLine("The program has run successfully");

Запись информации о проекте

Aspose.Tasks for .NET может не только читать, но и записывать информацию о проекте. Примеры кода ниже показывают, как задать автора, последнего автора, ревизию, ключевые слова и комментарии.

1// Create project from template file
2Project project = new Project("New Project.mpp");
3// Set project information
4project.Set(Prj.Author, "Author");
5project.Set(Prj.LastAuthor, "Last Author");
6project.Set(Prj.Revision, 15);
7project.Set(Prj.Keywords, "MSP Aspose");
8project.Set(Prj.Comments, "Comments");
9project.Save("WriteProjectInfo_out.mpp", SaveFileFormat.MPP);

Определение версии проекта

Aspose.Tasks for .NET API предоставляет возможность получить информацию о файле проекта с помощью простых вызовов API. Project класса Get метод позволяет получать информацию о Project с использованием статического класса Prj. Класс Prj предоставляет ряд свойств, связанных с Project. Эта тема показывает, как получить информацию о версии.

Свойства SaveVersion и LastSaved, предоставляемые классом Prj, используются для определения версии проекта и даты последнего сохранения проекта. SaveVersion поддерживает тип данных Integer, тогда как LastSaved поддерживает тип данных DateTime.

Используйте Prj.SaveVersion и Prj.LastSaved свойства для получения версии формата файла проекта и даты последнего сохранения.

СвойствоТипОписание
SaveVersionintверсия файла проекта
LastSavedDateTimeдата последнего сохранения
1Project project = new Project("New Project.mpp");
2
3// Display project version
4Console.WriteLine("Project Version : " + project.Get(Prj.SaveVersion).ToString());
5Console.WriteLine("Last Saved : " + project.Get(Prj.LastSaved).ToShortDateString());

Свойства проекта по умолчанию

Microsoft Project позволяет задавать свойства проекта по умолчанию, что ускоряет процесс настройки проекта. Свойства по умолчанию определяют, когда новая задача начинается и заканчивается, устанавливают стандартные и сверхурочные тарифы оплаты по умолчанию и многое другое. Aspose.Tasks for .NET поддерживает эти возможности.

Класс Prj предоставляет ряд свойств для управления значениями по умолчанию проекта:

СвойствоТипОписание
DefaultStartTimeDateTimeвремя начала задач по умолчанию
DefaultFinishTimeDateTimeвремя окончания задач по умолчанию
DefaultFixedCostAccrualCostAccrualTypeначисление фиксированной стоимости по умолчанию
DefaultStandardRatedoubleстандартная ставка оплаты по умолчанию
DefaultOvertimeRatedoubleставка оплаты сверхурочных по умолчанию
DefaultTaskEVMethodEarnedValueMethodTypeрасчет по освоенному объему работ
DefaultTaskTypeTaskTypeтип новых задач по умолчанию

//

Чтобы увидеть информацию по умолчанию проекта в Microsoft Project:

  1. Откройте проект.
  2. На Сервис меню, нажмите Параметры.
  3. Перейдите на Общие вкладку. Здесь вы можете увидеть настройки стандартной и сверхурочной ставки оплаты по умолчанию.
  4. Перейдите на Планирование вкладку. Здесь вы можете увидеть настройки типа задачи по умолчанию и времени начала задачи по умолчанию.

Информация проекта по умолчанию в Microsoft Project, записанная Aspose.Tasks

отображение информации по умолчанию в Microsoft Project

Чтение свойств по умолчанию

Следующий пример читает свойства проекта по умолчанию и выводит их в окно консоли.

 1// Create project
 2Project project = new Project("New Project.mpp");
 3
 4// Display default properties
 5Console.WriteLine("New Task Default Start: " + project.Get(Prj.DefaultStartTime).ToShortDateString());
 6Console.WriteLine("New Task Default Type: " + project.Get(Prj.DefaultTaskType));
 7Console.WriteLine("Resource Default Standard Rate: " + project.Get(Prj.DefaultStandardRate).ToString());
 8Console.WriteLine("Resource Default Overtime Rate: " + project.Get(Prj.DefaultOvertimeRate).ToString());
 9Console.WriteLine("Default Task EV Method: " + project.Get(Prj.DefaultTaskEVMethod).ToString());
10Console.WriteLine("Default Cost Accrual: " + project.Get(Prj.DefaultFixedCostAccrual).ToString());

Запись свойств по умолчанию

Следующие строки кода задают свойства проекта по умолчанию.

 1// Create a project instance and Set default properties
 2Project project = new Project();
 3project.Set(Prj.ScheduleFromStart, true);
 4project.Set(Prj.StartDate, DateTime.Now);
 5project.Set(Prj.DefaultStartTime, project.Get(Prj.StartDate));
 6project.Set(Prj.DefaultTaskType, TaskType.FixedDuration);
 7project.Set(Prj.DefaultStandardRate, 15);
 8project.Set(Prj.DefaultOvertimeRate, 12);
 9project.Set(Prj.DefaultTaskEVMethod, EarnedValueMethodType.PercentComplete);
10project.Set(Prj.DefaultFixedCostAccrual, CostAccrualType.Prorated);
11project.Save("WriteDefaultProperties_out.xml", SaveFileFormat.XML);

Запись сводной информации о проекте

Большинство программ сохраняют сводную информацию вместе с файлами. Microsoft Project не является исключением. Помимо имени автора, даты создания проекта и времени последнего редактирования и сохранения, он сохраняет ключевые слова, тему, комментарии и другое. Aspose.Tasks for .NET позволяет как читать, так и записывать такого рода информацию.

Класс Project Set метод можно использовать для записи и Get метод можно использовать для чтения сводной информации проекта с использованием Prj классом. Файл можно сохранить после обновления сводной информации. Чтобы обновить сводную информацию проекта в существующем MPP файле:

  1. Создайте экземпляр Project класса
  2. Установите различные свойства, предоставляемые Prj классом для задания сводной информации.
  3. Сохраните Project, используя метод Save метода Project класса

Чтобы увидеть сводную информацию о файле:

  1. Найдите файл в файловом браузере.
  2. Щёлкните правой кнопкой мыши по файлу и выберите Свойства.
  3. Перейдите на Сведения вкладку.

Пример кода ниже записывает сводную информацию проекта в файл MPP.

 1// Instantiate Project class
 2Project project = new Project("New Project.mpp");
 3
 4// Set project summary
 5project.Set(Prj.Author, "Author");
 6project.Set(Prj.LastAuthor, "Last Author");
 7project.Set(Prj.Revision, 15);
 8project.Set(Prj.Keywords, "MSP Aspose");
 9project.Set(Prj.Comments, "Comments");
10project.Save("WriteMPPProjectSummary_out.mpp", SaveFileFormat.MPP);

Свойства финансового года

Финансовый год совпадает с фискальным или бюджетным годом. Это даты, в пределах которых страна, организация или отдельное лицо рассчитывают бюджеты и налоги. Microsoft Project позволяет задавать финансовый год для проектов. Aspose.Tasks for .NET поддерживает эту функциональность с помощью свойств, которые позволяют разработчикам как читать свойства финансового года из существующих проектов, и задать свойства финансового года при создании или работе с проектами.

Класс Prj класс предоставляет FyStartDate и FiscalYearStart свойства, используемые для управления финансовым годом проекта:

Чтение свойств финансового года

Свойства FyStartDate и FiscalYearStart позволяют легко узнать дату начала текущего финансового года и используется ли нумерация финансового года с помощью Aspose.Tasks.

Следующий код читает свойства финансового года проекта и отображает их в окне консоли.

1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Display fiscal year properties
5Console.WriteLine("Fiscal Year Start Date : " + project.Get(Prj.FyStartDate).ToString());
6Console.WriteLine("Fiscal Year Numbering : " + project.Get(Prj.FiscalYearStart).ToString());

Запись свойств финансового года

Чтобы увидеть свойства финансового года в Microsoft Project:

  1. Откройте файл проекта.
  2. На Сервис меню, нажмите Параметры.
  3. Нажмите на Календарь вкладку. Она будет выглядеть как показано ниже.

Проверка установки свойств финансового года в Microsoft Project.

свойства финансового года в Microsoft Project

Следующий пример записывает свойства финансового года проекта.

1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Set fiscal year properties
5project.Set(Prj.FyStartDate, Month.July);
6project.Set(Prj.FiscalYearStart, true);
7project.Save("WriteFiscalYearProperties_out.mpp", SaveFileFormat.MPP);

Свойства дней недели

Microsoft Project позволяет задавать ряд свойств, связанных с днями недели. Например, какой день считается началом недели и сколько рабочих дней в месяце. Aspose.Tasks поддерживает эти возможности через ряд свойств, которые можно использовать как для чтения свойств дней недели так и для записи их в проект.

В Aspose.Tasks есть ряд свойств, предоставляемых Project классом, специально предназначенных для управления свойствами дней недели проекта:

Чтение свойств дней недели

Следующий код считывает свойства дней недели проекта и выводит их в окно консоли.

1Project project = new Project("New Project.mpp");
2
3// Display week days properties
4Console.WriteLine("Week Start Date : " + project.Get(Prj.WeekStartDay).ToString());
5Console.WriteLine("Days Per Month : " + project.Get(Prj.DaysPerMonth).ToString());
6Console.WriteLine("Minutes Per Day : " + project.Get(Prj.MinutesPerDay).ToString());
7Console.WriteLine("Minutes Per Week : " + project.Get(Prj.MinutesPerWeek).ToString());

Запись свойств дней недели

Чтобы увидеть свойства дней недели в Microsoft Project:

  1. Откройте файл.
  2. На Сервис меню, нажмите Параметры.
  3. Выберите Календарь вкладку. Она будет выглядеть примерно как на примере ниже.

Просмотр свойств дней недели в Microsoft Project

свойства календаря в Microsoft Project

Следующий код записывает свойства дней недели, как показано на скриншоте выше, в проект.

1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Set week days properties
5project.Set(Prj.WeekStartDay, DayType.Monday);
6project.Set(Prj.DaysPerMonth, 24);
7project.Set(Prj.MinutesPerDay, 540);
8project.Set(Prj.MinutesPerWeek, 3240);
9project.Save("WriteWeekdayProperties_out.xml", SaveFileFormat.XML);

Свойства валюты

Microsoft Project позволяет пользователям задать, в какой валюте отображаются затраты в проекте. Они могут определить код валюты, количество знаков после десятичной точки и символ валюты, чтобы затраты отображались удобно и понятно. Aspose.Tasks for .NET поддерживает эти возможности и предоставляет набор свойств, помогающих разработчикам задавать и контролировать свойства валюты. Эта тема объясняет, как читать свойства валюты, и как их задать.

Aspose.Tasks for .NET предоставляет свойства, предоставляемые Prj классом, для управления свойствами валюты:

Чтение свойств валюты

Следующий фрагмент кода считывает свойства валюты проекта.

1Project project = new Project("New Project.mpp");
2
3// Display currency properties
4Console.WriteLine("Currency Code : " + project.Get(Prj.CurrencyCode).ToString());
5Console.WriteLine("<br>Currency Digits : " + project.Get(Prj.CurrencyDigits).ToString());
6Console.WriteLine("<br>Currency Symbol : " + project.Get(Prj.CurrencySymbol).ToString());
7Console.WriteLine("Currency Symbol Position" + project.Get(Prj.CurrencySymbolPosition).ToString());

Запись свойств валюты

Чтобы увидеть свойства валюты в Microsoft Project:

  1. Откройте файл проекта.
  2. На Сервис меню, выберите Параметры.
  3. Нажмите на Вид вкладку. Она будет выглядеть как показано ниже.

Чтение свойств валюты в Microsoft Project

проверка свойств валюты в Microsoft Project

Следующий пример записывает свойства валюты в проект.

 1// Create a project instance
 2Project project = new Project("New Project.mpp");
 3
 4// Set currency properties
 5project.Set(Prj.CurrencyCode, "AUD");
 6project.Set(Prj.CurrencyDigits, 2);
 7project.Set(Prj.CurrencySymbol, "$");
 8project.Set(Prj.CurrencySymbolPosition, CurrencySymbolPositionType.After);
 9
10project.Save("WriteCurrencyProperties_out.xml", SaveFileFormat.XML);

Установка атрибутов для новых задач

Microsoft Project позволяет задавать свойства по умолчанию для добавляемых новых задач. Эта тема объясняет, как задать дату начала по умолчанию для новых задач с использованием Aspose.Tasks for .NET API.

Класс Prj класс предоставляет NewTaskStartDate свойство, которое определяет дату начала новой задачи. Это свойство поддерживает значения, определённые TaskStartDateType типа перечисления.

Чтобы увидеть атрибуты задач:

  1. Откройте файл в Microsoft Project.
  2. На Сервис меню, выберите Параметры.
  3. Выберите Планирование вкладку. Вкладка выглядит как показано ниже.

Новые задачи начинаются с текущей даты

изменение параметров расписания задачи в Microsoft Project

Следующие строки кода задают дату начала новой задачи.

1// Create a project instance Set new task property and Save the project as XML project file
2Project project = new Project();
3project.Set(Prj.NewTaskStartDate, TaskStartDateType.CurrentDate);
4project.Save("SetAttributesForNewTasks_out.xml", SaveFileFormat.XML);
5 
6// Display Status.
7Console.WriteLine("New Task created with start date successfully.");

Чтение пользовательских и встроенных свойств

В Aspose.Tasks for .NET пользовательские свойства доступны через типизированную коллекцию, тогда как встроенные свойства доступны напрямую.

Следующий пример кода демонстрирует, как читать пользовательские и встроенные свойства.

 1// Create a project reader instance
 2Project project = new Project("New Project.mpp");
 3
 4// custom properties are available through the typed collection
 5foreach (var property in project.CustomProps)
 6{
 7    Console.WriteLine(property.Type);
 8    Console.WriteLine(property.Name);
 9    Console.WriteLine(property.Value);
10}
11
12// built-in properties are available directly
13Console.WriteLine(project.BuiltInProps.Author);
14Console.WriteLine(project.BuiltInProps.Title);
15
16
17// or as an item of built-in property collection
18foreach (var property in project.BuiltInProps)
19{
20    Console.WriteLine(property.Name);
21    Console.WriteLine(property.Value);
22}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.