Table Scripting
From Sage CRM Knowledge Base
This sample shows you how to check if the field has been changed from one value to another
function UpdateRecord()
{
if (Values("case_AssignedUserId")+""=="undefined")
return; //bad update from crm..or field not changed
var CaseRec=CRM.CreateQueryObj("SELECT * FROM Cases WITH (NOLOCK) WHERE " + WhereClause);
CaseRec.SelectSQL();
if (CaseRec("case_assigneduserid")!=Values("Case_AssignedUserId"))
{
ErrorStr="field value has changed from "+CaseRec("case_assigneduserid") +" to "+Values("Case_AssignedUserId");
}
}
Altering CRM dates in Table level scripts
var mydate = new Date();
mydate.setDate(mydate.getDate() +7);
Values("comp_customerstartdate") = mydate.getVarDate();
Comparing previous values (in cases where you might want to run some code only when a field value has changed)
Within the UpdateRecord method stub you would first query the current record using
var crec=CRM.FindRecord("agreement",WhereClause);
You would then compare values as in
if (crec("comp_name")!=Values("comp_name"))...
For date fields you have to create a Date object
var c_comp_renewaldate = new Date(crec("comp_renewaldate"));
var v_comp_renewaldate = new Date(Values("comp_renewaldate"));
and then call the getDate() method of the Date object to do the comparison. You cannot compare the date objects as it will never match
if (c_comp_renewaldate.getDate() != v_comp_renewaldate.getDate())...