Como conseguir o documentId em um evento do tipo beforeSendNotification

Preciso do documetId de um documento que irá expirar, mas dentro do evento beforeSendNotification o getValue("WKDocument") não recebe o documento, vem como null. Tem alguma outra forma de conseguir?


function beforeSendNotification(notification){
    try{

    var doc = getValue("WKDocument");

    log.info("--------------"+doc.getDocumentId()+"-----------------------------------------------------");

    }catch(e){
        log.error("---------ERROR-------"+ e);
    }
}

Olá Marcos,

O evento beforeSendNotification é executado a cada envio de notificação, que pode ser do card Social, BPM, ECM, etc. Por isso, a variável WKDocument não está disponível.

Porém, você pode recuperar o código do documento dentro da variável "notification". Nessa variável você deve conseguir recuperar o código do template de e-mail - o que deve facilitar identificar quando a notificação é de expiração de documento - e todo conteúdo da notificação.

No seu evento, use o código abaixo para ver o conteúdo da variável "notification":


log.dir(notification);

Você não vai conseguir acessar diretamente o objeto metadata pois é um hashmap. Para acessar os dados de um hashmap, você precisa .get e o que você precisa recuperar. Nesse caso, ficaria:


notification.metadata.get("WDK_DocumentNumber");

Para testar, você pode usar:


log.info(notification.metadata.get("WDK_DocumentNumber"));

Abs,

Marcos

Obrigado, consegui ver o numero do Documento, porém não consigo pegar somente essa informação
log.dir(notification.metadata["WDK_DocumentNumber"]);
Esta retornando undefined

Marcos, atualizei a resposta com um exemplo de como acessar valores de um hashmap. Abs!

obrigado. Tem como receber o documento como objeto DocumentDto? Eu preciso dos usuários que podem modificar o documento que vai expirar, para isso eu pretendo utilizar o WKListSecurity.
link.

Por nada, Marcos! Para consultar a segurança de um documento você pode consultar o dataset documentSecurityConfig, passando o WDK_DocumentNumber como constraint no campo documentSecurityConfigPK.documentId.
Não é mais fácil fazer isso no onNotify? Você pode user receivers.add lá.

Obrigado pela ajuda e pelas dicas, deu certo.