Trabajando con propiedades del proyecto
Trabajando con propiedades del proyecto
Microsoft Project almacena metadatos y configuración con cada archivo de proyecto (MPP/XML).
Con Aspose.Tasks for .NET, puede leer, modificar y escribir estas propiedades programáticamente.
Esto incluye:
- Propiedades generales del proyecto (fecha de inicio, fecha de estado, calendario, etc.)
- Valores predeterminados para tareas y asignaciones
- Versión del proyecto e información resumida
- Configuración del año fiscal y de los días de la semana
- Configuración de moneda
- Atributos para nuevas tareas
- Propiedades integradas y personalizadas
Propiedades generales del proyecto
Microsoft Project conserva metadatos tales como fechas de inicio/fin, fecha de estado, tipo de calendario, y más.
También puede definir propiedades personalizadas.
Propiedades
Propiedad | Tipo | Descripción |
---|---|---|
StartDate | DateTime | Fecha de inicio del proyecto |
FinishDate | DateTime | Fecha de finalización del proyecto |
CurrentDate | DateTime | Fecha de trabajo actual |
StatusDate | DateTime | Fecha de reporte del progreso |
IsScheduleFromStart | Boolean | Indica si se programa desde el inicio o el final |
Calendar | Calendar | Calendario base asignado |
Lectura de información del proyecto
La Project class tiene varias propiedades relacionadas con las propiedades del proyecto:
- StartDate: la fecha de inicio del proyecto, del tipo de datos DateTime.
- FinishDate: la fecha de finalización del proyecto, del tipo de datos DateTime.
- CurrentDate: la fecha actual, del tipo de datos DateTime.
- StatusDate: la fecha en la que se informará del progreso del proyecto, del tipo de datos DateTime.
- IsScheduleFromStart: define si el proyecto se programa desde la fecha de inicio o de finalización y toma un valor Boolean.
- Calendar: el tipo de calendario utilizado por el proyecto, gestionado mediante la Aspose.Tasks.Calendar class.
Para leer las propiedades del proyecto en Microsoft Project, haga clic en Project Information en el Project menú.
Los ejemplos de programación a continuación muestran cómo leer y mostrar la fecha de inicio y finalización del proyecto, si el proyecto está programado desde el inicio o el final, autor, último autor, revisión, palabras clave y comentarios.
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");
Escritura de información del proyecto
Aspose.Tasks for .NET puede escribir así como leer la información del proyecto. Los ejemplos de código a continuación muestran cómo establecer autor, último autor, revisión, palabras clave y comentarios.
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);
Determinación de la versión del proyecto
La API de Aspose.Tasks for .NET ofrece la capacidad de recuperar información del archivo de proyecto con llamadas API sencillas. La Project class’s Get método permite a los usuarios recuperar información relacionada con Project usando la clase estática Prj. La clase Prj expone varias propiedades relacionadas con Project. Este tema muestra cómo recuperar la información de versión.
Las propiedades SaveVersion y LastSaved expuestas por la clase Prj se usan para determinar la versión del proyecto y la fecha en que se guardó por última vez. SaveVersion admite el tipo de datos Integer, mientras que LastSaved admite el tipo de datos DateTime.
Utilice las Prj.SaveVersion
and Prj.LastSaved
propiedades para obtener la versión del formato del archivo del proyecto y la fecha de la última vez que se guardó.
Propiedad | Tipo | Descripción |
---|---|---|
SaveVersion | int | Versión del archivo del proyecto |
LastSaved | DateTime | Fecha de la última vez que se guardó |
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());
Propiedades predeterminadas del proyecto
Microsoft Project permite a los usuarios establecer propiedades predeterminadas del proyecto que aceleran el proceso de configuración. Las propiedades predeterminadas definen cuándo comienza y termina una nueva tarea, establecen las tarifas predeterminadas de horas extra y estándar y más. Aspose.Tasks for .NET admite estas funciones.
La Prj expone varias propiedades para gestionar las propiedades predeterminadas del proyecto:
Propiedad | Tipo | Descripción |
---|---|---|
DefaultStartTime | DateTime | Hora de inicio predeterminada para tareas |
DefaultFinishTime | DateTime | Hora de finalización predeterminada para tareas |
DefaultFixedCostAccrual | CostAccrualType | Acumulación de coste predeterminada |
DefaultStandardRate | double | Tarifa estándar predeterminada |
DefaultOvertimeRate | double | Tarifa predeterminada por horas extra |
DefaultTaskEVMethod | EarnedValueMethodType | Cálculo del valor ganado |
DefaultTaskType | TaskType | Tipo predeterminado de nuevas tareas |
//
- DefaultStartTime: hora de inicio predeterminada de nuevas tareas, toma un valor DateTime.
- DefaultFinishTime: hora de finalización predeterminada de nuevas tareas, toma un valor DateTime.
- DefaultFixedCostAccrual: acumulación fija de coste predeterminada de una asignación, toma uno de los valores definidos por la CostAccrualType enumeración.
- DefaultStandardRate: la tarifa estándar predeterminada, toma un double.
- DefaultOvertimeRate: la tarifa predeterminada por horas extra, toma un double.
- DefaultTaskEVMethod: el método predeterminado de valor ganado de la tarea, toma uno de los valores definidos por la EarnedValueMethodType enumeración.
- DefaultTaskType: el tipo de tarea predeterminado del proyecto, toma uno de los valores definidos por la TaskType enumeración. //
Para ver la información predeterminada del proyecto en Microsoft Project:
- Abra un proyecto.
- En el Herramientas menú, haga clic en Opciones.
- Vaya a la General pestaña. Aquí puede ver la configuración para las tarifas estándar y por horas extra predeterminadas.
- Vaya a la Programación pestaña. Aquí puede ver la configuración del tipo de tarea predeterminado y de la hora de inicio predeterminada de la tarea.
Información predeterminada del proyecto en Microsoft Project, tal como la escribe Aspose.Tasks
Lectura de propiedades predeterminadas
El siguiente ejemplo lee las propiedades predeterminadas de un proyecto y las escribe en una ventana de consola.
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());
Escritura de propiedades predeterminadas
Las siguientes líneas de código establecen las propiedades predeterminadas de un proyecto.
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);
Escritura de la información resumida del proyecto
La mayoría de los programas guardan información resumida con los archivos que guardan. Microsoft Project no es diferente. Además del nombre del autor, la fecha en que se creó el proyecto y la última vez que se editó y guardó, guarda palabras clave, asunto, comentarios y más. Aspose.Tasks for .NET le permite tanto leer como escribir este tipo de información.
La clase Set método Set puede usarse para escribir y Get método Get puede usarse para leer la información resumida de Project usando la Prj miembros de la clase Prj. El archivo se puede guardar después de actualizar la información resumida. Para actualizar la información resumida del proyecto de un archivo MPP existente:
- Cree una instancia de Project class
- Establezca las diversas propiedades expuestas por la Prj class para definir la información resumida.
- Guarde el Project usando el Save método Save de Project class
Para ver la información resumida del archivo:
- Busque el archivo en un explorador de archivos.
- Haga clic derecho en el archivo y seleccione Propiedades.
- Vaya a la Detalles pestaña.
El ejemplo de código a continuación escribe la información resumida del proyecto en un archivo 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);
Propiedades del año fiscal
El año fiscal es lo mismo que un año financiero o de presupuesto. Son las fechas entre las cuales un país, una organización o una persona calculan presupuestos e impuestos. Microsoft Project permite a los usuarios definir un año fiscal para los proyectos. Aspose.Tasks for .NET admite esta funcionalidad con propiedades que permiten a los desarrolladores tanto leer las propiedades del año fiscal de proyectos existentes, y establecer propiedades del año fiscal al crear o trabajar con proyectos.
La Prj class expone las FyStartDate y FiscalYearStart propiedades utilizadas para gestionar el año fiscal de un proyecto:
- FyStartDate: define el mes de inicio del año fiscal y admite uno de los valores definidos por la enumeración Month.
- FiscalYearStart: determina si se ha utilizado la numeración del año fiscal en el proyecto. Boolean.
Lectura de propiedades del año fiscal
Las propiedades FyStartDate y FiscalYearStart facilitan conocer cuál es la fecha de inicio del año fiscal actual y si se usa la numeración del año fiscal, con Aspose.Tasks.
El siguiente código lee las propiedades del año fiscal de un proyecto y las muestra en una ventana de consola.
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());
Escritura de propiedades del año fiscal
Para ver las propiedades del año fiscal en Microsoft Project:
- Abra un archivo de proyecto.
- En el Herramientas menú, haga clic en Opciones.
- Haga clic en la Calendario pestaña. Se verá como la que se muestra a continuación.
Comprobación de que las propiedades del año fiscal se han establecido en Microsoft Project.
El siguiente ejemplo escribe las propiedades del año fiscal del proyecto.
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);
Propiedades de los días de la semana
Microsoft Project permite a los usuarios establecer varias propiedades relacionadas con los días de la semana. Por ejemplo, qué día comienza la semana y cuántos días laborables hay en un mes. Aspose.Tasks admite estas funciones mediante varias propiedades que pueden usarse tanto para leer las propiedades de los días de la semana como para escribirlas en un proyecto.
Aspose.Tasks tiene una serie de propiedades, expuestas por la Project class, específicamente para gestionar las propiedades de los días de la semana de un proyecto:
- WeekStartDay: el primer día de la semana. Esta propiedad toma valores definidos por la DayType enumeración.
- DaysPerMonth: el número de días laborables en un mes, pasado como un entero.
- MinutesPerDay: el número de minutos laborables en un día laborable, pasado como un entero.
- MinutesPerWeek: el número de minutos laborables en una semana laborable, pasado como un entero.
Lectura de propiedades de los días de la semana
El siguiente código lee las propiedades de los días de la semana de un proyecto y las escribe en una ventana de consola.
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());
Escritura de propiedades de los días de la semana
Para ver las propiedades de los días de la semana en Microsoft Project:
- Abra un archivo.
- En el Herramientas menú, haga clic en Opciones.
- Seleccione la Calendario pestaña. Se verá algo como el ejemplo a continuación.
Visualización de propiedades de los días de la semana en Microsoft Project
El siguiente código escribe las propiedades de los días de la semana, como se muestra en la captura de pantalla anterior, en un proyecto.
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);
Propiedades de moneda
Microsoft Project permite a los usuarios establecer en qué moneda se muestran los costes en un proyecto. Pueden definir el código de moneda, los dígitos después del punto decimal y el símbolo de la moneda para que los costes se muestren de forma clara e intuitiva. Aspose.Tasks for .NET admite estas funciones y proporciona una serie de propiedades que ayudan a los desarrolladores a establecer y controlar las propiedades de moneda. Este tema explica tanto cómo leer las propiedades de moneda, y cómo configurarlas.
Aspose.Tasks for .NET proporciona propiedades expuestas por la Prj class, para gestionar las propiedades de moneda:
- CurrencyCode: el código de moneda de tres letras, por ejemplo, USD, GBP o AUD, pasado como una cadena.
- CurrencyDigits: el número de dígitos después del punto decimal, por ejemplo, 2 (100.00) o 3 (100.000), pasado como un entero.
- CurrencySymbol: el símbolo de moneda, por ejemplo, $ o £, pasado como una cadena.
- CurrencySymbolPosition: la posición del símbolo de moneda, por ejemplo antes ($100) o después (100$). CurrencySymbolPosition toma un valor de la CurrencySymbolPositionType enumeración.
Lectura de propiedades de moneda
El siguiente fragmento de código lee las propiedades de moneda de un proyecto.
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());
Escritura de propiedades de moneda
Para ver las propiedades de moneda en Microsoft Project:
- Abra el archivo del proyecto.
- En el Herramientas menú, seleccione Opciones.
- Haga clic en la Vista pestaña. Se verá como la que se muestra a continuación.
Lectura de propiedades de moneda en Microsoft Project
El siguiente ejemplo escribe las propiedades de moneda en el proyecto.
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);
Establecer atributos para nuevas tareas
Microsoft Project permite establecer propiedades predeterminadas para las nuevas tareas añadidas. Este tema explica cómo establecer la fecha de inicio predeterminada para nuevas tareas usando la API de Aspose.Tasks for .NET.
La Prj class expone la NewTaskStartDate propiedad que define la fecha de inicio para una nueva tarea. Esta propiedad admite los valores definidos por la TaskStartDateType tipo de enumeración.
Para ver los atributos de la tarea:
- Abra el archivo con Microsoft Project.
- En el Herramientas menú, seleccione Opciones.
- Seleccione la Programación pestaña. La pestaña se parece a la que se muestra a continuación.
Nuevas tareas configuradas para comenzar en la fecha actual
Las siguientes líneas de código establecen la fecha de inicio de la nueva tarea.
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.");
Lectura de propiedades personalizadas e integradas
En Aspose.Tasks for .NET, las propiedades personalizadas están disponibles a través de la colección tipada, mientras que las propiedades integradas están disponibles directamente.
El siguiente ejemplo de código demuestra cómo leer propiedades personalizadas e integradas.
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}