javascript
  • salesforce
  • 2014-01-29 64 views 1 likes 
    1

    我已经创建了一个升级案例的按钮。我正在尝试更改记录类型“所有者”,并将“案件已升级”附加到“注释”字段。更新Salesforce案例信息

    代码:

    {!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'); 
    } 
    

    然而,这抹“注释”字段和“undefinedCase已上报”,而不是将字符串“案已上报”到的无论是在那里末尾添加。

    我是新来的JavaScript,请好:)

    +0

    我没有使用sforce js库,所以这只是一个猜测:objCase.Notes__c = objCase.Notes__c +'Case Escalated';我意识到这是我们对+ =的期望,但也许它的行为有所不同。 –

    回答

    1

    我看到了代码和问题似乎是,要创建的案例更新的新实例,因此没有在球场上的注意事项,并且一旦插入记录,它就会覆盖唯一的文本,'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

    还没有测试它,有一些错误处理在我的代码来完成,但它应该工作。

    相关问题