Versão atual:

MVC nao esta gravando ao salvar Modelo 2

Salve a todos,

Estou com um problema em uma tela de MVC Modelo 2 onde ele nao esta executando a gravação da Grid (Registro Filho).

Captura de tela 2022-11-08 155812.png

Objetivo: esta tela deve ser chamada na tela de cliente onde possa amarrar o cadastro de gastos adicionais nas vendas para estes clientes com seus respectivos valores.

Como pode ver ja estou trazendo a tela, e ao clicar em confirmar ele ate traz a mensagem de sucesso, no entanto os dados nao sao salvos no banco.

Fonte usado:


#Include 'Protheus.ch'
#Include 'FWMVCDEF.CH'
#INCLUDE 'FWEDITPANEL.CH'

#DEFINE CPROG "Cli_x_Vlr"

User Function Cli_x_Vlr()
    Local lRet := .F.
    Local aEnableButtons := {{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.T.,Nil},{.T.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil},{.F.,Nil}}

    If SA1->A1_MSBLQL == '1'
        lOk := ( FWExecView('Despesas Comerciais - Visualizar', CPROG, MODEL_OPERATION_VIEW  ,/**/,/*         */,/**/,,aEnableButtons ) == 0  )        //"Valores Acessórios"###"Alteração"
    Else
        lOk := ( FWExecView('Despesas Comerciais - Editar'    , CPROG, MODEL_OPERATION_UPDATE,/**/,/*         */,/**/,,aEnableButtons ) == 0  )        //"Valores Acessórios"###"Alteração"
    EndIf
Return lRet

Static Function ModelDef()
    Local oModel    := MPFormModel():New( "CLIXVLRM",/*Pre*/,/*Pos*/, {|oModel| fGRV( oModel )} /*Commit*/ )
    Local oSA1        := FWFormStruct(1, 'SA1')
    Local oZ21        := FWFormStruct(1, 'Z21')
    //Local bInitDesc    := FWBuildFeature( STRUCT_FEATURE_INIPAD, 'IIF(!INCLUI,Posicione("Z20",1, xFilial("Z20") + Z20->Z20_CODIGO,"Z20_DESC"),"")')

    Local aAuxChv    := {}

    oZ21:AddField(    "Desc Despesas"        ,;    // [01] Titulo do campo
                    "Desc Despesas"        ,;    // [02] ToolTip do campo
                    "Z21_NDESP"            ,;    // [03] Id do Field
                    "C"                    ,;    // [04] Tipo do campo
                    30                    ,;    // [05] Tamanho do campo
                    0                    ,;    // [06] Decimal do campo
                    { || .T. }            ,;    // [07] Code-block de validação do campo
                    { || .F. }            ,;    // [08] Code-block de validação When do campo
                                        ,;  // [09] Lista de valores permitido do campo
                    .F.                    ,;    // [10] Indica se o campo tem preenchimento obrigatório
                                        ,;  // [11] Inicializador Padrão do campo
                                        ,;  // [12] 
                                        ,;  // [13]
                    .T.)                    // [14] Virtual

    oZ21:AddTrigger( "Z21_CODZ20", "Z21_NDESP" , {|| .T. },{|oModel| Posicione("Z20",1,xFilial("Z20")+oModel:GetValue("Z21_CODZ20"),"Z20_DESC")})

    oSA1:SetProperty('*',MODEL_FIELD_OBRIGAT, .F.)

    oModel:AddFields("SA1MASTER",/*cOwner*/    , oSA1)
    oModel:AddGrid("Z21DETAIL"  ,"SA1MASTER", oZ21)

    oModel:SetPrimaryKey({'A1_FILIAL','A1_COD','A1_LOJA'})

    oModel:GetModel( 'Z21DETAIL' ):SetUniqueLine( { 'Z21_CODZ20' } )

    aAdd( aAuxChv, {"Z21_FILIAL","FwXFilial('Z21')"} )
    aAdd( aAuxChv, {"Z21_CODSA1","A1_COD"})
    aAdd( aAuxChv, {"Z21_LOJA","A1_LOJA"})

    oModel:SetRelation("Z21DETAIL", aAuxChv , Z21->(IndexKey(2) ) )
Return oModel


Static Function ViewDef()
    Local oView     := FWFormView():New()
    Local oModel       := FWLoadModel( CPROG )
    Local oSA1         := FWFormStruct( 2, 'SA1', { |x| ALLTRIM(x) $ 'A1_COD, A1_LOJA, A1_NOME, A1_EST, A1_MUN' })
    Local oZ21         := FWFormStruct( 2, 'Z21', { |x| ALLTRIM(x) $ 'Z21_CODZ20, Z21_VALOR' })

    oSA1:SetNoFolder()

    oZ21:AddField("Z21_NDESP", "30", "Desc Despesa", "Desc Despesa", {}, "G", "@!",/*bPictVar*/,/*cLookUp*/,/*lCanChange*/,/*cFolder*/)//"Descricao da despesa"
    oZ21:SetProperty( 'Z21_CODZ20'    , MVC_VIEW_ORDEM,    '1')
    oZ21:SetProperty( 'Z21_NDESP'    , MVC_VIEW_ORDEM,    '2')
    oZ21:SetProperty( 'Z21_VALOR'    , MVC_VIEW_ORDEM,    '3')

    oView:SetModel( oModel )
    oView:AddField( 'VIEW_SA1', oSA1, 'SA1MASTER' )
    oView:AddGrid("VIEW_Z21" ,oZ21,"Z21DETAIL")

    oView:SetOnlyView('VIEW_SA1')

    oView:CreateHorizontalBox( 'BOXSA1', 027 )
    oView:CreateHorizontalBox( 'BOXZ21', 073 )

    oView:SetOwnerView('VIEW_SA1', 'BOXSA1')
    oView:SetOwnerView('VIEW_Z21', 'BOXZ21')

    //oView:EnableTitleView('VIEW_SA1' , 'Cliente')
    oView:EnableTitleView('VIEW_Z21' , 'Despesas')
Return oView

Static Function fGRV(oModel)

Return .t.

Versões (2):

Ver a versão formatada

MVC nao esta gravando ao salvar Modelo 2

  • criado 08 de Nov de 2022

Comentário

new question