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.