Timmus Agersea, of AZ-based Customer Systems Inc, posted some really useful info about ShowViewForRecord in the SalesLogix BP newsgroups (Info he got from Doug Gangi – also from CSI). I wanted to pass along the info here so others can be “in the loop” on this one.
Apparently, ShowViewForRecord will locate the view/form passed to it by first searching for legacy views by that name/family. If none is found it will then it will search for an ActiveForm by that name and family. This sucks because as you upgrade systems, it is likely that you’ll end up with a new ActiveForm with the same name as the older legacy view. If this is the case, then there is no way to invoke the new form, since the old legacy one will always be found first when using ShowViewForRecord. And since releasing an ActiveForm, does not remove the release of a legacy view by the same name, the legacy one will show when calling the function.
This could lead to some headaches trying to figure out why your new view is not showing. I suppose it would work to remove the release of the legacy view, or just delete it if possible.