07-05-2011 03:27 AM
We're running Saleslogix 7.5.3 on 64-bit windows 7. When I try to view the report mainview (no customizations here) I get the following error:
An error occurred executing active form script (SystemLX Report Manager View).
Name redefined at line 36, char 5
I've tried looking for the cause, I've commented out lines, I saved it after removing all the include scripts, I've even tried replacing the form with a blank form of the same name, yet the error still occurs. The error definitely doesn't seem to be coming from the form that the error states, so I don't know why we're getting it.
There's something else weird, and I'm not sure if its supposed to act like this. The form starts to show, the error occurs, the form closes, and whats left is the original report mainview from 6.2. We haven't done any customizations regarding reports.
07-05-2011 04:55 AM
There seems to ne a bug in Saleslogix with the way it searches for plugins when using
Application.MainViews.Add( "SystemLX Report Manager View", 1, True ) from the Global Reports script.
I checked the profiler, and the query it runs is:
SELECT plugin.dev, plugin.companyversion, plugin.BASEDON, plugin.PLUGINID, plugin.TYPE, plugin.CREATEDATE, plugin.USERID, plugin.NAME, plugin.DISPLAYNAME, plugin.FAMILY, plugin.DESCRIPTION, plugin.MODIFYDATE, plugin.VERSION, plugin.SYSTEM, plugin.LOCKED, plugin.LOCKEDID, plugin.ISPUBLIC, plugin.DATACODE, plugin.TEMPLATE FROM PLUGIN
INNER JOIN SECRIGHTS S_AA ON (S_AA.ACCESSID = 'U6UJ9A000009' AND PLUGIN.USERID = S_AA.SECCODEID )
WHERE (TYPE = '28')
(UPPER(plugin.FAMILY) = 'SYSTEM')
(UPPER(plugin.NAME) = 'slx report manager view')
ORDER BY plugin.DEV DESC, plugin.MODIFYDATE DESC
This lists all the plugin releases, including older versions, that are in the table. And then uses the oldest one (CompanyVersion 7.51 instead of 7.5208).
07-05-2011 05:14 AM
I fixed this by making sure the correct plugin was released, and then using administrator to delete all plugins of that name where released = 'F'. Then I opened Architect and re-released the plugin. Now the query only returns 1 row, and the report view works in the front end.
Its strange that it is doing this. The profiler clearly shows it running the query, getting the plugins, checking the first one in the returned list, and then checking the last one, and using the last one. In my case, because I tried debugging the form code, even when I had released the original 7.5208 version, it still showed my edited one at the top of the list, so even if it didn't use the last one it would still have been wrong.
Why is it checking on Dev and Modified, rather than Released or Released Date?
07-05-2011 08:17 AM
I think I've solved this issue. Our database seems to have been corrupted at some point. The SLX_PluginNoBlob view, including many other SLX views, have been converted to tables with static data. Possibly as a result of a SQL upgrade? I'm not sure...
Either way what was happening was every time a plugin got released, the other releases weren't being properly deleted. I discovered this by pointing the profiler to Architect as well and seeing what happens when a plugin is released.
We're considering whether to rebuild the database entirely, or just try and recreate the views. I'm leaning to the former as I'm worried about other issues.