Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SuiteScript:更新案例记录状态-如果收到客户消息_Javascript_Netsuite_Suitescript - Fatal编程技术网

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'))