Pular para o conteúdo
Início » Advpl GetAdvFval

Advpl GetAdvFval

    Tipo: Processamento
    Esta função permite executar uma pesquisa em um arquivo, pela chave especificada e na ordem especificada,
    retornando o conteúdo de um ou mais campos.
    Sintaxe
    GetAdvFVal(cAlias,uCpo,uChave,nOrder,uDef)
    Parâmetros
    cAlias – Alias do arquivo.
    uCpo – Nome de um campo ou array contendo os nomes dos campos
    desejados.
    uChave – Chave para a pesquisa.
    nOrder – Ordem do indice para a pesquisa.
    uDef – Valor ou array “default” para ser retornado caso a chave não seja encontrada.
    Retorna
    uRet – Retorna o conteúdo de um campo ou array com o conteúdo de vários campos.
    Exemplo
    // Exemplo de uso da funcao GetAdvFVal:
    // Obtendo apenas de um campo:
    cChave := SD2->D2_COD+SD2->D2_LOCAL
    cDesc := GetAdvFVal(“SB1”,”B1_DESC”,cChave,1,SC6->C6_DESCRI)
    // Obtendo o conteudo de mais de um campo:
    cChave := SD2->D2_COD+SD2->D2_LOCAL
    aCpos := {“B1_DESC”,”B1_PRV1",”B1_UM”}
    aDados := GetAdvFVal(“SB1”,aCpos,cChave,1,{SC6->C6_DESCRI,SC6->C6_PRCVEN,SC6->C6_UM})
    refere-se aos Itens do Pedido de Venda) e, após pesquisar no SB1 (Cadastro de Produtos), sugerir a quantidade
    vendida a partir de um campo específico:
    // Colunas…
    nPosCod := aScan(aHeader,{ |x| Upper(AllTrim(x[2])) == “C6_PRODUTO” })
    nPosQtd := aScan(aHeader,{ |x| Upper(AllTrim(x[2])) == “C6_QTDVEN” })
    // Obtém o código do produto
    cCodigo := aCols[n,nPosCod]
    // Pesquisa
    dbSelectArea(“SB1”)
    dbSetOrder(1)
    dbSeek(xFilial(“SB1”)+cCod)
    // Altera a quantidade no grid
    aCols[n,nPosQtd] := SB1->B1_QTSUGER // Campo específico com a quantidade
    padrão
    __Return(SB1->B1_QTSUGER)
    Para uma melhor compreensão, você pode analisar os programas RDMOD2.PRX e/ou RDMOD3.PRX que acompanham
    o SIGA Advanced. Eles estão no diretório principal do sistema (geralmente \SIGAADV\) e demonstram rotinas usadas
    para cadastros semelhantes ao Pedido de Vendas e que trabalham com os arrays mencionados.