Dúvidas Grid Ponto de Entrada MVC

Boa tarde

1) Como saber a posição de um campo em uma Grid MVC? (Ex.: com aCols uso o GdFieldPos("NOME_DO_CAMPO") )

2) Como saber a coluna que estou posicionado ao executar o ponto de entrada na etapa FORMLINEPRE. Ex.: Quando executa o ponto de entrada, sei que estou na linha xxx através do comando oDados:nLine. Como saber a coluna?

Obrigado

Olá Thyago,

Em MVC você não precisa saber a posição (coluna) de um campo, pois você vai trabalhar no modelo, então você vai usar o modelo junto dos método GetValue e SetValue, informando apenas os nomes dos campos, nada de coluna.

Para pegar a linha que o modelo está posicionado, utilize do método GetLine, não use as propriedades diretamente, pois propriedades não documentadas podem ter seus nomes alterados a qualquer momento.

Documentação: https://tdn.totvs.com/display/Framework/FWFormGridModel

Oi Daniel, obrigado pelo retorno.

1) Olá em MVC não precisamos saber a posição do campo para poder manipula-lo basta utilizarmos os metodos GetValue para pegar a informação do campo desejado e SetValue para setar a informação desejada veja exemplo...

If cIdPonto == 'FORMLINEPRE'

oModelCN9:SetValue("CN9_XCLIEN", AllTrim(SA1->A1_NOME))

cCod := oModelPA5:GetValue('PA5_COD')

EndIf

2) O ponto de entrada em MVC padrão recebe por parametro um vetor (PARAMIXB) com informação referente ao fonte, sendo elas...

FORMLINEPRE

Antes da alteração da linha do formulário FWFORMGRID.

Parâmetros Recebidos:

1 O Objeto do formulário ou do modelo, conforme o caso 2 C ID do local de execução do ponto de entrada 3 C ID do formulário 4 N Número da Linha da FWFORMGRID 5 C Ação da FWFORMGRID 6 C Id do campo

Conclusão: para saber o campo posicionado basta verificar o Id do Campo Array Paramixb[6] recebido via parametro

para mais informação segue detalhamento: https://tdn.totvs.com/pages/releaseview.action?pageId=208345968