rubens escreveu:Na minha tabela de produtos ficar armazenado a data da última compra e data da última venda..
Vou dizer como faço:
1-Registro em produtos, a última compra (em atualização de estoque) e também a última venda (a cada venda);
2-Tenho um Ãndice com o campo "ultvenda";
3-No menu de relatórios tem a opção de "Produtos não movimentados";
4-Apresenta uma janela perguntando há quantos MESES (01 a 99 - trabalho com 2 dÃgitos).
Se ele coloca por exemplo 6 (parados há 6 meses ou mais), pesquisa o indice +- dessa forma:
/*
Considerando que sua função abre o arquivo e Ãndices,
e já deixa o Ãndice desejado selecionado...
*/
AbreArquivo( "PRODUTOS", nOrdem )
dData := AddMonth( Date(), -nMeses ) // pega data inicial da pesquisa (nMeses foi o número de meses digitado)
DbSeek( dData, .T. ) // se não acha a data exata, para na mais próxima
aProdutos := {}
While ultvenda <= dData // inicia o loop
AaDd( aProdutos, { codprod, descprod, ultvenda, estoque } )
Skip
EndDo
If Len( aProdutos ) = 0
Hb_Alert( "Nenhum produto parado no perÃodo" )
Else
// monta o relatório...
EndIf