RE: Hi experts trying to create a phone call using suite scripts.
I tried crewating a phone call at the time of creating a new employee – an excercise .
/**
* @NApiVersion 2.0
* @NScriptType UserEventScript
*/
define([‘N/record’],
/**
* @param {record} record
*/
function(record) {
return {
afterSubmit: function(context){
//log.debug(‘Hello World’);
var employee = context.newRecord;
var empcode = employee.getValue(‘custentity_employee_code’);
var SuperVisorId = employee.getValue(‘supervisor’);
var SupervisorName = employee.getText(‘supervisor’);
log.debug(‘EmployeeId’,empcode);
log.debug(‘SuperVisorName’,SupervisorName);
log.debug(‘SuperVisorId’,SuperVisorId);
if(context.type == context.UserEventType.CREATE){
var phoneCall = record.create({
type : record.type.PHONE_CALL,
});
phoneCall.setValue(‘title’, ‘Call HR for benifits’);
phoneCall.setValue(‘assigned’,employee.entityid);
phoneCall.save();
}
}
};
});
but Im getting this error.
{“type”:”error.SuiteScriptError”,”name”:”SSS_INVALID_API_USAGE”,”message”:”Invalid API usage. You must use getValue to return the value set with setValue. “,”stack”:[“anonymous(N/serverRecordService)”,”<anonymous>(/SuiteScripts/SuiteScript2/Sdr_ue_employee.js:21)”],”cause”:{“type”:”internal error”,”code”:”SSS_INVALID_API_USAGE”,”details”:”Invalid API usage. You must use getValue to return the value set with setValue. “,”userEvent”:”aftersubmit”,”stackTrace”:[“anonymous(N/serverRecordService)”,”<anonymous>(/SuiteScripts/SuiteScript2/Sdr_ue_employee.js:21)”],”notifyOff”:false},”id”:””,”notifyOff”:false,”userFacing”:false}
please provide a solution thanks
There are 2 ways of setting a field, using setValue and setText. if you set a field using setValue, you can only get its value using getValue. If you set a field using setText, then you can only get its text using setText. The supervisor field was set using setValue, so you can only get the internal id value of the supervisor using getValue.
Workaround is to use search.lookupFields (or use the slower record.load) to get your data instead