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
ifstatement 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.