我需要有关 JavaScript 函数的帮助。我正在使用 ServiceNow 平台。
我有以下要求:
- 使用电子邮件客户端发送时自动将附件添加到事件记录(有效,但在一次更新中将附件添加到记录中两次,并且每次都重新添加所有附件)
- 跟踪活动日志中的更改(我有这个工作)这些链接中发布的解决方案让我很接近,但存在问题。 https://community.servicenow.com/thread/163398
我正在使用此处精英页面中发布的代码。
问题:
- 通过电子邮件客户端添加的单个附件被添加到记录 TWICE
- 当稍后通过电子邮件客户端添加另一个附件时,所有以前的附件都会再次重新附加
为什么附件被添加到记录中两次?如何通过电子邮件客户端仅获取在最新更新中添加的附件?
//Table: Email [sys_email]
//When: after
//Insert: true
//Update: true
//Condition: !current.instance.nil() && current.type == 'received'
//Script:
addAttachmentAudit();
function addAttachmentAudit() {
var instance = current.instance;
var targetTable = current.target_table;
var grAttachment = new GlideRecord('sys_attachment');
grAttachment.addQuery('table_sys_id',current.sys_id);
grAttachment.query();
while(grAttachment.next()){
grAttachment.table_name = targetTable;
grAttachment.table_sys_id = instance;
grAttachment.update();
var grTargetTable = new GlideRecord(targetTable);
grTargetTable.addQuery('sys_id',instance);
grTargetTable.query();
while (grTargetTable.next()) {
grTargetTable.work_notes =
"Attachment added: " + grAttachment.file_name +
" by email from " + current.sys_created_by;
grTargetTable.update();
}
}
}