Hi Sergey,
In order to actually replace the current Automation solution for MS Project, the calculations are becoming high priority...
I have spent some time looking at 'work' calculations. Keeping these values up-to-date and in sync across tasks and resource assignments has cleared up a number of problems. (I still have resources to do).
I've been keeping a set of notes / specs as I go through the calculations. I'm happy to share these to help provide some thoughts (and the code) if these will help improve the product.
Here are some I find found useful...
1) Re: Calendar ... GetNextWorkingDay (from date) ... (forward or backward)
This is useful if need to adjust or set dates and then calculate duration.
2) Re: ResourceAssignment various related to work calculations
updating actualwork ... to calculate remainingwork and work, etc
3) Re: Task ... update all work variables based upon ResourceAssignment variables
4) Re: Task ... rollup work variables across all child tasks
5) Re: Dates ... various routines to set / calculate time of day
6) Re: Dates ... various calculations based upon entering actual dates
(for example ... setting percent complete, updating remaining values, etc.)
7) Re: Variance ... various calculations to handle variance calculations (e.g. workvariance).
It would also be nice to have some of the calculations be part of the task, resource or resourceassignment objects. (or some additional flags indicating if a calculation is required).
For example...
Task.Assignments (this is like the MS Project object model)
Task.UpdateWorkFromAssignments (or something like this)
Task.UpdateWorkFromChildren
... same applies to cost calculations ... so they may be just task.UpdateFromAssignments
I'm also giving some thought to calculating ES, LS, EF, and LF..
If you are already working on these, I'll be happy to test any interim versions. This is just my current thinking ... and I expect that it will change as I continue to explore these calculations during August.
Thanks again for your help!!
Regards, Bruce