Preenchimento automático dos dados em formulário

Bom dia,

eu estive desenvolvendo um formulário simples com processo. Só que estou com um problema que não estou conseguindo resolver sozinho.

Problema:
Tenho 3 input fields que buscam a informação do colaborador com sessão ativa. Pois daí ele só preenche as informações que precisa preencher e não se preocupa com o cabeçalho. Enfim, depois que ele envia, alguns campos que foram preenchidos manualmente são validados e dai é direcionado para aprovação do gestor. Acontece que mesmo depois de enviado e salvo, o formulário continua mudando os dados do cabeçalho, e ai ele pega o nome do usuário atual, data atual e não os dados de quem e quando fez a solicitação.

O que estou fazendo de errado?

Você tem que restringir o preenchimento dos dados somente na atividade que precisa de tal preenchimento automático.

Aqui eu faço muito isso no evento displayFields. Segue um exemplo:

/**
 * Define os campos que serão ocultados, desabilitados e seus valores iniciais
 *
 * Função executada antes de exibir o formulário.
 *
 * @param {FormController} form
 * @param {customHTML} customHTML
 */
function displayFields(form, customHTML) {
    var ATIVIDADE_INICIO = 1; // ID da primeira atividade de acordo com o seu Workflow
    
    var activity = parseInt(getValue("WKNumState"));

    // Regras para quando está criando uma solicitação ou terminando de editar a atividade inicial
    if (form.getFormMode() == "ADD" || (form.getFormMode() == "MOD") && activity == ATIVIDADE_INICIO) {
        var user = fluigAPI.getUserService().getCurrent();
        
        form.setValue("autorNome", user.getFullName());
        form.setValue("autorId", user.getCode());

        // Como as regras são específicas pra essa parte já pode sair da função
        return;
    }

    // regras para as demais situações...
}
2 curtidas

Entendi! Muito obrigado.