Script Debugging Enhancements

Tuesday, 5 April 2022 by John Rickard

finPOWER Connect version 3.04.03 introduced support for debugging scripts.

In version 3.04.04 we have made changes to how script debugging is enabled.

Having a debugger enabled is dangerous in a Production Environment. So, rather than enabling via a User Preference, it is now a session based option - with a Permission Key to allow for a User.

This means you have to specifically enable script debugging every time you open finPOWER Connect. Debugging is reset when you close finPOWER Connect or close a Database.

Related Blogs

Allowing Debugging

For a User to have access to enable debugging they must first be allowed the Permission Key "Developer.ScriptDebugger". The default is Deny.

Permission Keys do not apply to Administrators, so they will always be allowed to enable debugging.

Enabling Debugging

If the User has Permission, a new menu option under Tools, Utilities, "Enable Debugger" is available. Click this to enable or disable Debugging.

You can use the shortcut key Shift+F12 to enable/ disable debugging and, of course, add the menu item to either your Toolbar or Task Pane.

Remember, when you exit finPOWER Connect or close the Database, debugging is disabled.

Additional Information

Additional reporting has been added to highlight where the finBL.DebugLaunch() function is used.

  • When you click the "Build Script" button below script code the resulting list of errors and warnings will now include a warning "'DebugLaunch' function found. This function should not be used in a Production Environment." if this function is found.
  • This message will also be included in the Script Compilation Errors Report.
  • In addition, when exporting a Script or Document, the script code is compiled and a warning given if any errors or warnings are found before the Script or Document is exported.

Finally, to make it easier to debug, Script Timeouts are disabled if you have debugging enabled. If this were still enabled, scripts may timeout unexpectedly.