Eu consigo saber no beforeSendValidate se o usuário tá enviando a atividade via app ou via browser?
Victor, só serve no front? Caso sim, você pode utilizar o que vou descrever a seguir em um evento de displayFields e preencher a algum campo do form com esse valor para analisar no beforeSendValidate. O Fluig possui uma variável pra isso, a WKMobile (Desenvolvimento de formulário mobile - TOTVS Fluig - TDN), segue exemplo:
function beforeStateEntry(sequenceId){
var isMobile = getValue("WKMobile");
if (isMobile!=null && isMobile==true){
throw "Esse processo não pode ser executado pelo mobile.";
}
}
O evento beforeStateEntry executa antes do beforeSendValidate?
Não, Victor, beforeStateEntry é antes de entrar numa outra atividade. O exemplo aí só foi mostrar a possibilidade. Você pode utilizar o displayFields, como indiquei, pra isso. Assim você pode ter essa informação já ao acessar o formulário. E aí sim, caso queira, faça a validação no beforeSendValidate. Logo te trago um exemplo no contexto que precisa.
Consegui fazer aqui, @alefvinicius. Obrigado!
Mas utilizei o form.getMobile()
. Quando o usuário entra, ele já retorna true se for pelo app. O getValue("WKMobile")
retorna só quando o usuário envia a atividade.
Isso mesmo, Victor, já estava vindo com a errata. Informando que o mais indicado para evento de formulário seria pelo FormController (Form Customization - TOTVS Fluig English - TDN), podendo assim usar ele no displayFields para passar a informação para o front. Show!