Ponto de entrada MVC Cadastro de Produtos

Boa tarde,

Utilizo o ponto de entrada de produto em MVC ‘ITEM’ para validações no cadastro.
Porém para os campos de SB5 eu não estou conseguindo capturar o valor dos campos em memoria(m->), apenas os valores salvos no bando de dados(SB5->)
Realizei os testes no MODELPOS e no FORMPOS.
Existe alguma outra opção para que eu possa capturar os valores da tabela SB5 em memória, antes da gravação dos campos no banco de dados, nesse ponto de entrada?

Obrigada

1 curtida

Olá,

Normalmente os valores estão no modelo e os pontos de entrada MVC recebem como parâmetro via PARAMIXB o modelo.

Logo, a melhor forma não é utilizar M-> em pontos de entrada MVC e sim o modelo, pegando assim os valores via método GetValue.

Documentação: https://tdn.totvs.com/display/framework/Pontos+de+Entrada+para+fontes+Advpl+desenvolvidos+utilizando+o+conceito+MVC

2 curtidas

Para você capturar os dados vai precisar acessar diretamente os dados do submodelo da SB5. Olhando o oModel principal tem um array que lista todos os submodelos oModel:allSubModels ou algo assim vc pega o atributo cID para saber qual vai usar.
No caso desse objeto acho que é ‘SB5DETAIL’, então vc captura os dados assim:

oModSB5 := oModel:GetModel(‘SB5DETAIL’)
xCampo := oModSB5:GetValue(‘B5_CAMPO’)

1 curtida

Muito obrigada!!! Com as dicas, consegui capturar corretamente os valores do B5