21 Set 2019 20:51
STATIC FUNCTION ImportaFinanceiro( oElement, oNFe, mCliCod, nParcela )
LOCAL IDFinanceiro, cnMySql := ADOClass():New( AppcnMySqlLocal() )
SELECT jpfinan
OrdSetFocus( "numlan" )
IDFinanceiro := NovoCodigo( "jpfinan->fiNumLan" )
RecAppend()
REPLACE ;
jpfinan->fiNumLan WITH IDFinanceiro, ;
jpfinan->fiTipLan WITH iif( oNFE:Emitente:Cnpj == jpempre->emCnpj, "1", "2" ), ;
jpfinan->fiNumDoc WITH oNFE:cNumDoc, ; // 9 digitos
jpfinan->fiDatEmi WITH oNFE:DataEmissao, ;
jpfinan->fiParcela WITH StrZero( nParcela, 3 ), ;
jpfinan->fiCliFor WITH mCliCod, ;
jpfinan->fiSacado WITH mCliCod, ;
jpfinan->fiValor WITH oElement:Valor, ;
jpfinan->fiDatVen WITH oElement:Vencimento, ;
jpfinan->fiDatEmi WITH oNFE:DataEmissao, ;
jpfinan->fiPedido WITH jppedi->pdPedido, ;
jpfinan->fiInfInc WITH LogInfo()
RecUnlock()
WITH OBJECT cnMySql
:QueryCreate()
:QueryAdd( "FINUMLAN", IDFinanceiro )
:QueryAdd( "FITIPLAN", iif( oNFE:Emitente:Cnpj == jpempre->emCnpj, "1", "2" ) )
:QueryAdd( "FINUMDOC", oNFE:cNumDoc )
:QueryAdd( "FIDATEMI", oNFE:DataEmissao )
;QueryAdd( "FIPARCELA", StrZero( nParcela, 3 ) )
:QueryAdd( "FICLIFOR", mCliCod )
:QueryAdd( "FISACADO", mCliCod )
;QueryAdd( "FIVALOR"< oElement:Valor )
:QueryAdd( "FIDATVEN", oELement:Vencimento )
:QueryAdd( "FIDATEMI", oNFE:DataEmissao )
:QueryAdd( "FIPEDIDO", jppedi->PdPedido )
:QueryAdd( "FIINFINC", LogInfo() )
:QueryExecuteInsert( "JPFINAN" )
ENDWITH
RETURN NIL
// QueryCreate()
aList := {}
// QueryAdd()
AAdd( aList, { "CODIGO", 10 } )
AAdd( aList, { "NOME", "JOSE" } )
//QueryExecuteInsert()
RecLock()
FOR EACH oElement IN aList
REPLACE &( oElement[ 1 ] ) WITH oElement[ 2 ]
// FieldPut( FIeldNum( oElement[ 1 ] ), oElement[ 2 ] )
NEXT
RecUnLock()
22 Set 2019 02:26
STATIC FUNCTION ImportaFinanceiro( oElement, oNFe, mCliCod, nParcela )
LOCAL IDFinanceiro, cnMySql := ADOClass():New( AppcnMySqlLocal() )
SELECT jpfinan
OrdSetFocus( "numlan" )
IDFinanceiro := NovoCodigo( "jpfinan->fiNumLan" )
WITH OBJECT cnMySql
:QueryCreate()
:QueryAdd( "FINUMLAN", IDFinanceiro )
:QueryAdd( "FITIPLAN", iif( oNFE:Emitente:Cnpj == jpempre->emCnpj, "1", "2" ) )
:QueryAdd( "FINUMDOC", oNFE:cNumDoc )
:QueryAdd( "FIDATEMI", oNFE:DataEmissao )
;QueryAdd( "FIPARCELA", StrZero( nParcela, 3 ) )
:QueryAdd( "FICLIFOR", mCliCod )
:QueryAdd( "FISACADO", mCliCod )
;QueryAdd( "FIVALOR"< oElement:Valor )
:QueryAdd( "FIDATVEN", oELement:Vencimento )
:QueryAdd( "FIDATEMI", oNFE:DataEmissao )
:QueryAdd( "FIPEDIDO", jppedi->PdPedido )
:QueryAdd( "FIINFINC", LogInfo() )
:QueryDBFExecuteInsert() /// aqui insere no DBF
:QueryExecuteInsert( "JPFINAN" ) /// aqui insere no MySQL
ENDWITH
RETURN NIL
22 Set 2019 20:22
FOR nCont = 1 TO FCount()
cNome := FieldName( nCont )
PUBLIC m&cNome
m&cNome := &cNome
NEXT
...
FOR nCont = 1 TO FCount()
cNome := FieldName( nCont )
REPLACE &cNome WITH m&cNome
NEXT
23 Set 2019 04:34
#define GRAVA_DBF .T.
#define GRAVA_MYSQL .T.
WITH OBJECT cnMySql
:QueryCreate()
:QueryAdd( "ESNUMLAN", "SALDO" )
:QueryAdd( "ESNUMDOC", "SALDO" )
:QueryAdd( "ESITEM", cItem )
:QueryAdd( "ESOBS", "SALDO NESTA DATA" )
:QueryAdd( "ESTIPLAN", iif( oElement[ 1 ] > 0, "2", "1" ) )
:QueryAdd( "ESDATLAN", dDataLimite - 1 )
:QueryAdd( "ESNUMDEP", Str( oElement:__EnumIndex, 1 ) )
:QueryAdd( "ESQTDE", Abs( oElement[ 1 ] ) )
:QueryAdd( "ESVALOR", Abs( oElement[ 2 ] ) / iif( oElement[ 1 ] == 0, 1, oElement[ 1 ] ) )
IF GRAVA_DBF
:DBFQueryExecuteInsert()
ENDIF
IF GRAVA_MYSQL
:QueryExecuteInsert( "JPESTOQ" )
ENDIF
ENDWITH
26 Set 2019 09:49
05 Out 2019 21:37
09 Out 2019 19:37
:ExecuteCmd( "DROP TABLE IF EXISTS BA_AUTO" )
:ExecuteCmd( "DROP TABLE IF EXISTS BA_GRUP" )
:ExecuteCmd( "DROP TABLE IF EXISTS BA_MOVI" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTDIARI" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTHISTO" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTLOTES" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTLANCA" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTPLANO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPBAMOVI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPCADAS" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPCLISTA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPCOMISS" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPDOLAR" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPESTOQ" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPFINAN" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPFINANC" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPFORPAG" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPITEM" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPITPED" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPLFISC" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPMDFCAB" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPMDFDET" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPMOTORI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPNOTA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPNUMERO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPPEDI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPPEDIDO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPPRECO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPPRONCM" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPREFCTA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPSENHA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPAGE" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPATI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPINS" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPLOC" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPOPE" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABEL" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTRANSA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTRANSP" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPUF" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPUSRMSG" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPVENDED" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPVEICUL" )
:ExecuteCmd( "DROP TABLE IF EXISTS RASTREA" )
10 Out 2019 00:10
12 Out 2019 22:57
:ExecuteCmd( "DROP TABLE IF EXISTS BA_AUTO" )
:ExecuteCmd( "DROP TABLE IF EXISTS BA_GRUP" )
:ExecuteCmd( "DROP TABLE IF EXISTS BA_MOVI" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTDIARI" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTHISTO" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTLOTES" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTLANCA" )
:ExecuteCmd( "DROP TABLE IF EXISTS CTPLANO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPANPMOV" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPBAMOVI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPBARRA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPCADAS" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPCLISTA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPCOMISS" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPDOLAR" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPEMPRE" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPESTOQ" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPFINAN" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPFINANC" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPFORPAG" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPIMPOS" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPITEM" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPITPED" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPLFISC" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPLOGNFE" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPMDFCAB" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPMDFDET" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPMOTORI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPNOTA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPNUMERO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPPEDI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPPEDIDO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPPRECO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPPRONCM" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPREFCTA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPSENHA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPAGE" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPATI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPINS" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPLOC" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPOPE" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABEL" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTRANSA" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTRANSP" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPUF" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPUSRMSG" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPVENDED" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPVEICUL" )
:ExecuteCmd( "DROP TABLE IF EXISTS RASTREA" )
LOCAL cFile, aList := { ;
"ba_auto.dbf", ;
"ba_grup.dbf", ;
"ba_movi.dbf", ;
"jpanpage.dbf", ;
"jpanpins.dbf", ;
"jpanpope.dbf", ;
"jpbarra.dbf", ;
"jpcarcor.dbf", ;
"jpcep.dbf", ;
"jpcfop.dbf", ;
"jpcotaca.dbf", ;
"jpcotcli.dbf", ;
"jpcotfor.dbf", ;
"jpcotpro.dbf", ;
"jpcte.dbf", ;
"jpdecret.dbf", ;
"jpdecret.cdx", ;
"jpdocrel.dbf", ;
"jpdocrel .dbf", ; // criou errado
"jpedicfg.dbf", ;
"jpfisica.dbf", ;
"jpibpt.dbf", ;
"jplicmov.dbf", ;
"jplogsi.dbf", ;
"jpnfbase.dbf", ;
"jpnfeger.dbf", ;
"jpnfexml.dbf", ;
"jpnotaca.dbf", ;
"jpordbar.dbf", ;
"jpordres.dbf", ;
"jpordser.dbf", ;
"jpprehis.dbf", ;
"jppromix.dbf", ;
"jpromcab.dbf", ;
"jpromdet.dbf", ;
"jptexto.dbf", ;
"jpvvdem.dbf", ;
"jpvvfin.dbf", ;
"nfbase.dbf", ;
"rastrea.dbf" }
FOR EACH cFile IN aList
IF File( cFile )
fErase( cFile )
ENDIF
NEXT
aList := Directory( "tmp*.dbf" )
FOR EACH cFile IN aList
fErase( cFile[ F_NAME ] )
NEXT
IF ! AppConexao() == NIL
IF File( "jpreguso.dbf" )
fErase( "jpreguso.dbf" )
ENDIF
ENDIF
#include "directry.ch"
#include "inkey.ch"
PROCEDURE Main
LOCAL aList := {}, cPath, aDbfList, oDbf, nPos, oFile
CLS
FOR EACH cPath IN ;
{ "assesor", "carbolub", "cicuto", "cordeiro", "crispetrol", ;
"dricar", "gargantua", "locafacil", "lubrivan", "maringa", ;
"peaton", "toppetro", "unifila", "waripaer" }
aDBFList := Directory( "d:\jpa\" + cPath + "\*.dbf" )
FOR EACH oDBF IN aDBFList
IF ( nPos := ASCan( aList, { | e | e[ 1 ] == Upper( oDBF[ F_NAME ] ) } ) ) == 0
AAdd( aList, { Upper( oDBF[ F_NAME ] ), 0, "" } )
nPos := Len( aList )
ENDIF
aList[ nPos, 2 ] += 1
aList[ nPos, 3 ] += cPath + ","
NEXT
NEXT
FOR EACH oFile IN aList
IF oFile[ 2 ] != 14
? oFile[ 1 ], oFile[ 2 ], oFile[ 3 ]
ENDIF
NEXT
? "Fim"
Inkey(0)
RETURN
25 Nov 2019 10:04
mTempFile := TempFileArray( 2 )
IF m_DeAte == 1
COPY TO ( mTempFile[ 1 ] ) FIELDS idFinan, fiDatVen, fiTipLan, fiNumDoc, fiParcela, ;
fiDatEmi, fiCliFor, fiValor, fiObs FOR ;
Empty( jpfinan->fiDatPag ) .AND. Empty( jpfinan->fiDatCan ) ;
.AND. GrafProc()
ELSE
COPY TO ( mTempFile[ 1 ] ) FIELDS idFinan, fiDatVen, fiTipLan, fiNumDoc, fiParcela, ;
fiDatEmi, fiCliFor, fiValor, fiObs FOR ;
jpfinan->fiDatVen >= m_Datai .AND. jpfinan->fiDatVen <= m_Dataf ;
.AND. Empty( jpfinan->fiDatPag ) .AND. Empty( jpfinan->fiDatCan ) ;
.AND. GrafProc()
ENDIF
SELECT 0
USE ( mTempFile[ 1 ] ) NEW ALIAS temp
INDEX ON Dtos( temp->fiDatVen ) + temp->fiTipLan + temp->fiNumDoc + temp->fiParcela to ( mTempFile[ 2 ] )
SELECT temp
GOTO TOP
DO WHILE nKey != K_ESC .AND. ! Eof()
cSql := "SELECT IDFINAN, FIDATVEN, FITIPLAN, FINUMDOC, FIPARCELA, FIDATEMI, FICLIFOR, FIVALOR, FIOBS " + ;
"FROM JPFINAN " + ;
"WHERE ISEMPTY( FIDATPAG ) AND ISEMPTY( FIDATCAN )"
IF m_DeAte == 2
cSql += " AND FIDATVEN BETWEEN " + DateSql( m_Datai ) + " AND " + DateSql( m_Dataf )
ENDIF
cSql += " ORDER BY FIDATVEN, FITIPLAN, FINUMDOC, FIPARCELA"
Temporario := Conexao:Execute( cSql )
DO WHILE nKey != K_ESC .AND. ! Temporario:Eof()