Робота з завданнями у .NET
Керування фактичними властивостями завдання є невід’ємною частиною планування та звітності проекту. У Aspose.Tasks for .NET, ви можете легко прочитати фактичну вартість, тривалість, дати початку/закінчення, понаднормову роботу, та інше. Це дозволяє розробникам аналізувати хід виконання проекту програмно, не покладаючись на Microsoft Project.
Що таке фактичні властивості?
Фактичні властивості допомагають дізнатися скільки роботи, часу або грошей вже витрачено на завдання. Ці значення особливо корисні для порівняння планового та фактичного прогресу.
Поширені фактичні властивості
Статичний клас Tsk надає такі поля:
- ActualCost → фактична вартість завдання (
double) - ActualOvertimeCost → вартість понаднормових годин (
double) - ActualOvertimeWork → понаднормова робота (
TimeSpan) - ActualDuration → фактична тривалість (
TimeSpan) - ActualStart → коли завдання фактично почалося (
DateTime) - ActualFinish → коли завдання фактично завершилося (
DateTime) - ACWP → Actual Cost of Work Performed (
double)
Перегляд фактичних властивостей у Microsoft Project
Якщо ви хочете порівняти значення в MS Project:
- Відкрийте View меню → виберіть More Views → оберіть Task Entry.
- У Insert меню → виберіть Column → додайте поля, такі як Actual Start, Actual Finish, Actual Work, тощо.
Таким чином ви можете візуально перевірити ті самі дані, які Aspose.Tasks API надає програмно.
Читання фактичних властивостей у C#
Нижче наведено приклад, який завантажує файл проекту (.mpp) та виводить фактичні властивості завдання в консоль.
1// Create Project instance
2Project project = new Project("New Project.mpp");
3
4// Create a ChildTasksCollector instance
5ChildTasksCollector collector = new ChildTasksCollector();
6
7// Collect all the tasks from RootTask using TaskUtils
8TaskUtils.Apply(project.RootTask, collector, 0);
9
10// Parse through all the collected tasks
11foreach (Task task in collector.Tasks)
12{
13 Console.WriteLine("Task Name : " + task.Get(Tsk.Name));
14 Console.WriteLine("Actual Start: " + task.Get(Tsk.ActualStart).ToLongDateString());
15 Console.WriteLine("Actual Finish: " + task.Get(Tsk.ActualFinish).ToLongDateString());
16 Console.WriteLine("Actual Duration: " + task.Get(Tsk.ActualDuration).TimeSpan.Hours.ToString());
17 Console.WriteLine("Actual Cost: " + task.Get(Tsk.ActualCost).ToString());
18 Console.WriteLine("---------------------------------------------");
19}Порада: Ви можете використовувати
ChildTasksCollector з
TaskUtils щоб рекурсивно отримати всі завдання з кореневого завдання.
Ключові переваги
- Автоматизує звітність проекту без відкриття Microsoft Project.
- Дозволяє експортувати фактичні дані до інформаційних панелей, Excel або баз даних.
- Працює з
.mppта іншими підтримуваними форматами.
Питання та відповіді
П: Чи потрібно встановлювати Microsoft Project, щоб читати фактичні властивості?
- Ні. Aspose.Tasks for .NET працює незалежно від Microsoft Project.
П: Чи можу я оновлювати фактичні властивості програмно?
- Так. Ви можете встановити значення для
ActualStart,ActualFinishта інших перед збереженням проекту.
П: Чи працює це з Primavera чи лише з MS Project?
- Aspose.Tasks підтримує кілька форматів, але фактичні властивості в основному узгоджені з полями Microsoft Project.