Lire les données timides d'une tâche
Contents
[
Hide
Show
]Dans Microsoft Project, les données en phase de temps sont affichées sur le côté droit de l’utilisation des tâches et des vues d’utilisation des ressources. Les utilisateurs peuvent écrire ces données manuellement et avec Aspose.Tasks pour Java, vous pouvez l’écrire par programme ou les obtenir d’un projet dans votre application.
Travailler avec des données timides
Aspose.Tasks pour Java prend en charge la lecture des données en phase temporelle d’une tâche à partir des fichiers Microsoft Project (MPP). Les données phasées dans le temps sont récupérées à l’aide de la méthode tâche de l’échelle de temps de l’objet.
- Pour récupérer les données en phase de temps du travail de tâche, la méthode TimesCaledata prend les dates de démarrage et de fin du projet en tant que paramètres d’entrée.
- Pour récupérer les données en phase de temps du coût de la tâche, il faut un paramètre d’entrée supplémentaire qui spécifie le type de données de phase de temps en tant que TaskCost.
Le morceau de code suivant montre comment lire les données en phase de temps d’une tâche.
1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
2// The path to the documents directory.
3String dataDir = Utils.getDataDir(TaskTimephasedData.class);
4
5Project project = new Project(dataDir + "New project 2010.mpp");
6
7java.util.Calendar cal = java.util.Calendar.getInstance();
8cal.set(2013, 7, 17, 8, 0, 0);
9project.set(Prj.START_DATE, cal.getTime());
10project.set(Prj.NEW_TASKS_ARE_MANUAL, new NullableBool(false));
11
12Task task = project.getRootTask().getChildren().add("Task");
13Resource rsc = project.getResources().add("Rsc");
14rsc.set(Rsc.STANDARD_RATE, BigDecimal.valueOf(10));
15rsc.set(Rsc.OVERTIME_RATE, BigDecimal.valueOf(15));
16// 6 days duration
17task.set(Tsk.DURATION, project.getDuration(6));
18
19ResourceAssignment assn = project.getResourceAssignments().add(task, rsc);
20Date d = new Date(0);
21assn.set(Asn.STOP, new Date(0));
22assn.set(Asn.RESUME, new Date(0));
23
24// backloaded contour increases task duration from 6 to 10 days
25assn.set(Asn.WORK_CONTOUR, WorkContourType.BackLoaded);
26
27project.setBaseline(BaselineType.Baseline);
28
29task.set(Tsk.PERCENT_COMPLETE, 50);
30
31List<TimephasedData> td = assn.getTimephasedData(assn.get(Asn.START), assn.get(Asn.FINISH),
32 TimephasedDataType.AssignmentRemainingWork).toList();
33
34System.out.println(td.size());
35System.out.println(td.get(0).getValue());
36System.out.println(td.get(0).getValue());
37System.out.println(td.get(0).getValue());
38System.out.println(td.get(0).getValue());
39System.out.println(td.get(0).getValue());
40System.out.println(td.get(0).getValue());
41System.out.println(td.get(0).getValue());