Versão atual:

variable does not exist OMODELGRID on U_RETPR

Bom dia, estou com problemas em uma função para preencher um campo do cabeçalho de uma tela

chamei essa função dentro da validação do código do produto só que quando chama, ela não reconhece o oModelGrid Retornando esse erro: THREAD ERROR ([27992], TI_01, TI_01) 31/05/2024 10:59:23 variable does not exist OMODELGRID on U_RETPR(PROMDOMA.PRW) 31/05/2024 10:55:53 line : 117

função de validação e a função criada:

Static Function ModelDef()

Local oModel := Nil Local oStPai := FWFormStruct(1, "SZH") Local oStFilho := FWFormStruct(1, "SZI") Local aSZIRel := {}

//Definições dos campos oStPai:SetProperty("ZH_DATAINI" , MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_DATAINI() .AND. U_VldCabZH()" )) //VALIDAÇÃO DO CAMPO oStPai:SetProperty("ZH_DATAFIM" , MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_DATAINI() .AND. U_VldCabZH()" )) //VALIDAÇÃO DO CAMPO oStPai:SetProperty("ZH_TIPOPRO" , MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_VldCabZH()" )) //VALIDAÇÃO DO CAMPO oStPai:SetProperty("ZH_STATUS" , MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_PROMOK()" )) //VALIDAÇÃO DO CAMPO

// validações para concatenar o nome da promoção oStPai:SetProperty("ZH_TIPOPRO" , MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_VldCabZH()")) //VALIDAÇÃO DO CAMPO oStPai:SetProperty("ZH_TABPRC" , MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_VldCabZH()")) //VALIDAÇÃO DO CAMPO // fim das valições para concatenar nome da promoção

//oStPai:SetProperty("ZI_" , MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_VldCabZH()")) //VALIDAÇÃO DO CAMPO oStFilho:SetProperty("ZI_ITEM" , MODEL_FIELD_INIT , FwBuildFeature(STRUCT_FEATURE_INIPAD, "U_INITEMZI()"))//inicializador padrão //oStFilho:SetProperty("ZI_CODPROD", MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_EXTPROM(M->ZI_CODPROD, M->ZH_TABPRC)")) //VALIDAÇÃO DO CAMPO oStFilho:SetProperty("ZI_CODPROD", MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_EXTPROM(M->ZI_CODPROD, M->ZH_TABPRC) .and. U_RetPr()")) //VALIDAÇÃO DO CAMPO oStFilho:SetProperty("ZI_DTVALID", MODEL_FIELD_VALID, FwBuildFeature(STRUCT_FEATURE_VALID , "U_DiasProm(.T.,,M->ZI_CODPROD,M->ZI_DTVALID)")) //VALIDAÇÃO DO CAMPO

// TudoOkZH static function chamada na validação total do formulário oModel := MPFormModel():New("MODELSZH", , {|oModel| TudoOkZH(oModel)}) oModel:AddFields("SZHMASTER", , oStPai,,) oModel:AddGrid("SZIDETAIL", "SZHMASTER", oStFilho,/bLinePre/, {|oModelGrid| LinOk(oModelGrid)}/VALIDAÇÃO DA LINHA/,,/bPos - Grid Inteiro/,/bLoad - Carga do modelo manualmente/)

//Fazendo relacionamento entre pai e filho aAdd(aSZIRel, {"ZI_FILIAL" , "ZH_FILIAL"}) aAdd(aSZIRel, {"ZI_CODPROM", "ZH_CODIGO"})

oModel:SetRelation("SZIDETAIL", aSZIRel, SZI->(IndexKey(1))) oModel:SetPrimaryKey({})

oModel:SetDescription("Cadastro de Promoções - DOMA") oModel:GetModel("SZHMASTER"):SetDescription("Cadastro") oModel:GetModel("SZIDETAIL"):SetDescription("Produtos")

Return(oModel)


User Function RetPr() // função para ser acionada após digitação do ZI_CODPROD


Local cDsc := ""

Local oModel:= FwModelActive() // Define oModel

Local cProd := oModelGrid:GetValue("ZI_CODPROD")// Pega o codigo digitado na grid

cDsc := RetTpProm(M->ZH_TIPOPRO,cProd) // chama a função para pegar a descriçao

oModel:SetValue("SZHMASTER", "ZH_DESCRI", cDsc) // Atualiza ZH_DESCRI

return .t.

Versões (2):

Ver a versão formatada

variable does not exist OMODELGRID on U_RETPR

  • criado 31 de May de 2024

Comentário

new question