Senhores, Estou com um problema para montar a tela do print, quando chego no campo Observação, preciso gravar os dados no grid e limpar o cabeçalho e voltar o foco ao campo Produto.
O que não estou conseguindo fazer é a questão do foco.
Usando alguns exemplos que encontrei no fórum, o máximo que consegui e setar o foco ao carregar a tela e se clicar no grid e de volta no cabeçalho o foco vai para o campo Produto, mas nada após incluir um item no grid.
Usei a função abaixo:
//trecho da View
oView:SetAfterViewActivate({|oView| ViewActv(oView)})
Função para posicionar no campo ZA5_PROD, também tentei invocar essa função após incluir a linha, mas sem sucesso.
Static Function ViewActv(oView)
oView:GetViewObj("ZA5MASTER")[3]:getFWEditCtrl("ZA5_PROD"):oCtrl:SetFocus()
Return
Print da tela, se alguém tiver uma dica de como pode ser feito, agradeço antecipadamente.
Edit. 18/03/2021 Consegui resolver
No evento bFocus da FWFormView, adicionei a função para posicionar o campo
Local bFocusZA6 := {|| ViewActv() }
oView:AddGrid("VIEW_ZA6", oStruZA6, "ZA6DETAIL",,{|| ViewActv() })
Também precisei de ajustar a função
Static Function ViewActv()
oView := FWViewActive()
oView:Refresh('VIEW_ZA5')
oView:GetViewObj("ZA5MASTER")[3]:getFWEditCtrl("ZA5_PROD"):oCtrl:SetFocus()
Return