Работа со свойствами проекта
Работа со свойствами проекта
Microsoft Project хранит метаданные и настройки с каждым файлом проекта (MPP/XML).
С помощью Aspose.Tasks for .NET вы можете читать, изменять и записывать эти свойства программно.
Это включает:
- Общие свойства проекта (дата начала, дата статуса, календарь и т.д.)
- Значения по умолчанию для задач и назначений
- Версия проекта и сводная информация
- Настройки финансового года и дней недели
- Настройки валюты
- Атрибуты для новых задач
- Встроенные и пользовательские свойства
Общие свойства проекта
Microsoft Project хранит метаданные, такие как даты начала/окончания, дата статуса, тип календаря, и многое другое.
Вы также можете определить пользовательские свойства.
Свойства
Свойство | Тип | Описание |
---|---|---|
StartDate | DateTime | дата начала проекта |
FinishDate | DateTime | дата окончания проекта |
CurrentDate | DateTime | текущая рабочая дата |
StatusDate | DateTime | дата отчёта о ходе выполнения |
IsScheduleFromStart | Boolean | планируется от начала или от окончания |
Calendar | Calendar | назначенный базовый календарь |
Чтение информации о проекте
Класс Project класс имеет ряд свойств, связанных со свойствами проекта:
- StartDate: дата начала проекта, тип данных DateTime.
- FinishDate: дата окончания проекта, тип данных DateTime.
- CurrentDate: текущая дата, тип данных DateTime.
- StatusDate: дата, на которую будет отчитываться прогресс проекта, тип данных DateTime.
- IsScheduleFromStart: определяет, планируется ли проект от начала или от конца, принимает значение Boolean.
- Calendar: тип календаря, используемый проектом, управляется через Aspose.Tasks.Calendar класс.
Чтобы просмотреть свойства проекта в Microsoft Project, нажмите Информация о проекте в меню 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
свойства для получения версии формата файла проекта и даты последнего сохранения.
Свойство | Тип | Описание |
---|---|---|
SaveVersion | int | версия файла проекта |
LastSaved | DateTime | дата последнего сохранения |
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 предоставляет ряд свойств для управления значениями по умолчанию проекта:
Свойство | Тип | Описание |
---|---|---|
DefaultStartTime | DateTime | время начала задач по умолчанию |
DefaultFinishTime | DateTime | время окончания задач по умолчанию |
DefaultFixedCostAccrual | CostAccrualType | начисление фиксированной стоимости по умолчанию |
DefaultStandardRate | double | стандартная ставка оплаты по умолчанию |
DefaultOvertimeRate | double | ставка оплаты сверхурочных по умолчанию |
DefaultTaskEVMethod | EarnedValueMethodType | расчет по освоенному объему работ |
DefaultTaskType | TaskType | тип новых задач по умолчанию |
//
- DefaultStartTime: время начала по умолчанию для новой задачи, принимает значение DateTime.
- DefaultFinishTime: время окончания по умолчанию для новой задачи, принимает значение DateTime.
- DefaultFixedCostAccrual: тип начисления фиксированных затрат по умолчанию для назначения, принимает одно из значений, определённых CostAccrualType перечисления.
- DefaultStandardRate: стандартная ставка оплаты по умолчанию, принимает значение типа double.
- DefaultOvertimeRate: ставка оплаты сверхурочных по умолчанию, принимает значение типа double.
- DefaultTaskEVMethod: метод расчёта освоенной стоимости по умолчанию для задач, принимает одно из значений, определённых EarnedValueMethodType перечисления.
- DefaultTaskType: тип задач по умолчанию для проекта, принимает одно из значений, определённых TaskType перечисления. //
Чтобы увидеть информацию по умолчанию проекта в Microsoft Project:
- Откройте проект.
- На Сервис меню, нажмите Параметры.
- Перейдите на Общие вкладку. Здесь вы можете увидеть настройки стандартной и сверхурочной ставки оплаты по умолчанию.
- Перейдите на Планирование вкладку. Здесь вы можете увидеть настройки типа задачи по умолчанию и времени начала задачи по умолчанию.
Информация проекта по умолчанию в Microsoft Project, записанная Aspose.Tasks
Чтение свойств по умолчанию
Следующий пример читает свойства проекта по умолчанию и выводит их в окно консоли.
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 файле:
- Создайте экземпляр Project класса
- Установите различные свойства, предоставляемые Prj классом для задания сводной информации.
- Сохраните Project, используя метод Save метода Project класса
Чтобы увидеть сводную информацию о файле:
- Найдите файл в файловом браузере.
- Щёлкните правой кнопкой мыши по файлу и выберите Свойства.
- Перейдите на Сведения вкладку.
Пример кода ниже записывает сводную информацию проекта в файл 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: определяет месяц начала финансового года и принимает одно из значений, определённых перечислением Month.
- FiscalYearStart: определяет, используется ли нумерация финансового года в проекте. Boolean.
Чтение свойств финансового года
Свойства 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:
- Откройте файл проекта.
- На Сервис меню, нажмите Параметры.
- Нажмите на Календарь вкладку. Она будет выглядеть как показано ниже.
Проверка установки свойств финансового года в 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 классом, специально предназначенных для управления свойствами дней недели проекта:
- WeekStartDay: первый день недели. Свойство принимает значения из перечисления DayType перечисления.
- DaysPerMonth: количество рабочих дней в месяце, задаётся в виде целого числа.
- MinutesPerDay: количество рабочих минут в рабочем дне, задаётся в виде целого числа.
- MinutesPerWeek: количество рабочих минут в рабочей неделе, задаётся в виде целого числа.
Чтение свойств дней недели
Следующий код считывает свойства дней недели проекта и выводит их в окно консоли.
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:
- Откройте файл.
- На Сервис меню, нажмите Параметры.
- Выберите Календарь вкладку. Она будет выглядеть примерно как на примере ниже.
Просмотр свойств дней недели в 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 классом, для управления свойствами валюты:
- CurrencyCode: трехбуквенный код валюты, например USD, GBP или AUD, задается в виде строки.
- CurrencyDigits: количество цифр после десятичной точки, например 2 (100.00) или 3 (100.000), задается в виде целого числа.
- CurrencySymbol: символ валюты, например $ или £, задается в виде строки.
- CurrencySymbolPosition: положение символа валюты, например перед суммой ($100) или после (100$). CurrencySymbolPosition принимает значение из CurrencySymbolPositionType перечисления.
Чтение свойств валюты
Следующий фрагмент кода считывает свойства валюты проекта.
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:
- Откройте файл проекта.
- На Сервис меню, выберите Параметры.
- Нажмите на Вид вкладку. Она будет выглядеть как показано ниже.
Чтение свойств валюты в 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 типа перечисления.
Чтобы увидеть атрибуты задач:
- Откройте файл в 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}