Página 1 de 1
Imprimir lancamentos deletados.
Enviado: 13 Mar 2013 16:28
por marcos.gurupi
Caros, um cliente me pedio um relatorio de pedidos excluidos, qual eh o comando que eu poderia usar para filtrar apenas lancamentos deletados ? Ou serah que quando usuario excluir algum lancamento o sistema terah q marca-lo como excluido para efeito do relatorio ? Obrigado.
Imprimir lancamentos deletados.
Enviado: 13 Mar 2013 16:52
por Jairo Maia
Olá Marcos,
Acho que você pode fazer assim: Primeiro, você precisa permitir que os registros deletados sejam vistos no indice, depois use a função Dele():
Código: Selecionar todos
ldeleted := SET( _SET_DELETED, .F. )
INDEX ON Dele() [TAG <ctag>] TO <cFile>
SET( _SET_DELETED, ldeleted )
Imprimir lancamentos deletados.
Enviado: 14 Mar 2013 13:29
por marcos.gurupi
Obrigado Jairo por responder.
Eu consigo somente criando um INDEX ?
Imprimir lancamentos deletados.
Enviado: 15 Mar 2013 05:06
por Jairo Maia
Olá Marcos,
Não! Mesmo numa tabela não indexada, a qualquer momento você pode testar se o registro foi deletado. Para testar se o registro corrente está deletado basta usar:
Código: Selecionar todos
If Dele()
Hb_Alert( "Registro " + LTrim( Str( Recn() ) ) + " está excluido" )
Endi
O que é necessário, independente se área indexada ou não, é que o _SET_DELETED esteja setado como .F., que é o padrão do Clipper/[x]Harbour. Se ele estiver setado como .T., os registros deletados serão ignorados pelo sistema.
Imprimir lancamentos deletados.
Enviado: 15 Mar 2013 16:07
por marcos.gurupi
Entaum Jairo isso mata a charada pq ao fazer o rel. eh soh colocar esse IF...
vlw amigo.
Imprimir lancamentos deletados.
Enviado: 15 Mar 2013 17:49
por Pablo César
Claro que dessa forma, você vai ter que varrer (num laço de repetição como DO WHILE EOF com skip) o dbf todo. E a primeira sugestão do Jairo, iria ser mais rápido o processamento. Tudo isso levando em conta se for um arquivo de uma quantidade de registros considerável.