javascript
  • salesforce
  • 2014-01-29 61 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

    還沒有測試它,有一些錯誤處理在我的代碼來完成,但它應該工作。

    相關問題