Versão atual:

Ação no botão Confirmar - MVC Modelo 2

Pessoal antes de qualquer coisa , FELIZ NATAL !! FELIZ ANO NOVO !!! ..

Preciso da ajuda de voces , fiz uma tela modelo2 em MVC , e gostaria de carregar valores em um determinado campo na Grid de acordo com a quantidade de alterações na linha , vejam o trecho do codigo que deveria fazer isso:

User Function CorreGrid(_oView,_oModel)

Local cC2status:= "APTO"

Local nLineAlt := VAL(_oModelD:GetValue('ZR_AJUSTE'))

_oModel:= FWModelActivate()

_oModelD := _oModel:GetModel( 'SZRDETAIL' )

IF _oModelD:GetOperation() == 4

For nLn := 1 To _oModelD:Length()

_oModelD:GoLine(nLn)

If _oModelD:IsUpdated()

nLineAlt++

_oModelD:LoadValue('ZR_AJUSTE', Transform(nLineAlt, "@!" ))

_oView:Refresh()

_oModelD:SetLine(1)

EndIf

Next nLn

Endif

A função acima eu estou chamando na ViewDef na propriedade : _oView:SetViewAction( 'BUTTONOK' ,U_CorreGrid()).

Se vcs olharem a funcão eu preencho o campo ZR_AJUSTE de acordo com a alteração na linha .

Estou com dois problemas aí :

1° após fazer o LoadValue no ZR_AJUSTE , eu faço um refresh na view , no ato da confirmação da alteração eu consigo ver o campo receber o valor da variavel nLineAlt , mais por algum motivo ele não grava o valor do campo no BD , a impressão que tenho é que o campo recebe o valor segundos depois da gravação.

2° o valor da variavel nLineAlt no campo ZR_AJUSTE , está sendo somando em todas as linhas , como faço pra incrementar apenas na linha que foi alterada ?

Versões (4):

Ver a versão formatada

Ação no botão Confirmar - MVC Modelo 2

Comentário

new question