Problem
This is a bit of old problem, but we had this custom Visualforce interface in our internal org that allows you to mass insert and edit Forecast Quota. This has been working fine for years, but when we tried to enter forecast for this year, we suddenly got this error:
Solution
What turned out happen was that you need to have ForecastingType set if you are using ForecastingQuota inside of code after API v28. Once we enabled a revenue forecast on opportunity (Setup > Customize > Forecasts > Setting), the interface worked again.
Takeaway
This was another lesson on using custom code with Salesforce (especially something that interacts with Standard feature, such as Standard object) and Salesforce upgrade. Writing custom code can certainly improve the usability of Salesforce, and I do believe it to be one of major feature of Salesforce, but one has to be mindful that it can suddenly get broken without warning. This is one of the reason why Salesforce recommends using as much of standard functionality as possible (70 to 80% standard functionality is the Salesforce benchmark).
This is a bit of old problem, but we had this custom Visualforce interface in our internal org that allows you to mass insert and edit Forecast Quota. This has been working fine for years, but when we tried to enter forecast for this year, we suddenly got this error:
Missing Required Field: [Quota Quantity]However, when we tried to modify the code to allow manual entering of quota, we were getting error indicating that this field is not writable.
Solution
What turned out happen was that you need to have ForecastingType set if you are using ForecastingQuota inside of code after API v28. Once we enabled a revenue forecast on opportunity (Setup > Customize > Forecasts > Setting), the interface worked again.
Takeaway
This was another lesson on using custom code with Salesforce (especially something that interacts with Standard feature, such as Standard object) and Salesforce upgrade. Writing custom code can certainly improve the usability of Salesforce, and I do believe it to be one of major feature of Salesforce, but one has to be mindful that it can suddenly get broken without warning. This is one of the reason why Salesforce recommends using as much of standard functionality as possible (70 to 80% standard functionality is the Salesforce benchmark).