Como pegar os dados do usuário através do código?

Bom dia pessoal! Como faço para pegar os dados do usuário logado em uma evento de displayFields? Sei que o getValue("WKUser") retorna o código do usuário. Como faço para obter os dados do mesmo pelo código?

Desde já agradeço pessoal.

Olá Davi,

Você pode usar a fluigAPI. O exemplo abaixo retorna o nome e o email do usuário atual:


var nome = fluigAPI.getUserService().getCurrent().getFullName();
var mail = fluigAPI.getUserService().getCurrent().getEmail();

Se quiser de um usuário que não seja o logado, use este método:


var mail = fluigAPI.getUserService().findById(id).getEmail();

Luiz, tentei fazer exatamente o que você colocou e deu um erro. Não tenho a instancia do fluigAPI no js isso pode interferir ?

Davi, Qual erro ocorreu? Consegue postar aqui?

“Erro ao executar o evento displayFields não foi implementado para o fichário 621516 na versão 10000.”
Eu tentei da uma olhada na documentação de como usar o fluigAPI e não consegui uma informação concreta de como usar o mesmo no js.

Posta o código que está utilizando, fiz um teste aqui com um log.info no displayFields e não tive problemas:
function displayFields(form,customHTML){ log.info( fluigAPI.getUserService().getCurrent().getEmail() ); }
Este código gerou o seguinte log:
2017-04-18 13:50:15,610 INFO [com.datasul.technology.webdesk.customization.ScriptingLog] (default task-71) luiz.postal@totvs.com.br

Teve uma vez que tive que lidar com esse erro. Não sei se é o seu caso, mas eu estava usando algumas linhas de código que dependiam de bibliotecas externas, como o jQuery. Como os eventos customizados rodam no lado servidor, as linhas que necessitavam da biblioteca falhavam, causando esse erro.

Obrigado galera. Consegui resolver o problema. Eu usei o código retornado do WKUser para da um get dataset que continha todos os usuários e suas respectivas informações.

o fluigAPI está disponível a partir da versão 1.5.13 pode ser esse o motivo do erro informado, a solução seria consultar essa informação pelo dataset colleague filtrando pelo código dele que vc já sabe como obter através do getValue("WKUser").