Bom Dia,
Criei uma tela em MVC que exibe uma modelo X com pai, filho e neto em modo de visualização.
Após atualizar um valor no banco, gostaria que esse valor refletisse na janela sem fechar a abrir novamente.
Tentei usar o FWViewActive e dar um refresh, mas mesmo assim os dados não são atualizados.
Alguém pode me ajudar, por favor? Grato.
Rubens, tudo bom! Como já foi falado neste post o certo é você utilizar a classe https://tdn.totvs.com/display/tec/TTimer, o objeto Timer setado na View irá te dar meios para atualizar a tela. Para que funcione perfeitamente, na função que você chamar no temporizador você tera que manipular a operação do modelo, exemplo, se abriu a tela como modo vizualização, esta operação não permite realizar nenhuma alteração de dados, você deverá trocar para a operação de alteração, realizar a mudança, e após voltar a operação original. Fiz algo muito parecido com a sua duvida e funciona perfeitamente.
— Laercio Goncalves de Souza Junior 24 de Jan de 2022oView:SetTimer( nMlsTime, {|| U_fAtuTela( oModel, oView )})
User Function fAtuTela( oModel, oView ) Local nOperation := oModel:GetOperation()
oModel:DeActivate() oModel:SetOperation(4) oModel:Activate() atualizando os campos.... oView:Refresh("FLDZP6")
oModel:DeActivate() oModel:SetOperation( nOperation ) oModel:Activate() Return .T.
— Laercio Goncalves de Souza Junior 24 de Jan de 2022