Sage CRM v7.1 has seen a normalisation of the phone, email, company and person tables.

I have discusssed this in the article 

This means that the when the person or company tables are accessed using the FindRecord() method columns that we previously available can no long be accessed.

So if you have previously used code like this


var intRecordId = CRM.GetContextInfo("person","pers_personid");
var myRecord = CRM.FindRecord("person","pers_personid="+intRecordId);
Response.Write(myRecord.pers_emailaddress+"<br>");
Response.Write(myRecord.pers_phonenumber+"<br>");
 

Note: This code will error!  The columns just aren't there.

But I have discussed a technique to use view in the parameters of the FindRecord() method.

This have been discussed in the following articles

So the code above can be changed to use a view that contains the needed columns

e.g.


var intRecordId = CRM.GetContextInfo("person","pers_personid");
var myRecord = CRM.FindRecord("person,vsummaryperson","pers_personid="+intRecordId);
Response.Write(myRecord.pers_emailaddress+"<br>");
Response.Write(myRecord.pers_phonenumber+"<br>");
 

You can access any column that is included in the view.  Another example would be


var intRecordId = CRM.GetContextInfo("person","pers_personid");
var myRecord = CRM.FindRecord("person,vsummaryperson","pers_personid="+intRecordId);
Response.Write(myRecord.comp_name+"<br>");
Response.Write(myRecord.user_logon+"<br>");