Enviando atividade via app

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.";
      }
}

1 curtida

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.

1 curtida

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!

1 curtida