您位於此處:
upsert 函數
建立並更新指定物件的記錄,並將結果傳回至指定的回呼方法。
必要版本
| 提供版本:Lightning Experience |
| 提供版本:具有 Life Sciences Cloud、Life Sciences Cloud for Customer Engagement 附加元件授權和 Life Sciences Customer Engagement 受管理封裝的 Enterprise 和 Unlimited Edition。 |
備註 若要使用此函數,請向 Salesforce 支援記錄要求,以將您計畫從簡報內容更新插入的物件列入允許清單。例如,若要更新內容內的帳戶設定檔,請將「帳戶」物件列入允許清單。
僅 Life Sciences Cloud 行動應用程式支援此功能。
您可以建立或更新自訂物件和支援的「生命科學客戶參與」物件。若要建立或更新記錄:
- 使用者必須擁有指定物件和欄位的「讀取」權限。
- 必須為每個物件建立已啟用物件中繼資料組態,並同步至 Life Sciences Cloud 行動應用程式。
語法
PresentationPlayer.upsert(objects, callbackMethod)引數
| 引數 | 描述 |
|---|---|
objects |
用於建立或更新記錄的物件陣列。
|
callbackMethod |
接收作業結果的 JavaScript 方法名稱。 |
傳回
此函數會傳回新記錄或更新記錄的識別碼陣列。
限制
此函數無法建立或更新使用者、記錄類型、區域範圍、區域範圍2 和 UserTerritory2Association 記錄。
您無法使用此函數建立或更新相關記錄。若要更新相關記錄,例如父系子系關係中的記錄,請使用兩個函數呼叫。
範例
此範例使用物件名稱建立記錄。
<body>
<input id="name" style="color: black;">
<input id="customField" style="color: black;">
<a href="javascript:save();">Save Record</a>
</body>
<script type="text/javascript">
function save() {
let name = document.getElementById("name").value;
let customField= document.getElementById("customField").value;
PresentationPlayer.upsert([{
'sobject': 'Account',
'name': name,
'customField__c': customField
}], 'upsertCallbackMethod');
}
function upsertCallbackMethod(data) {
console.log(data);
PresentationPlayer.alert(JSON.stringify(data));
}
</script>此範例使用記錄識別碼來更新記錄。
<script type="text/javascript">
function save() {
let name = document.getElementById("name").value;
let customField= document.getElementById("customField").value;
let accountId = allData.customers[0].Id;
PresentationPlayer.upsert([{
'sobject': 'Account',
'id': accountId,
'name': name,
'customField__c': customField
}], 'upsertCallbackMethod');
}
function upsertCallbackMethod(data) {
if (data.state === 'success') {
console.log(data);
PresentationPlayer.alert(JSON.stringify(data));
} else {
PresentationPlayer.alert(data.message + '\n' + data.code);
}
}
</script>錯誤
此函數一次最多可處理 15 筆記錄。如果您提交超過 15 筆記錄,則會發生錯誤。
如果建立或更新記錄失敗,此函數也會傳回錯誤。例如,以下情況可能發生錯誤:
- 驗證規則失敗。
- 使用者沒有物件或欄位的「讀取」或「編輯」存取權。
- 不支援該物件或欄位。
- 發生 SQLite 資料庫查詢錯誤。
此文章是否解決您的問題?
請讓我們知道,以便我們改進!

