从执行jscript列表按钮创建多个相关对象

Creating multiple related objects from execute jscript list button

本文关键字:对象 创建 执行 jscript 列表 按钮      更新时间:2023-09-26

我正在尝试通过单击按钮创建名为Guarantor__c的对象(商机和联系人的子项)的多个记录。 所有担保人记录都应与按钮所在页面上的商机相关。 这些记录是具有担保人记录类型的商机帐户的所有联系人。 下面的 SOQL 非常简单。 这将运行而不会出错,但不输入任何记录。 有什么想法吗?

{!REQUIRESCRIPT('/soap/ajax/27.0/connection.js')} 
var url = parent.location.href; 
var updateRecords = []; 
var principalContacts = sforce.connection.query("Select Id From Contact where AccountId ='{!Account.Id}' and RecordTypeId ='012A0000000nr4BIAQ'"); 
var principalContactsArray = principalContacts.getArray("records"); 
if (principalContactsArray.length < 1){ 
    alert("There are no guarantors for this opportunity. Go back to the Account and enter the guarantors.")  
}else{ 
    for (eachPrincipalContact in principalContactsArray){ 
        var newGuarantor = new sforce.SObject("Guarantor__c"); 
        newGuarantor.COntact__ = eachPrincipalContact; 
        newGuarantor.Opportunity__c ="{!Opportunity.Id}"; 
        updateRecords.push(newGuarantor); 
        sforce.connection.create(updateRecords); 
    } 
}
sforce.connection.create(updateRecords);

应该放在 for 循环之外。

for (eachPrincipalContact in principalContactsArray){ 
    var newGuarantor = new sforce.SObject("Guarantor__c"); 
    newGuarantor.COntact__ = eachPrincipalContact; 
    newGuarantor.Opportunity__c ="{!Opportunity.Id}"; 
    updateRecords.push(newGuarantor);        
}
sforce.connection.create(updateRecords);