07 Jan 2015 20:44
cQuery = "SELECT a00ecf.marecf, a00ecf.nrfecf, a00ecf.identi, " + ;
"SUM(a03ped.TOTPED) as Total " + ;
"FROM a03ped " + ;
"INNER JOIN a00ecf ON ( a03ped.ecfnrf=a00ecf.nrfecf ) " + ;
"WHERE a03ped.is_deleted = 'N' AND a03ped.flgcan='N' AND a03ped.datemi>='&vDataI_' AND a03ped.datemi<='&vDataF_'" + ;
"GROUP BY a03ped.ecfnrf"
GERA_TAB()
use &dbftmp as cQuery NEW SCROLLABLE
DbGoTop()
Do While !Eof()
nTotalGeral += total
@ PROW() + 01, 01 SAY NRFECF
@ PROW() , 23 SAY Left(MARECF,15)
@ PROW() , 45 SAY IDENTI
@ PROW() , 66 SAY Total Pict "@E 99,999,999.99"
DbSkip()
Enddo
Use
@ PROW() + 01, 50 SAY "Total --->>>"
@ PROW() , 65 SAY nTotalGeral Pict "@E 999,999,999.99"
aCampos := {}
aAdd( aCampos , { "NRFECF" , "C" , 21 , 0 } )
aAdd( aCampos , { "MARECF" , "C" , 15 , 0 } )
aAdd( aCampos , { "IDENTI" , "C" , 15 , 0 } )
aAdd( aCampos , { "TOTAL" , "N" , 15 , 2 } )
dbCreate( "mem:test", aCampos, "DBFCDX" , .T., "memarea" )
INDEX ON NRFECF TAG CHAVE1
SELECT PEDIDO
DBSETORDER(7)
DBGOTOP()
OrdScope( 0, Dtos(vDATAi) )
OrdScope( 1, Dtos(vDATAf) )
DBGOTOP()
Do While !Eof()
If FlgCan = "S"
DbSkip()
Loop
Endif
If EcfFab != pedido->ecfnrf
Select Ecf
DbSetOrder(2)
DbGoTop()
DbSeek( pedido->ecfnrf )
Endif
EcfFab = pedido->ecfnrf
Select MemArea
DbAppend()
replace NRFECF with pedido->ECFNRF ,;
MARECF with ecf->marecf ,;
IDENTI with ecf->identi ,;
TOTAL with pedido->TOTPED
Select Pedido
DbSkip()
Enddo
OrdScope( 0, nil )
OrdScope( 1, nil )
Select MemArea
DBSETORDER(1)
GOTO TOP
Do While !Eof()
xEcf = NrfEcf
xTotal = 0
@ PROW() + 01, 01 SAY NRFECF
@ PROW() , 23 SAY Left(MARECF,15)
@ PROW() , 45 SAY IDENTI
Do While xEcf = NrfEcf
xTotal = xTotal + Total
DbSkip()
Enddo
nTotalGeral += xtotal
@ PROW() , 66 SAY xTotal Pict "@E 99,999,999.99"
Enddo
Close memarea
dbDrop( "mem:test" ) // Free memory
@ PROW() + 01, 50 SAY "Total --->>>"
@ PROW() , 65 SAY nTotalGeral Pict "@E 999,999,999.99"
INDEX ON PEDIDO TAG CHAVE1
INDEX ON STR(CODCLI)+DTOS(DATEMI) TAG CHAVE2
INDEX ON FLGIMP TAG CHAVE3
INDEX ON STR(CODVED)+DTOS(DATEMI) TAG CHAVE4
INDEX ON STR(CODPRZ)+DTOS(DATEMI) TAG CHAVE5
INDEX ON STR(CODCLI)+DESCEND(STR(PEDIDO)) TAG CHAVE6
INDEX ON DTOS(DATEMI) TAG CHAVE7
INDEX ON ECFNRF+Dtos(EMIDAT)+Str(COONUM) TAG CHAVE8
07 Jan 2015 21:02
07 Jan 2015 21:56
08 Jan 2015 09:55
08 Jan 2015 11:12
08 Jan 2015 23:25
09 Jan 2015 08:59
09 Jan 2015 11:28
09 Jan 2015 12:46
09 Jan 2015 16:36
12 Jan 2015 11:21
12 Jan 2015 11:59
12 Jan 2015 12:20
13 Jan 2015 18:41
cSql := "SELECT * FROM banco WHERE data > " + Quoted( DateSql( Data ) )
FUNCTION Quoted( cString )
RETURN ['] + cString + {'}
FUNCTION DateSql( dData )
IF Empty( dData )
// mysql strict mode
RETURN "NULL"
// RETURN Quoted( "0000-00-00" )
ENDIF
RETURN Quoted( Transform( Dtos( dData ), "@R 9999-99-99" ) )
15 Jun 2015 15:38