Boa tarde,
Estou tentando setar o valor de um campo no evento de formulário AfterSaveNew, porém não está funcionando. No log não da nenhum erro, simplesmente não atribui o valor.
Exemplo de utilização:
function afterSaveNew(form) {
form.setValue("nomeCampo", "abc");
}
Alguém consegue me ajudar, por favor?
[UPDATE]
Algumas observações que esqueci de colocar:
-> O formulário não está associado a nenhum processo;
-> Tentei criar um dataset que consome o webservice ECMCardService e atualiza o registro do formulário criado.
No AfterSaveNew, capturo o cardId gerado (8061, neste caso abaixo) e envio para o dataset, com os valores a serem atualizados. Porém, o log retorna:
ERROR [com.totvs.technology.ecm.dm.ws.CardService] (default task-19) Ficha não encontrada: 8061: java.lang.Exception: Ficha não encontrada: 8061
Renata, faça um teste simples, ao invés de colocar o numero da Ficha do formulário atual coloque manualmente no código um número de ficha que já tenha sido salva anteriormente, pois se ele encontrar uma ficha antiga então teremos de encontrar um outro evento para que você utilize.
Fico no aguardo.
— Carlos Piva 04 de Oct de 2018Oi Carlos, bom dia! Sim, funciona normalmente! Tentei também colocar um “window.open”, e reabrir o formulário que acabei de criar, tentando atualizar os campos no display fields, mas no afterSaveNew não reconhece o window :(
— Renata 04 de Oct de 2018Então teremos que achar um outro evento para realizar essa tarefa, só por curiosidade, se o formulário não está atrelado a nenhum processo, como que está utilizando os eventos? Apenas para eu conseguir te ajudar melhor.
— Carlos Piva 04 de Oct de 2018Carlos, a gente usa esse formulário para cadastrar alguns itens que, posteriormente serão usados em um processo (consulto o dataset desse formulário); então, o item pode ser cadastrado (no formulário) e nunca mais ser editado (por isso a necessidade de ser tudo no mesmo momento, esse registro pode nunca mais ser aberto por um usuário), ou ser editado em momento oportuno, ou cancelado, excluído, etc! Precisa estar disponível para edição a qualquer momento, mas não necessariamente será editado. Entendeu? Resumo: é um formulário de cadastro de parâmetros, pra posteriormente ser consultado.
— Renata 04 de Oct de 2018Entendi, você já tentou utilizar o evento "afterProcessing"? esse evento é o último evento a ser disparado para o formulário. Caso ainda não, por gentileza utilize esse evento. Fico no aguardo.
Att.
— Carlos Piva 04 de Oct de 2018Oi carlos, não havia tentado, mas fiz aqui agora e o resultado é o mesmo do afterSaveNew: java.lang.Exception: Ficha não encontrada: 8112 :(
— Renata 04 de Oct de 2018Renata poderia me adicionar no skype? Melhor para eu ir lhe passando as coisas.... carlos.piva@gsinima.com.br Assim que encontrarmos a resposta postamos aqui.
— Carlos Piva 04 de Oct de 2018Carlos, a solução que encontrei foi criar um processo "genérico" que fica verificando se um novo registro daquele formulário foi criado, e ai executa os procedimentos necessários. Muito obrigada pela atenção e ajuda :)
— Renata 04 de Oct de 2018