In the attached sample file task “A1000” has two resources assigned. The task duration is 480 hours and the Duration Type in P6 is Fixed Duration & Units. The total hours for the task have been split 50% between the two resources.
When reading this project in Aspose the resource assignment values for Work and Cost are double what appears in P6.
P6 Screenshot:
image.png (425.7 KB)
P6 Project
SRR-SplittedResources.zip (4.2 KB)
Sample Program:
Project m_Project2 = new Project(@"C:\SRR-SplittedResources.xer"); ChildTasksCollector m_coll2 = new ChildTasksCollector(); TaskUtils.Apply(m_Project2.RootTask, m_coll2, 0); foreach (var tsk in m_coll2.Tasks) { if (tsk.Get(Tsk.ActivityId) == "A1000") { Console.WriteLine($"Task ActivityID: {tsk.Get(Tsk.ActivityId)} \n" + $"Name: {tsk.Get(Tsk.Name)} \n" + $"ActivityType: {tsk.Get(Tsk.Type)} \n" + $"Duration: {tsk.Get(Tsk.Duration)} \n" + $"Cost: {tsk.Get(Tsk.Cost)} \n" + $"Work: {tsk.Get(Tsk.Work)} \n"); Console.WriteLine(""); } } foreach (var xxx in m_Project2.ResourceAssignments) { if (xxx.Get(Asn.Task).Get(Tsk.ActivityId) == "A1000") { Console.WriteLine($"Task ActivityID: {xxx.Get(Asn.Task).Get(Tsk.ActivityId)} \n" + $"Resource Name: {xxx.Get(Asn.Resource).Get(Rsc.Name)} \n" + $"Cost: {xxx.Get(Asn.Cost)} \n" + $"Units: {xxx.Get(Asn.Units)} \n" + $"Work: {xxx.Get(Asn.Work)} \n"); } }
Program Output 22.10
image.png (17.3 KB)
Is this expected? In this situation should the Resource Assignment = Unit (.5) * the Task Duration? And Cost = Unit (.5) * Task Duration * Price/Unit? Or in my usage should we be performing this calculation?
Thanks