upsert 関数
指定されたオブジェクトのレコードを作成および更新し、結果を指定されたコールバックメソッドに返します。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| 使用可能なエディション: Life Sciences Cloud、Life Sciences Cloud for Customer Engagementアドオン ライセンス、Life Sciences Customer Engagement管理パッケージが付属するEnterprise EditionおよびUnlimited Edition。 |
メモ この関数を使用するには、Salesforce サポートに要求を登録し、プレゼンテーションコンテンツから更新/挿入するオブジェクトを許可リストに登録します。たとえば、コンテンツ内の取引先プロファイルを更新するには、取引先オブジェクトを許可リストに登録します。
この関数は、Life Sciences Cloud モバイル アプリケーションでのみサポートされます。
カスタムオブジェクトとサポートされるライフサイエンス顧客エンゲージメントオブジェクトを作成または更新できます。レコードを作成または更新する
- ユーザーには、指定されたオブジェクトおよび項目に対する「参照」権限が必要です。
- オブジェクトごとに有効なオブジェクト メタデータ キャッシュ設定を作成し、Life Sciences Cloudモバイル アプリケーションに同期する必要があります。
構文
PresentationPlayer.upsert(objects, callbackMethod)引数
| 引数 | 説明 |
|---|---|
objects |
レコードを作成または更新するオブジェクトの配列。
|
callbackMethod |
操作の結果を受け取る JavaScript メソッドの名前。 |
戻り値
この関数は、新規または更新されたレコードの ID の配列を返します。
制限事項
この関数は、User、Record Type、Territory、Territory2、UserTerritory2Association レコードを作成または更新できません。
この関数を使用して関連レコードを作成または更新することはできません。親子リレーションのレコードなどの関連レコードを更新するには、2 つの関数コールを使用します。
例
この例では、オブジェクト名を使用してレコードを作成します。
<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>この例では、レコード ID を使用してレコードを更新します。
<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 データベースクエリエラーが発生します。
この記事で問題は解決されましたか?
ご意見をお待ちしております。

