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