Versão atual:

Grid não mostra os registros salvos ao Alterar/Visualizar

Olá pessoal,

Tenho um problema na minha tela MVC modelo X, onde tenho 4 grids... Acontece que quando vou salvar os registros ao (INCLUIR) os registros não aparecem quando vou visualizar.

Em (Alteração) também não....fazendo alguns testes, percebi que ele está salvando em cada grid um de cada vez. então ele salva na primeira grid, faço qualquer alteração na tela independente de qual grid, ele salva a segunda, e assim por diante. Toda vez que confirmo a alteração ele vai salvando as alterações ...

Alguém poderia me dizer se é algum problema no ModelDef, algo que cause esse erro em salvar registros em MVC.

/ REGRAS DE NEGÓCIO
Static Function ModelDef()
    // INSTANCIA O MODELO
    Local oModel := MPFormModel():New("ProAmbM",,,,)
    // INSTANCIA OS SUBMODELOS
    Local oStruZZG := FwFormStruct(1, "ZZG")//GRUPO CONTROLADORIA
    Local oStruZZH := FwFormStruct(1, "ZZH")//EMPRESA/FILIAL
    Local oStruZZI := FwFormStruct(1, "ZZI")//NCM
    Local oStruZZJ := FwFormStruct(1, "ZZJ")//CFOP
    Local oStruZZK := FwFormStruct(1, "ZZK")//CST
    Local oStruZZL := FwFormStruct(1, "ZZL")//TES
    //ARRAYS DOS GATILHOS CAMPOS DUPLICADA TES E ESTOQUE TES.
    //Local aAux := {}
    //Local aEst := {}


    // DEFINE SE OS SUBMODELOS SERÃO FIELD OU GRID
    oModel:AddFields("ZZGMASTER",  NIL,      oStruZZG)//GRUPO CONTROLADORIA
    oModel:AddGrid("ZZHDETAIL", "ZZGMASTER", oStruZZH)//EMPRESA/FILIAL
    oModel:AddGrid("ZZIDETAIL", "ZZHDETAIL", oStruZZI)//NCM
    oModel:AddGrid("ZZJDETAIL", "ZZIDETAIL", oStruZZJ)//CFOP
    oModel:AddGrid("ZZKDETAIL", "ZZJDETAIL", oStruZZK)//CST
    oModel:AddGrid("ZZLDETAIL", "ZZKDETAIL", oStruZZL)//TES

    //DEFINIÇÕES DOS CAMPOS
    oStruZZG:SetProperty('ZZG_GRUPO',  MODEL_FIELD_VALID,   FwBuildFeature(STRUCT_FEATURE_VALID,  'ExistChav("ZZG", M->ZZG_GRUPO)'))  //Validação de Campo, não deixa repetir Grupo Contro já cadastrado.

    oStruZZH:SetProperty('ZZH_CODEMP', MODEL_FIELD_VALID,   FwBuildFeature(STRUCT_FEATURE_VALID,  'u_zEMP()'))
    oStruZZI:SetProperty('ZZI_NCM',    MODEL_FIELD_VALID,   FwBuildFeature(STRUCT_FEATURE_VALID,  'u_zNCM()'))
    oStruZZJ:SetProperty('ZZJ_CFOP',   MODEL_FIELD_VALID,   FwBuildFeature(STRUCT_FEATURE_VALID,  'u_zCfop()'))
    oStruZZK:SetProperty('ZZK_CSTICM', MODEL_FIELD_VALID,   FwBuildFeature(STRUCT_FEATURE_VALID,  'u_zCst()'))
    oStruZZL:SetProperty('ZZL_TES',    MODEL_FIELD_VALID,   FwBuildFeature(STRUCT_FEATURE_VALID,  'u_zTES()'))
    oStruZZL:SetProperty('ZZL_CF',     MODEL_FIELD_VALID,   FwBuildFeature(STRUCT_FEATURE_VALID,  'u_zCfopT()'))

    //oStruZZL:SetProperty('ZZL_DESTES', MODEL_FIELD_INIT,   FwBuildFeature(STRUCT_FEATURE_INIPAD,  'U_iTST()'))//Ini Padrão

    //CAMPO CHECKBOX STATUS
    oStruZZH:AddField('STATUS','','STATUS','L',1,0,,,{},.F.,FWBuildFeature(STRUCT_FEATURE_INIPAD,".F."))
    oStruZZI:AddField('STATUS','','STATUS','L',1,0,,,{},.F.,FWBuildFeature(STRUCT_FEATURE_INIPAD,".F."))
    oStruZZJ:AddField('STATUS','','STATUS','L',1,0,,,{},.F.,FWBuildFeature(STRUCT_FEATURE_INIPAD,".F."))
    oStruZZK:AddField('STATUS','','STATUS','L',1,0,,,{},.F.,FWBuildFeature(STRUCT_FEATURE_INIPAD,".F."))
    oStruZZL:AddField('STATUS','','STATUS','L',1,0,,,{},.F.,FWBuildFeature(STRUCT_FEATURE_INIPAD,".F."))


    //ADICIONA CAMPOS DA TES, DUPLICADA E ESTOQUE.
    oStruZZL:AddField( 'X_DUP' , 'X_DUP' , 'X_DUP' , 'C' ,1,0,,,{},.F.,FWBuildFeature(STRUCT_FEATURE_INIPAD,'IIF(!INCLUI,POSICIONE("SF4",1,XFILIAL("SF4")+ZZL->ZZL_TES,"F4_DUPLIC"),"")'))//Ini Padrão

    oStruZZL:AddField( 'X_EST' , 'X_EST' , 'X_EST' , 'C' ,1,0,,,{},.F.,FWBuildFeature(STRUCT_FEATURE_INIPAD,'IIF(INCLUI,"",POSICIONE("SF4",1,FwXFilial("SF4")+ZZL->ZZL_TES,"F4_ESTOQUE"))'))//Ini Padrão

    //GATILHO DO CAMPO DUPLICADA TES.
    aAux := FwStruTrigger(;
                    'ZZL_TES' ,;                    //Campo Origem
                    'X_DUP' ,;                        //Campo Destino
                    'SF4->F4_DUPLIC',;                //Regra de Preenchimento
                    .T.,;                            //Irá Posicionar?
                    'SF4' ,;                        //Alias de Posicionamento
                    1,;                                //Índice de Posicionamento
                    'FwXFilial("SF4")+M->ZZL_TES',;    //Chave de Posicionamento
                    NIL,;                           //Condição para execução do gatilho
                   "003");                          //Sequência do gatilho

            oStruZZL:AddTrigger( ;
                aAux[1] , ; // [01] identificador (ID) do campo de origem
                aAux[2] , ; // [02] identificador (ID) do campo de destino
                aAux[3] , ; // [03] Bloco de código de validação da execução do gatilho
                aAux[4] )   // [04] Bloco de código de execução do gatilho

    //GATILHO DO CAMPO ESTOQUE TES.
    aEst := FwStruTrigger(;
                    'ZZL_TES' ,;                    //Campo Origem
                    'X_EST' ,;                        //Campo Destino
                    'SF4->F4_ESTOQUE',;                //Regra de Preenchimento
                    .T.,;                            //Irá Posicionar?
                    'SF4' ,;                        //Alias de Posicionamento
                    1,;                                //Índice de Posicionamento
                    'FwXFilial("SF4")+M->ZZL_TES',;    //Chave de Posicionamento
                    NIL,;                           //Condição para execução do gatilho
                   "004");                          //Sequência do gatilho

            oStruZZL:AddTrigger( ;
                aEst[1] , ; // [01] identificador (ID) do campo de origem
                aEst[2] , ; // [02] identificador (ID) do campo de destino
                aEst[3] , ; // [03] Bloco de código de validação da execução do gatilho
                aEst[4] )   // [04] Bloco de código de execução do gatilho        


    //DEFININDO A RELAÇÃO ENTRE OS MODELOS
    oModel:SetPrimaryKey({'ZZG_FILIAL','ZZG_GRUPO','ZZG_ESPECI'})//Setando Primary Key

    oModel:SetRelation("ZZHDETAIL",{{"ZZH_FILIAL", "FwXFilial('ZZH')"}, {"ZZH_GRUPO", "ZZG_GRUPO"},{"ZZH_ESPECI","ZZG_ESPECI"}}, ZZH->(IndexKey(1)))
    oModel:GetModel('ZZHDETAIL'):SetUniqueLine({'ZZH_FILIAL','ZZH_GRUPO','ZZH_ESPECI','ZZH_CODEMP','ZZH_CRPISC'})

    oModel:SetRelation("ZZIDETAIL",{{"ZZI_FILIAL", "FwXFilial('ZZI')"}, {"ZZI_GRUPO", "ZZH_GRUPO"},{"ZZI_ESPECI", "ZZH_ESPECI"},{"ZZI_CODEMP","ZZH_CODEMP"},{"ZZI_CRPISC","ZZH_CRPISC"}}, ZZI->(IndexKey(1)))
    oModel:GetModel('ZZIDETAIL'):SetUniqueLine({'ZZI_FILIAL','ZZI_GRUPO','ZZI_ESPECI','ZZI_CODEMP','ZZI_CRPISC','ZZI_NCM'})

    oModel:SetRelation("ZZJDETAIL",{{"ZZJ_FILIAL", "FwXFilial('ZZJ')"}, {"ZZJ_GRUPO", "ZZI_GRUPO"},{"ZZJ_ESPECI", "ZZI_ESPECI"},{"ZZJ_CODEMP","ZZI_CODEMP"},{"ZZJ_CRPISC","ZZI_CRPISC"},{"ZZJ_NCM","ZZI_NCM"}}, ZZJ->(IndexKey(1)))
    oModel:GetModel('ZZJDETAIL'):SetUniqueLine({'ZZJ_FILIAL','ZZJ_GRUPO','ZZJ_ESPECI','ZZJ_CODEMP','ZZJ_CRPISC','ZZJ_NCM','ZZJ_CFOP'})

    oModel:SetRelation("ZZKDETAIL",{{"ZZK_FILIAL", "FwXFilial('ZZK')"}, {"ZZK_GRUPO", "ZZJ_GRUPO"},{"ZZK_ESPECI", "ZZJ_ESPECI"},{"ZZK_CODEMP","ZZJ_CODEMP"},{"ZZK_CRPISC","ZZJ_CRPISC"},{"ZZK_NCM","ZZJ_NCM"},{"ZZK_CFOP","ZZJ_CFOP"}}, ZZK->(IndexKey(1)))
    oModel:GetModel('ZZKDETAIL'):SetUniqueLine({'ZZK_FILIAL','ZZK_GRUPO','ZZK_ESPECI','ZZK_CODEMP','ZZK_CRPISC','ZZK_NCM','ZZK_CFOP','ZZK_CSTICM'})

    oModel:SetRelation("ZZLDETAIL",{{"ZZL_FILIAL", "FwXFilial('ZZL')"}, {"ZZL_GRUPO", "ZZK_GRUPO"},{"ZZL_ESPECI", "ZZK_ESPECI"},{"ZZL_CODEMP","ZZK_CODEMP"},{"ZZL_CRPISC","ZZK_CRPISC"},{"ZZL_NCM","ZZK_NCM"},{"ZZL_CFOP","ZZK_CFOP"},{"ZZL_CSTICM","ZZK_CSTICM"}}, ZZL->(IndexKey(1)))
    oModel:GetModel('ZZLDETAIL'):SetUniqueLine({'ZZL_FILIAL','ZZL_GRUPO','ZZL_ESPECI','ZZL_CODEMP','ZZL_CRPISC','ZZL_NCM','ZZL_CFOP','ZZL_CSTICM','ZZL_TES'})

    //DESCRIÇÃO DO MODELO
    oModel:SetDescription("Controle de Produtos")

    //DESCRIÇÃO DOS SUBMODELOS
    oModel:GetModel("ZZGMASTER"):SetDescription("Grupo de Controladoria")
    oModel:GetModel("ZZHDETAIL"):SetDescription("Empresa/Filial")
    oModel:GetModel("ZZIDETAIL"):SetDescription("NCM")
    oModel:GetModel("ZZJDETAIL"):SetDescription("CFOP")
    oModel:GetModel("ZZKDETAIL"):SetDescription("CST")
    oModel:GetModel("ZZLDETAIL"):SetDescription("TES")

Return (oModel)

incluir.jpg

alterar.jpg

Versões (4):

Ver a versão formatada

Grid não mostra os registros salvos ao Alterar/Visualizar

Comentário

new question