Javascript SuiteScript:更新案例记录状态-如果收到客户消息
希望有人能帮我解决这个问题。如果收到客户互动(电子邮件),我试图触发案例状态更改 以下是迄今为止编写的代码:Javascript SuiteScript:更新案例记录状态-如果收到客户消息,javascript,netsuite,suitescript,Javascript,Netsuite,Suitescript,希望有人能帮我解决这个问题。如果收到客户互动(电子邮件),我试图触发案例状态更改 以下是迄今为止编写的代码: function afterSubmit(type) { //load the case record var caseRecord = nlapiLoadRecord('supportcase', nlapiGetRecordId()); //Get the Case Status of the assoicated Case var caseStatus = caseRecord
function afterSubmit(type)
{
//load the case record
var caseRecord = nlapiLoadRecord('supportcase', nlapiGetRecordId());
//Get the Case Status of the assoicated Case
var caseStatus = caseRecord.getFieldValue('status');
//Get the Message value
var incomming = caseRecord.getFieldValue('incomingmessage');
//Check current Status is none of Completed or Closed
if(caseStatus != '4' && caseStatus != '5')
{
// If there is any activity
if(incomming != '')
{
// Load the message record
var message = nlapiGetNewRecord();
// Get the ID of the activity associated with the message
var activity = message.getFieldValue('activity');
if (activity)
{
// If the activity is a case, load the record and change the status.
try
{
var caseRecord = nlapiLoadRecord('supportcase', activity);
caseRecord.setFieldValue('status',20);
nlapiSubmitRecord(caseRecord);
}
// If the activity is not a Case, log a warning message
catch(exec)
{
nlapiLogExecution('DEBUG', 'Warning','Activity Record is not a Case');
}
}
else
{
return false;
}
}
else
{
return false;
}
}
}
注:案例状态4=已完成案例状态5=已结案案例状态20=已收到客户回复
发生了什么?一旦我保存案例并生成一封邮件给客户,即案例记录电子邮件。案例状态更新为“收到客户回复”首先,我可以指出
if(caseStatus != '4' || caseStatus != '5')
将始终为真
。您正在测试caseStatus是否不等于4或不等于5。因此,如果它等于4,它将不等于5,因此为真,反之亦然。所以我认为你想做的是:
if(caseStatus != '4' && caseStatus != '5')
或:
这样看来,您正在加载案例并检查任何活动,并根据这些活动更改状态。当您向客户发送电子邮件时,您正在创建活动,因此将始终有活动,因此状态将始终更新为“20”。但是,似乎缺少一些代码,因为在脚本开始时,您将
消息
和案例记录
设置为相同的内容,因此我可能误读了您的操作。感谢您的帮助!关于IF语句和记录的加载,您是对的。下面是我的更新代码。现在你睁开了我的眼睛。人们意识到“incommingmessage”不是一个有效的字段id。我需要弄清楚。。。。如何加载“交互”选项卡以获取“IncomingMessage”框的值。我已经对原始代码进行了更新以反映。
if(!(caseStatus == '4' || caseStatus == '5'))