Ecco come puoi farlo in Suitescript 2.0. Prima cerca gli id dei messaggi e poi cerca gli allegati relativi a quei messaggi. È possibile creare le ricerche al volo, quindi non è necessario per le ricerche salvate.
È possibile passare una matrice di ID interni di casi o messaggi se si desidera salvare i punti di governance in base al proprio scenario.
Nota: i seguenti esempi di codice presuppongono che sia stato caricato il modulo di ricerca come SEARCHMODULE.
Fase 1 - Questo è come ottenere gli ID dei messaggi con allegati da un record di caso di supporto (basta cambiare il tipo di supportare biglietto):
function getMessageIdsFromCase(supportCaseId){
var supportcaseSearchObj = SEARCHMODULE.create({
type: "supportcase", //Change if you need to
filters: [
["internalid","anyof",supportCaseId],
"AND",
["messages.hasattachment","is","T"]
],
columns: [
SEARCHMODULE.createColumn({
name: "internalid",
join: "messages"
})
]
});
var resultsSet = supportcaseSearchObj.run();
var results = resultsSet.getRange(0, 999);
var messages = [];
for (var i in results) {
var result = results[i];
var message = result.getValue(result.columns[0]);
messages.push(message);
}
return messages;
}
Poi basta chiamare la funzione come questo:
getMessageIdsFromCase(caseInternalId); //Returns an array of message ids
Fase 2 - Poi si cerca gli allegati utilizzando il messaggio interno id con questa funzione:
function getAttachmentIdsFromMessage(messageInternalId){
var messageSearchObj = SEARCHMODULE.create({
type: "message",
filters: [
["internalid","anyof",messageInternalId]
],
columns: [
SEARCHMODULE.createColumn({
name: "internalid",
join: "attachments"
})
]
});
var resultsSet = messageSearchObj.run();
var results = resultsSet.getRange(0, 999);
var attachments = [];
for (var i in results) {
var result = results[i];
var attachment = result.getValue(result.columns[0]);
attachments.push(attachment);
}
return attachments;
}
Poi basta chiamare la funzione in questo modo:
getAttachmentIdsFromMessage(messageInternalId); //Returns an array of attachment ids
Sì, questo ha funzionato - sembra strano che questo sia l'unico modo per farlo, ma funziona, quindi grazie! –
La stessa cosa, tuttavia, la creazione di una ricerca salvata non è la risposta poiché alcuni di noi hanno accesso API ma non accesso all'interfaccia utente (agenzia di terze parti). Sto presentando un ticket oggi su mediaitem in arrivo -1 (che è il valore predefinito per il campo sconosciuto) – Coldstar