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.