Função fetchWithParams
Consulta dados de Engajamento do cliente de biociências e retorna resultados para o método de retorno de chamada especificado.
Edições obrigatórias
| Disponível em: Lightning Experience |
| Disponível em: Edições Enterprise e Unlimited com a licença Life Sciences Cloud, o complemento Life Sciences Cloud para Engajamento do cliente e o pacote gerenciado Engajamento do cliente Life Sciences. |
Sintaxe
EmailTemplate.fetchWithParams (query, params, callbackMethod)
Argumentos
| Argumento | Descrição |
|---|---|
| consulta | A consulta como uma string. |
| params | Opcional. A capacidade de especificar o tamanho do lote. No argumento params, use o atributo |
| callbackMethod | O nome do método JavaScript que representa os resultados consultados no email e lida com erros. Coloque o método de retorno entre aspas simples ou duplas. |
Uso
- Você pode buscar 100 registros de uma só vez.
- Para buscar registros relacionados, use uma consulta separada.
- Você pode usar consultas agregadas e de relacionamento.
JavaScript Support
No modelo de email HTML, coloque scripts JavaScript dentro da tag <script
type="text/javascript">.
Para garantir que os scripts JavaScript sejam executados na ordem, evite usar funções assíncronas, como setTimeout, setInterval e promises. Caso contrário, o Engajamento do cliente de biociências não saberá quando o corpo do modelo estará completo e pronto para os usuários visualizarem o conteúdo ou enviarem emails.
Limitações
- Não é possível consultar campos do tipo Área de texto longo com uma cláusula
WHERE. - Não há suporte para consultas de relacionamento filho, como
SELECT Id, (SELECT Id FROM Contacts) FROM Account). - Evite usar estilos CSS globais, como
div {background: red}, pois os estilos globais são aplicados a toda a página. Em vez disso, use estilos baseados em pai, como.some-custom- container-class div {background: red}.
Resultados
No aplicativo móvel Life Sciences Cloud, esses eventos são registrados para que você possa identificar quantas vezes a função é executada no email.
- Excluir
- Inserir e atualizar
- Buscar
- O destino não é especificado
Exemplo
Este modelo de email de exemplo usa as funções doLoad e 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>