References for the Scripting Engine to be used to process code that you have written are either implicit or explicit.
When we are writing and editing scripting page – ASP pages – for custom entities and other extensions of the system we have to include an explicit reference to the language used.
I have covered this in other articles about writing ASP pages. And I plan to write more about basic ASP scripting a little later on this year.
If we open up the customization area for a screen like OpportunityDetailBox we can see that each field has 3 separate boxes in which scripts can be entered.
- onChange Script which can refer to Clientside or Browser objects
- And a Validate Script that again can access Serverside Objects
Serverside objects are references that can be made to the internal code of CRM exposed through the API.
We can also use a script in the custom content boxes of a screen that references Clientside or Browser objects but that is covered in other articles.
Each main entity can have TableScripts associated with it.
The image below shows a TableScript that has been added for the company entity.
You can see that this would be triggered by updates that are made to the Company Record.
In Workflow Conditions
In the Component Manager
This is relevant to Administrators and Implementation consultants because components are how we can deliver customizations created in one system into another system.
In the Advanced Email Manager
There are a whole set of articles and videos that cover the Advanced Email Manager
In other places
You can use any language that we want to to work with both the SOAP and RESTful web services. That language only needs to be able to create a web request. And so you may prefer to write in PHP or Java.
The .NET API which allows extensions to be created to the main Sage CRM interface can use any .NET capable language, however, we only provide examples in C# within the documentation and training materials.
All the ideas I have discussed in this article have been developed in the other articles within the community. In the next article, I really need to really start looking at the language to allow us to understand the Syntax and available objects.