Prezados, desenvolvi uma rotina em ADVPL MVC onde ao realizar à INCLUSÃO de registros o usuário escolhe previamente o layout da tela. Nas demais operações (VISUALIZAR, ALTERAR e EXCLUIR) o layout da tela deve seguir à configuração utilizada na inclusão e portanto, gravada em um campo do registro manipulado.
Pois bem, quando acesso à rotina pela primeira vez, funciona 100%. No entanto, após executar qualquer funcionalidade à primeira vez, ao tentar executar uma segunda funcionalidade, as regras de construção do MODEL e da VIEW não são processadas novamente, resultando, na aplicação do layout vinculado à primeira execução de funcionalidade da rotina. Se sair da rotina e acessar novamente, no primeiro acesso, funciona.
Então, gostaria de saber se existe alguma forma de "forçar" um "reset" do model\view, de modo que o mesmo seja construído na execução de qualquer funcionalidade da interface.
Marcelo, a lib mantém diversos valores do MVC em cache, visando a melhor performance do produto, caso contrário sempre que fosse clicado qualquer ação do browse, tudo seria chamada novamente do zero, levando a inúmeras consultas de dicionários de dados, instancia de objetos, querys entre demais aspectos.
Portanto não existe uma forma de forçar um reset.
Existe a possiblidade de você criar o model e view em fontes distintos que não seria acessados via menu e criar um fonte de menu o qual executa o modelo via FWExecView ou FWViewExec, com isso você pode ter o controle sobre o modelo de dados, desativando e destruindo o mesmo, levando assim a um cenário de cada ação do browse, criar um novo modelo, é um teste a ser feito, pois não é uma aplicação muito comum, mas acredito que atenda sua necessidade, porém, esse modelo vai ter uma degradação da performance da rotina.