There must be a very good reason why we complicated our lives with all these technologies ... arguably that is freedom for something. Freedom might be a right but it is never free; so let me demonstrate how I earned it.

Friday, July 19, 2013

The issue basically means the new feature in Summer '13 of copying custom setting records as part of the refresh has been pretty much rendered useless (unless the custom setting is retrieved by SOQLs, which is less common).

Other than using SOQL, the Support's recommended workaround is to recreate the records... chuckle chuckle. This is worse than not having the new feature.

The status for fixing the issue so getInstance() can be used again in development is scheduled for Patch 14.0. A tentative date for Patch 14.0 is August 7th (according to the support engineer I talked to).

Update: As a better (UI) workaround, the affected custom setting record doesn't have to be created - you can just make a small toggle update to it (change then back) and it'll become visible to the code. I guess the refresh generated record just has to be committed at least once to become "normal".

Update 2: The feature (copying custom setting records to sandbox) now appears to be dead. According to the support engineer I talked to, the patch was rolled back as there's serious issue with it, and whole feature is now unusable.
"At this time, my R&D team has determined that the
fix to allow Custom Settings to be copied into Configuration and Developer
sandboxes will be fixed in a major code release. Due to the complexity of the
issue, this cannot be fixed sooner."
And I don't think the "major code release" means Winter '14.