Debugging CRMScript modules
CRMScript modules are scripts imported into other scripts files by using the #included
directive.
Historically, you couldn’t run CRMScript modules. Now, scriptwriters can use environment variables to invoke and debug module scripts:
- developmentMode
- includeId
Debugging modules
developmentMode
and includeId
are set only when the script is run inside the code editor. To access them, call getVariable()
. For example:
getVariable("includeId");
When the Execute script button is clicked, the engine sets developmentMode*
to true and includeId
to the includeId of the current script.
This lets you incorporate global code in your CRMScript:
// my global script
String foo() {
return "Foo";
}
String bar() {
return "Bar";
}
if (getVariable("developmentMode") == "true" && getVariable("includeId") == "foobar")
{
printLine(foo() + bar());
}
-
When editing your module library, only the part inside the
if
statement is run by the Execute script click event. -
When the library is included in production code, the debug code is not run when the production code is.