Refresh Grid MVC no pós-linha

Criei uma tela com 3 relacionamentos, posto de trabalho, recurso e escala. Preciso fazer a validação se a escala digitada do recurso específico não esta conflitando (repetindo) em outros postos de trabalho.

Para isso no pós-linha do grid neto (escala), estou varrendo todos os Grids e efetuando a validação, até ai tudo certo. O problema esta no momento de reposicionar os Grids nas linhas atuais, tentei utilizar o aSaveLines := FWSaveRows( ) e FWRestRows(aSaveLines) não funcionou, tentei utilizar o GoLine e Refresh em cada Grid porem também não funcionou.

O que eu percebi no debug é que o momento que executa o refresh a rotina fica em loop até derrubar o serviço, aparentemente o refresh da view executa o pós-linha, se eu executo os comandos (abaixo**) de goLine e refresh em tempo de execução na barra de comandos do Protheus e devolvo a transação a tela posiciona corretamente.

** oGridCNB:GoLine( nLinAtuCNB ) oView:Refresh('CNB_VIEW')

** oGridZ11:GoLine( nLinAtuZ11 ) oView:Refresh('Z11_VIEW')

** oGridZ12:GoLine( nLinAtuZ12 ) oView:Refresh('Z12_VIEW')

Será que o refresh não pode ser executado no pós-linha? Já olhei todos os outros tópicos relacionado a este assunto e nenhum resolveu meu problema. Segue em anexo meu fonte.

compartilhar
  • Bom dia Claudio, não seria possível fazer essa validação com o método SetUniqueLine do FWFormGridModel?

    Daniel Mendes   20 de Mar de 2020
  • Acredito que não pois o Grid de escala tem data/hora de entrada e saída, a data e hora exatamente igual eu valido pelo SetUniqueLine({"Z12_DATAE","Z12_HORAE","Z12_DATAS","Z12_HORAS"}).

    Claudio Bozzi   20 de Mar de 2020
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags mvc ou faça a sua própria pergunta.