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