Inicializador padrão em Grid MVC

Boa tarde!

Estou tendo problemas ao utilizar um inicializador padrão em uma rotina que usa um Grid MVC.

Essa rotina possui um campo virtual chamado ZAT_DESMUN que é preenchido com a descrição do município preenchido no campo ZAT_CODMUN.

Estou usando uma User Function para chamada.

Usando MsNewGetDados, o inicializador padrão ficaria assim:


_cRet := Posicione("CC2",1,xFilial("CC2")+"ES"+GdFieldGet("ZAT_CODMUN",Len(aCols)),"CC2_MUN")

Usando este inicializador e GetDados, funciona normalmente.

Mas quando utilizo MVC, não consegui fazer uma forma da rotina funcionar. O ZAT_CODMUN retorna nulo.

Tentei das seguintes maneiras:


Posicione("CC2",1,xFilial("CC2")+"ES"+FwFldGet('ZAT_CODMUN'),"CC2_MUN")


Local oModel := FwModelActive()
Local cCodMun := oModel:GetValue('ModelGrid','ZAT_CODMUN')
Posicione("CC2",1,xFilial("CC2")+"ES"+cCodMun ,"CC2_MUN")

Alguém já passou por situação parecida e tem alguma dica de como corrigir?

Agradeço desde já pela atenção.

Giordano, O inicializador padrão é usado nos comandos de alterar, visualizar e excluir, então neste caso você deve usar a propria tabela para pesquisar o nome. Se eu entendi bem a sua necessidade, acredito que se você colocar IIF(INCLUI,'',Posicione("CC2",1,xFilial("CC2")+"ES"+ZAT->ZAT_CODMUN,"CC2_MUN")) no inicializador padrão do campo ZAT_DESMUN vai resolver seu problema.

Espero ter ajudado.

Boa noite, Felipe! Obrigado pela resposta.

Acabou que dei uma volta para resolver algo simples, realmente com a solução informada deu certo. Obrigado!

Que bom que deu certo Giordano, sempre as ordens. Abraço.