Atualização de Grid MVC ( CNTA300 )

Prezados, estou tentando colocar itens na grid da tela de Manutenção de Contratos ( CNTA300, tabela CNB ), ao adicionar o comando AddLine, ele não adiciona uma linha nova. Adicionei ao código o comando IsLineValidate() e existe alguma coisa que não está deixando validar o grid e adicionar linha. QUando eu tenho fazer isso manualmente com as mesmas informações ele adiciona normalmente. Gostaria de saber se existe alguma maneira de eu conseguir pegar o erro que acontece para não validar a linha. o código esta abaixo. Desde ja agradeço a todos.

If ZBC->(dbSeek(xFilial("ZBC") + ZBB->ZBB_CODIGO)) While ZBC->(!EOF()) .AND. ZBC->ZBC_FILIAL == ZBB->ZBB_FILIAL .AND. ZBC->ZBC_CODNEC == ZBB->ZBB_CODIGO

oMdlCNB:SetValue("CNB_FILIAL",oMdlCN9:GetValue("CN9_FILIAL")) oMdlCNB:SetValue("CNB_NUMERO",oMdlCN9:GetValue("CN9_NUMERO")) oMdlCNB:SetValue("CNB_REVISA",oMdlCN9:GetValue("CN9_REVISA")) oMdlCNB:SetValue("CNB_PRODUT",ZBC->ZBC_PRODUT) oMdlCNB:SetValue("CNB_DESCRI",Posicione("SB1",1,xFilial("SB1") + ZBC->ZBC_PRODUT, "B1_DESC")) oMdlCNB:SetValue("CNB_UM",Posicione("SB1",1,xFilial("SB1") + ZBC->ZBC_PRODUT, "B1_UM")) oMdlCNB:SetValue("CNB_QUANT",ZBC->ZBC_QUANT) oMdlCNB:SetValue("CNB_SLDMED",ZBC->ZBC_QUANT) oMdlCNB:SetValue("CNB_VLUNIT",ZBC->ZBC_VALOR) oMdlCNB:SetValue("CNB_VLTOT",ZBC->ZBC_QUANT * ZBC->ZBC_VALOR ) oMdlCNB:SetValue("CNB_CONTA",Posicione("SB1",1,xFilial("SB1") + ZBC->ZBC_PRODUT, "B1_CONTA") )

If !oMdlCNB:IsLineValidate() Alert("Erro na linha") EndIf

ZBC->(dbSkip())

If ZBC->(!EOF()) .AND. ZBC->ZBC_FILIAL == ZBB->ZBB_FILIAL .AND. ZBC->ZBC_CODNEC == ZBB->ZBB_CODIGO oMdlCNB:AddLine() EndIf

EndDo EndIf

Eu acho que não se pode informar o campo CNB_SLDMED

Exatamente… não pode colocar ne o SALDO e nem CNA_VLTOT e o CNA_SALDO a validação da linha completa o campo. Obrigado!

Boa tarde Daniel, tudo bem?

Você pode pegar o erro do modelo com o método GetErrorMessage, segue documentação:

FWFormModel

Screenshot_1.jpg

O erro é herdado do submodelo (FWGridModel) para o modelo principal (FWFormModel) e, uma das formas de você obtê-lo é em modo de debug chamar por:


oMdlCNB:oFormModel:aErrorMessage

Att,

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Boa tarde Leonardo! Cara obrigado pelo help, mas nesse momento não estou no FormModel, eu estou no FORMGRIDMODEL e ai não tem esse method na hora…

Daniel, adicionei mais um trecho na resposta. Veja se te ajuda.

Att,

Muito Obrigado, a herança deu certo, consegui buscar o erro, o melhor não estava nem no grid estava no MASTER.

Boa! Se puder votar na resposta agradeço.

Abs