Calendar Properties

Fiscal Year Properties

The fiscal year is the same as a financial year or budget year. It is the dates between which a country, an organization or an individual calculate budgets and taxes. Microsoft Project lets users define a fiscal year for projects. Aspose.Tasks for C++ supports this functionality with properties that allow developers to both read fiscal year properties from existing projects, and set fiscal year properties when creating or working with projects.

The Prj class exposes the FyStartDate and FiscalYearStart properties used to manage fiscal year for a project:

Reading Fiscal Year Properties

The FyStartDate and FiscalYearStart properties make it easy to find out what the current fiscal year start date is, and whether fiscal year numbering is used, with Aspose.Tasks.

The code example given below demonstrates how to read a project’s fiscal year properties and displays them in a console window.

1// The path to the documents directory.
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3    
4// Create a project instance
5System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadFiscalYearProperties.mpp");
6    
7// Display fiscal year properties
8System::Console::WriteLine(System::String(u"Fiscal Year Start Date : ") + System::ObjectExt::ToString(project->Get<Month>(Prj::FyStartDate())));
9System::Console::WriteLine(System::String(u"Fiscal Year Numbering : ") + System::ObjectExt::ToString(project->Get<NullableBool>(Prj::FiscalYearStart())));

Writing Fiscal Year Properties

To see fiscal year properties in Microsoft Project:

  1. Open a project file.
  2. On the Tools menu, click Options.
  3. Click the Calendar tab. It will look like the one shown below.

Checking that the fiscal year properties have been set in Microsoft Project.

fiscal year properties in Microsoft Project

The code example given below demonstrates how to write the fiscal year properties of the project.

 1// The path to the documents directory.
 2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
 3        
 4// Create a project instance
 5System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WriteFiscalYearProperties.mpp");
 6        
 7// Set fiscal year properties
 8project->Set<Month>(Prj::FyStartDate(), Aspose::Tasks::Month::July);
 9project->Set<NullableBool>(Prj::FiscalYearStart(), NullableBool::to_NullableBool(true));
10project->Save(dataDir + u"WriteFiscalYearProperties_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);

Weekday Properties

Microsoft Project lets users set a number of different weekday properties. For example, what day a week starts on and how many working days are in a month. Aspose.Tasks for C++ support these features through a number of properties that can be used both to read weekday properties and to write them to a project.

Aspose.Tasks for C++ has a series of properties, exposed by the Prj class, specifically for managing a project’s weekday properties:

Reading Weekday Properties

The code example given below demonstrates how to read a project’s weekday properties and writes them to a console window.

 1// The path to the documents directory.
 2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
 3    
 4// Create project instance
 5System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ReadWeekdayProperties.mpp");
 6    
 7// Display week days properties
 8System::Console::WriteLine(System::String(u"Week Start Date : ") + System::ObjectExt::ToString(project->Get<DayType>(Prj::WeekStartDay())));
 9System::Console::WriteLine(System::String(u"Days Per Month : ") + System::Convert::ToString(project->Get<int32_t>(Prj::DaysPerMonth())));
10System::Console::WriteLine(System::String(u"Minutes Per Day : ") + System::Convert::ToString(project->Get<int32_t>(Prj::MinutesPerDay())));
11System::Console::WriteLine(System::String(u"Minutes Per Week : ") + System::Convert::ToString(project->Get<int32_t>(Prj::MinutesPerWeek())));

Writing Weekday Properties

To see weekday properties in Microsoft Project:

  1. Open a file.
  2. On the Tools menu, click Options.
  3. Select the Calendar tab. It will look something like the example below.

Viewing weekday properties in Microsoft Project

show project calendar properties in Microsoft Project

The code example given below demonstrates how to write weekday properties, as shown in the screenshot above, to a project.

 1// The path to the documents directory.
 2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
 3    
 4// Create a project instance
 5System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"WriteWeekdayProperties.mpp");
 6    
 7// Set week days properties
 8project->Set<DayType>(Prj::WeekStartDay(), Aspose::Tasks::DayType::Monday);
 9project->Set<int32_t>(Prj::DaysPerMonth(), 24);
10project->Set<int32_t>(Prj::MinutesPerDay(), 540);
11project->Set<int32_t>(Prj::MinutesPerWeek(), 3240);
12project->Save(dataDir + u"WriteWeekdayProperties_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.