When attempting to open a project in Microsoft Project (MSP) using the New Driver, MSP throws a 'SchedLink MFC Application has stopped working' error. At times, this error is preceded with other errors such as "The last time you opened 'PRJ00088.xml', it caused a serious error. Do you still want to open it? " and "These tasks can't be linked because they're already linked through another task chain."
These errors occurs when another resource/role has been staffed on the project Team after the Rate Matrix Extraction job has already run and there are already records in the nbi_proj_res_rates_and_costs for other resources/roles on that project.
Steps to Reproduce:
0. Make sure that the on the fly Rate Matrix Extraction job is turned off:
This query should return 0.
select value from cmn_option_values
where option_id = (select id from cmn_options where option_code='PRJ_RT_RATES_EXTRACTION');
1. Create a rate matrix including the dates between 1/1/1990 - 12/31/2017 for all resources
2. Create a project and associated it to a rate matrix.
3. Staff 1 team member to the project
4. Export the project to MSP
5. Open the project XML in notepad and note that the rate dates go from the years 1984-1990 and 1990-2079.
<Rates>
<Rate>
<RatesFrom>1984-01-01T00:00:00</RatesFrom>
<RatesTo>1990-02-01T00:00:00</RatesTo>
...
</Rate>
<Rate>
<RatesFrom>1990-02-01T00:00:00</RatesFrom>
<RatesTo>2079-02-01T00:00:00</RatesTo>
...
</Rate>
</Rates>
6. Run the Rate Matrix Extraction job with the first 3 options checked
7. Export the project to MSP. The project opens.
Notice how the dates on the rates for this first role are as expected:
<Rates>
<Rate>
<RatesFrom>1984-01-01T00:00:00</RatesFrom>
<RatesTo>1990-01-01T00:00:00</RatesTo>
...
</Rate>
<Rate>
<RatesFrom>1990-01-01T00:00:00</RatesFrom>
<RatesTo>2018-01-01T00:00:00</RatesTo>
...
</Rate>
</Rates>
8. Close the project in MSP
9. In PPM, add one more resource/role to the team
10. Export the project to MSP
Expected Results: The project opens successfully in MSP and the newly added resource (from Step 8) has rate dates for the years between 1984-1990 and 1990-2079 as the initial role had after Step 5.
Actual Results: The project attempts to open, but then throws a 'SchedLink MFC Application has stopped working' error.
Notice how the dates on the rates are 1984-1900 and 1900-2079 for the second resource/role:
<Rates>
<Rate>
<RatesFrom>1984-01-01T00:00:00</RatesFrom>
<RatesTo>1900-01-01T00:00:00</RatesTo>
...
</Rate>
<Rate>
<RatesFrom>1900-01-01T00:00:00</RatesFrom>
<RatesTo>2079-06-03T00:00:00</RatesTo>
...
</Rate>
</Rates>