Olá Yenny, obrigado por seu comentário. Mas no caso, a MATA415 não tem GRID MVC, é uma GetDados, então não dá pra usar essas funções que resolveram seu problema.
Olá Yenny, estou desenterrando este tópico só para agradecer. ‘GETDREFRESH()’ resolveu meu problema com tela de cadastro de dados complementares dos produtos. Valew!!
Consegui resolver da seguinte forma:
Buscar as linhas visíveis na browse apresentada na tela, tem uma propriedade que é aVisibleReg, que mostra a linha de todos os registros que estão em tela, assim você pega o primeiro registro apresentado e antes do refresh posiciona naquele registro.
O cursor vai posicionar lá no topo, no entanto as linhas apresentadas não serão reposicionadas.
Static Function MarcaLinha()
Local oModel := FwModelActive() //Busca o modelo de dados ativo
Local oView := FwViewActive() //Busca o modelo de visualização ativo
Local oGrid := oModel:GetModel('ITENS') //Busca a Grid de dados que vai ser atualizada
Local oBrowse := oView:GetViewObj('VIEWITE')[3]:oBrowse //Busca o Browse que precisa receber o Refresh
oGrid:SetValue('ZBL_MARK', !oGrid:GetValue('ZBL_MARK')) //Marca o registro
oGrid:GoLine(oBrowse:aVisibleReg[1]) //Posiciona a Grid na primeira linha visível do browse
oView:Refresh() //Atualiza apenas os dados da Grid
Return