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.