Versão atual:

Alterar consulta F3 em tempo de execução no MVC

Tenho um campo que armazena o código do cliente ou do fornecedor, da mesma forma que existe no pedido de venda. O que estou precisando é que ao abrir a tela para alteração a consulta padrão dele seja configurada de acordo com o tipo da nota.

Estou criando o meu formulário com a função para ser chamada após o formulário ser carregado:

Local oModel := MPFormModel():New('DTIXMLMODEL', {|oModel| VldPre(oModel)})

Nessa função de validação estou tentando alterar a consulta F3

static function VldPre(oModel)    
    Local oEstru := Nil
    If oModel:GetOperation() == MODEL_OPERATION_UPDATE
        oEstru := oModel:GetModel('SDSMASTER'):GetStruct()    

        if oModel:GetValue('SDSMASTER', 'DS_TIPO') == "N"            
            oEstru:SetProperty('DS_FORNEC', MVC_VIEW_TITULO, "Fornecedor")
            oEstru:SetProperty('DS_FORNEC', MVC_VIEW_LOOKUP, "SA2")
        else
            oEstru:SetProperty('DS_FORNEC', MVC_VIEW_TITULO, "Cliente")
            oEstru:SetProperty('DS_FORNEC', MVC_VIEW_LOOKUP, "SA1")
        EndIf
    EndIf
return .T.

Só que dessa forma aparece o erro:

erro no parâmetroFWFormViewStruct: Campo:DS_FORNEC não encontrado. on FWFORMMODELSTRUCT:SETPROPERTY(FWFORMMODELSTRUCT.PRX) 12/07/2019 17:27:31 line : 554

Mas o campo DS_FORNEC existe.

Versão (1):

Ver a versão formatada

Alterar consulta F3 em tempo de execução no MVC

Comentário

new question