Loading
fetchWithParams Function

fetchWithParams Function

查詢「Life Sciences 客戶參與」資料,並將結果傳回至指定的回呼方法。

必要版本

提供版本:Lightning Experience
提供版本:具有 Life Sciences Cloud、Life Sciences Cloud for Customer Engagement 附加元件授權和 Life Sciences Customer Engagement 受管理封裝的 Enterprise 和 Unlimited Edition。

語法

EmailTemplate.fetchWithParams (query, params, callbackMethod)

引數

引數 描述
查詢 以字串形式查詢。
params

選擇性。指定批次大小的功能。

在 params 引數中,使用 batchSize 屬性設定要傳回的記錄數。每通通可傳回最多 100 筆記錄。此範例傳回 75 個記錄。

EmailTemplate.fetchWithParams('SELECT Id FROM Account',{'batchSize': 75}, 'processFetch');
callbackMethod

表示在電子郵件中查詢結果並處理錯誤的 JavaScript 方法名稱。

以單引號或雙引號括住回呼方法。

用途

  • 您可以一次提取 100 筆記錄。
  • 若要取用相關記錄,請使用個別查詢。
  • 您可以使用彙總與關係查詢。

JavaScript 支援

在電子郵件範本 HTML 中,將 JavaScript 指令檔放置在 <script type="text/javascript"> 標記內。

若要確保 JavaScript 指令檔依序執行,請避免使用非同步函數,例如 setTimeout、setInterval 和 promises。否則,Life Sciences Customer Engagement 不會知道範本內文何時完成且準備好讓使用者預覽內容或傳送電子郵件。

限制

  • 您無法使用 WHERE 子句來查詢「長文字區域」類型的欄位。
  • 不支援子系關係查詢,例如 SELECT Id, (SELECT Id FROM Contacts) FROM Account)。
  • 避免使用全域 CSS 樣式,例如 div {background: red},因為全域樣式會套用至整個頁面。請改用父系式樣式,例如 .some-custom- container-class div {background: red}。

結果

在 Life Sciences Cloud 行動應用程式中,系統會記錄這些事件,以便您識別函數在電子郵件中執行的次數。

  • 刪除
  • 更新插入
  • 提取
  • 未指定目標

範例

此範例電子郵件範本使用 doLoad 和 EmailTemplate.fetchWithParams 函數。

<!DOCTYPE html>
<html>
    <script type="text/javascript">
      function doLoad() {
        EmailTemplate.fetchWithParams('SELECT Id, Name FROM Account', {'batchSize': 100}, 'getAccountRecordsCallback2');
        EmailTemplate.fetchWithParams('SELECT Id, Name FROM Account', {'batchSize': 1}, 'getAccountRecordsCallback3');
      }
 
     function getAccountRecordsCallback2(data) {
       if(data.state === 'success') {
           const mustacheTarget = document.querySelector('#mainDiv2');
           const html = data.records.map((el)=>{
               if(el.Name){
                  return '<div class="renderedData">' +
                       '<span>' + el.Name + '</span>' +
                      '</div>'
               }
               EmailTemplate.fetchValidationFailed('No Name');
           }).join('');
           const div = document.createElement('div');
           div.innerHTML = html;
           mustacheTarget.append(div);
       }
     }
 
  function getAccountRecordsCallback3(data) {
       if(data.state === 'success') {
           const mustacheTarget = document.querySelector('#mainDiv3');
           const html = data.records.map((el)=>{
               if(el.Name){
                  return '<div class="renderedData">' +
                       '<span>' + el.Name + '</span>' +
                      '</div>'
               }
               EmailTemplate.fetchValidationFailed('No Name');
           }).join('');
           const div = document.createElement('div');
           div.innerHTML = html;
           mustacheTarget.append(div);
       }
     }
    </script>
    <body>
<title>Email query example with batch</title>

<h1>Email query example with batch</h1>
<h2>Account object (batch = 100):</h2>

          <p>EmailTemplate.fetchWithParams will pass the Names from Account object (batch = 100):</p>
          <div id="mainDiv2"></div>

<h2>Account object (batch = 1): </h2>
          <p>EmailTemplate.fetchWithParams will pass the Names from Account object (batch = 1):</p>
          <div id="mainDiv3"></div>
    </body>
</html>
 
正在載入
Salesforce Help | Article