2017-06-12 4 views
3

Dans ServiceNow, j'ai écrit un script dans les actions de script de connexion d'entreprise. Lors de l'ajout et de la suppression, je reçois sysId mais lorsque je renomme la pièce jointe, je ne parviens pas à obtenir sys_id.ServiceNow Renommage d'une pièce jointe ne recevant pas SysId

sendnotification(); 
function sendnotification() 
{ 
    try 
    { 
     var r = new sn_ws.RESTMessageV2('IqtrackTest', 'AttachmentPost'); 

     r.setStringParameterNoEscape('sys_id',current.sys_id);   
     r.setStringParameterNoEscape('sysparm_TableName',current.getTableName()); 
     r.setStringParameterNoEscape('Action',"Attachment_Renamed"); 

     var response = r.execute(); 
     var responseBody = response.getBody(); 
     var httpStatus = response.getStatusCode(); 
    } 
    catch(ex) 
    { 
     var message = ex.getMessage(); 
    } 
} 
+0

Qu'est-ce 'current' dans ce contexte? En outre, il s'agit d'une action de script, donc je devine déclenché par un événement. Il serait utile de savoir ce qu'est l'événement et ce qui le déclenche (par exemple, eventQueue dans une règle métier après mise à jour). – Joey

+0

Quel est l'événement lors du changement de nom de l'attachement? Il y a un événement avec attachment.rename dans l'action de script en ce que j'ai ajouté le code ci-dessus. Tout autre événement que je peux brancher. –

+0

@Joey Quel est l'événement lors du changement de nom de l'attachement? Il y a un événement avec attachment.rename dans l'action de script en ce que j'ai ajouté le code ci-dessus. Tout autre événement que je peux brancher avec –

Répondre

2

essayer cette

var record = new GlideRecord('sys_attachment'); 
    record.addQuery('user_name',gs.getUserName()); 
    record.orderByDesc('sys_updated_on'); 
    record.setLimit(1); 
    record.query(); 
    if (record.next()) 
    { 
    gs.print(record.getValue("sys_id")); 
    gs.print(record.getDisplayValue("file_name")); 
    gs.error("file name"+record.getDisplayValue("file_name")); 
    } 
0

il suffit d'exécuter ce code dans votre arrière-plan Script

var temp= new GlideRecord('sys_attachment'); 
temp.addQuery('user_name',gs.getUserName()); 
temp.orderByDesc('sys_updated_on'); 
temp.setLimit(1); 
temp.query(); 

if (temp.next()){ 
    gs.print(temp.getValue("sys_id")); 
}