upsert 함수
지정된 개체에 대한 레코드를 만들고 업데이트하고 결과를 지정된 콜백 메서드에 반환합니다.
필수 Edition
| 지원 제품: Lightning Experience |
| 지원 제품: Life Sciences Cloud, Customer Engagement용 Life Sciences Cloud 추가 기능 라이센스, Life Sciences Customer Engagement 관리형 패키지가 포함된 Enterprise 및 Unlimited Edition. |
노트 이 함수를 사용하려면 Salesforce 지원에 요청을 로그하여 프레젠테이션 콘텐츠에서 업서트할 개체를 허용 목록으로 지정합니다. 예를 들어, 콘텐츠 내에서 계정 프로필을 업데이트하려면 계정 개체를 허용 목록으로 지정합니다.
이 기능은 Life Sciences Cloud 모바일 앱에서만 지원됩니다.
사용자 정의 개체 및 지원되는 생명 과학 고객 참여 개체를 만들거나 업데이트할 수 있습니다. 레코드 만들기 또는 업데이트:
- 사용자에게 지정된 개체 및 필드에 대한 읽기 권한이 있어야 합니다.
- 각 개체에 대해 활성 개체 메타데이터 캐시 구성을 생성하고 Life Sciences Cloud 모바일 앱에 동기화해야 합니다.
구문
PresentationPlayer.upsert(objects, callbackMethod)인수
| 인수 | 설명 |
|---|---|
objects |
레코드를 만들거나 업데이트할 개체의 배열입니다.
|
callbackMethod |
작업 결과를 수신하는 JavaScript 메서드의 이름입니다. |
반환
이 함수는 신규 또는 업데이트된 레코드의 ID 배열을 반환합니다.
제한 사항
이 함수는 사용자, 레코드 유형, 영역, Territory2, 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>이 예에서는 레코드 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 데이터베이스 쿼리 오류가 발생합니다.
이 기사를 통해 문제를 해결했습니까?
개선을 위한 의견을 보내주세요.

