/*
PTESVOLFIN - VOLTA FINANCEIRO ZERADO
Cliente usa lançamentos zerados em determinada situação
Apagar gerou problema
*/
PROCEDURE PTESVOLFIN
LOCAL nCont, cnSQL := ADOClass():New( AppConexao() )
SayScroll( "2020/04/24 - Financeiro faltando" )
IF ! AbreArquivos( "jpfinan" )
RETURN
ENDIF
SET ORDER TO 0
GOTO TOP
GrafTempo( "Financeiro" )
DO WHILE ! Eof()
GrafTempo( RecNo(), LastRec() )
Inkey()
WITH OBJECT cnSQL
:cSQL := "SELECT COUNT(*) AS QTD FROM JPFINAN WHERE IDFINAN = " + NumberSQL( jpfinan->idFinan )
:Execute()
IF :Number( "QTD" ) == 0
:QueryCreate()
FOR nCont = 1 TO FCount()
:QueryAdd( FieldName( nCont ), FieldGet( nCont ) )
NEXT
:QueryExecuteInsert( "JPFINAN" )
ENDIF
:CloseRecordset()
ENDWITH
SKIP
ENDDO
CLOSE DATABASES
MsgExclamation( "Fim" )
RETURN
Até mostrei por aqui um problema com DBF estragado, que foi convertido pra MySQL.
A solução, pra que não impedisse mexer na estrutura foi apagar zerados.
Até aà ok.
Mas.... um cliente usava lançamentos zerados.... resultado: apagou dados úteis em outro cliente
Como apaguei só no MySQL, tudo bem, pegar de volta do DBF.
Mas isso me fez pensar: e quando não tiver mais DBF?
Aquilo de registro só ser apagado no PACK em DBFs, pode fazer falta, em determinadas situações....
Será uma doideira, mas pode ser interessante guardar tudo que for excluÃdo/alterado
Com certeza STORED PROCEDURE facilita isso.
Com certeza se torna um ótimo log de tudo que foi alterado/excluÃdo.
Dá pra criar uma opção do usuário desfazer algo que tenha feito errado....
Mas.... será exagero? haja espaço....
Fico pensando....
Isso é só porque estava acostumado a ter isso no DBF, ou realmente é necessário?