我创建了一个按钮来升级案例。我正在尝试更改记录类型,“所有者”并将“已升级的案例”附加到“备注”字段。
代码:
{!REQUIRESCRIPT("/soap/ajax/27.0/connection.js")}
var objCase = new sforce.SObject('Case');
objCase.Id = '{!Case.Id}';
objCase.Owner__c = 'Global Salesforce Team';
objCase.RecordTypeId = '012C00000007l5WIAQ';
objCase.Notes__c += 'Case Escalated';
var result = sforce.connection.update([objCase]);
if(result[0].success=='true'){
alert('The Case was Updated Successfully');
location.reload(true);
} else if(result[0].success=='true'){
alert('There was an issue updating the case');
}
然而,这会擦除“Notes”字段并添加“undefinedCase Escalated”,而不是将字符串“Case Escalated”附加到其中的任何内容的末尾。
我是javascript的新手,请保持友善:)
答案 0 :(得分:1)
我看到代码和问题似乎是你正在创建一个要更新的Case的新实例,所以Notes字段上没有任何内容,一旦你插入记录就覆盖了那里唯一的文本,' Case Escalated',要使其工作,您必须执行查询以查找字段之前的值,然后将值附加到notes__c字段。
{!REQUIRESCRIPT("/soap/ajax/27.0/connection.js")}
var result = sforce.connection.query("select Id, Owner__c, RecordTypeId, Notes__c from Case WHERE Id='{!Case.Id}' LIMIT 1");
var records = result.getArray('records');
var objCase = records[0];
objCase.Owner__c = 'Global Salesforce Team';
objCase.RecordTypeId = '012C00000007l5WIAQ';
objCase.Notes__c += 'Case Escalated';
var result = sforce.connection.update([objCase]);
if(result[0].success=='true'){
alert('The Case was Updated Successfully');
location.reload(true);
} else if(result[0].success=='true'){
alert('There was an issue updating the case');
}
带有示例的开发者指南链接位于http://www.salesforce.com/us/developer/docs/ajax/apex_ajax.pdf
没有对它进行测试,并且在我的代码中有一些错误处理,但它应该可以工作。