Em uma customização, estou querendo exibir a nova tela de cadastro de clientes em MVC da rotina CRMA980.
Estou usando FWExecView para chamar a View estabelecida em meu fonte
FWExecView("Confirmação de cadastro","MEU_FONTE_CUSTOMIZADO",MODEL_OPERATION_INSERT,,{|| .T.})
A função viewdef está assim no fonte referenciado no FWExecView
Static Function ViewDef()
Local oView
Local oModel := FWLoadModel("CRMA980")
oView := FWLoadView("CRMA980")
oView:SetModel(oModel)
return oView
A tela em MVC é aberta, porém em meu código não consigo utilizar GetValue para pegar o valor dos campos.
Ex, esse código retorna nulo
oModel:GetValue("SA1MASTER","A1_COD")
Eu peguei o nome do ID do modelo (SA1MASTER) com o método oModel:GetDependency().
Também tentei e não tive resultado
oModel:GetValue("CRMA980","A1_COD")
Edit
O que estava faltando era essa linha
oModel:Activate()
Sem ativar o modelo não é possível usar o método GetValue. Agora está funcionando.
Veja se consegue com o FWFldGet() Exemplo: FWFldGet("A1_COD")
— thiago.andrrade 30 de May de 2022Opa. Tentei sua sugestão, ainda retornando nulo. Tentei oModel:FWFldGet("A1_COD") e FWFldGet("A1_COD") somente. Também tentei oModel:GetModel("SA1MASTER"):FWFldGet("A1_COD")/ oModel:GetModel("CRMA980"):FWFldGet("A1_COD")
— Thyago 30 de May de 2022Tenta com o GetValue, considerando que já declarou o oModel:GetModel("SA1MASTER") >>>>>>> Exemplo: oModel:GetValue('A1_COD')
— thiago.andrrade 31 de May de 2022Valeu Thiago, mas o problema era realmente que eu não havia ativado o modelo. Depois que usei oModel:Activate() funcionou! Valeu.
— Thyago 01 de Jun de 2022