Estou utilizando usuário substituto no fluig, o método getValue('WKUser') no evento displayFields retorna o colleagueId do usuário logado. No evento validateForm ou inputFields ele retorna o colleagueId do usuário substituto. Por que isso acontece?
Estou utilizando usuário substituto no fluig, o método getValue('WKUser') no evento displayFields retorna o colleagueId do usuário logado. No evento validateForm ou inputFields ele retorna o colleagueId do usuário substituto. Por que isso acontece?
Este comportamento acontece quando o usuário substituto está acessando um processo de um usuário substituído e executa alguma ação que possa obter o retorno getValue('WKUser').
O processo considera o usuário definido como responsável pela atividade como o usuário corrente ('WKUser'), mesmo que a tarefa seja movimentada por um substituto. Caso o processo identifique que outra pessoa movimentou a atividade em nome do responsável, este usuário é retornado através da função getValue("WKReplacement").
Para resolver isso você deve verificar se a função getValue("WKReplacement") está retornando algum valor. Caso esteja, deve-se assumir ela como usuário logado, dependendo da lógica que está se implementando é claro. Ex:
var user = getValue('WKReplacement') != null ? getValue('WKReplacement') : getValue('WKUser');
Recomendo também a leitura dos links abaixo:
http://tdn.totvs.com/display/public/fluig/Desenvolvimento+sobre+a+plataforma
http://tdn.totvs.com/pages/releaseview.action?pageId=75270483