1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Urgente Duvida sobre viwer - teste de campos em outras telas

Discussão em 'EMS , HCM e Totvs 11' iniciado por ds201, Outubro 14, 2020.

  1. ds201

    ds201 Membro Participativo

    Boa noite

    Tenho um programa (cadastro complexo) que tem um folder com 3 telas.
    Na primeira tela (que tem a chave da tabela) eu preciso verificar se alguns campos das outras telas foram preenchidos corretamente.
    Não lembro como fazer este teste. Se fosse tudo em uma só tela bastaria incluir os testes na local-assign.
    Alguém lembra com fazer este teste de campos que estão em outras telas?

    Obrigado
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Bom dia, usa o local-assign de cada viewer, quando vc clica em salvar, ele dispara o local-assign de todas as viewers, então vc pode fazer o teste em cada telinha que vai funcionar.
    fdantas curtiu isso.
  3. ds201

    ds201 Membro Participativo

    Obrigado pelo apoio.

    O que torna meu caso complicado é que eu preciso contar a quantidade de campos preenchidos. Isto porque a regra de negócios diz que pelo menos um campo (do conjunto de telas) deve estar preenchido.
    E eu estou/estava tentando evitar o uso de um contador (varivél global) para fazer a contagem e o teste posterior.
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    tá, nesse caso eu faria o seguinte:
    1) Na sua viewer principal, que é onde vc quer o teste, vc cria uma procedure que recebe como parametro o handle das outras viewers, isso vc faz no .w principal (container), depois que ele faz o run persistent de todas as viewers, vc faz um run no handle da viewer principal passando o handle das outras viewers.
    2) Criar nas viewers uma procedure que faz as avaliações que vc precisa e retornando um OK ou NOK, como vc achar melhor.
    3) Na viewer principal, tendo os handles das outras viewers, vc faz run AVALIAÇÂO in HANDLE (output erro); ou só faz o run e captura o return-value, como vc achar melhor.

    Pronto, agora vc tem o que precisa.
  5. ds201

    ds201 Membro Participativo

    Muito obrigado.
    Vou usar esta solução.

Compartilhe esta Página