Função para obter registros da tabela SF2010

Estou precisando criar uma função que retorne os valores do campo F2_VALFAT da tabela SF2010, assim podendo chamar essa função dentro de outra função e exibir esses valores

Static Function GetFaturamentoGeral()

Local aValores := {}

// Abre a área da tabela SF2010 If !DbUseArea("SF2010", .T.) // O segundo parâmetro (.T.) indica para reindexar a área, se necessário MsgInfo("Erro ao abrir a área SF2010") Return aValores EndIf

// Loop para processar os registros While !Eof() // Adiciona o valor do campo F2_VALFAT à lista AAdd(aValores, {F2_VALFAT})

// Move para o próximo registro DbSkip() EndDo

// Fecha a área da tabela DBCloseArea()

Return aValores

Uma das opções que você pode usar é através de uma query:

local cQuery := "

local cAlias := getNextAlias()

local aValores := {}

cQuery := " SELECT F2_VALFAT " + CRLF

cQuery += " FROM " + retSqlTab("SF2") + CRLF

cQuery += AQUI A SUA Cláusula WHERE

TcQuery cQuery New Alias (cAlias)

while (cAlias)->(!eof())

aAdd(aValores, (cAlias)->F2_VALFAT)

(cAlias)->(DbSkip())

enddo

(cAlias)->(DbCloseArea())

Dessa forma você consegue guardar todos os valores dentro da variável aValores. Lembre-se que você pode tratar a query da melhor forma na sua clausula, incluindo não mostrar registros deletados, filial, uma data, etc. Faça um teste ai e dê um retorno se atende a sua necessidade.