這是你如何做到這一點Suitescript 2.0。首先搜索消息標識,然後搜索與這些消息標識相關的附件。您可以即時創建搜索,因此無需保存搜索。
如果要根據您的方案保存治理點,則可以傳遞案例或消息的內部ID數組。
注意:以下代碼示例假定您將搜索模塊加載爲SEARCHMODULE。
第1步 - 這是如何從一個支持案例記錄得到帶有附件的消息ID(剛類型更改爲支持票):
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;
}
然後你只需要調用的功能等這樣的:
getMessageIdsFromCase(caseInternalId); //Returns an array of message ids
第2步 - 然後你使用內部郵件搜索附件ID使用此功能:
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;
}
然後你只需調用該函數是這樣的:
getAttachmentIdsFromMessage(messageInternalId); //Returns an array of attachment ids
是的,這個工作 - 這似乎很瘋狂,這是唯一的方法來做到這一點,但它確實有效,所以謝謝! –
然而,同樣的事情,創建一個保存的搜索不是答案,因爲我們有些人有API訪問,但不是UI訪問(第三方機構)。我今天提交一張關於mediaitem出票-1(這是未知字段的默認值) – Coldstar