*EDITION DU JOURNAL DES VENTES
TITRE =" JOURNAL DES VENTES   "
DO TITRE
@ 6,0 CLEAR
set fixed on                      
DATE1=CTOD("  /  /    ")
DATE2=DATE1
@ 10,10 SAY "DATE DE DEBUT" GET date1
READ
@ 12,10 SAY "DATE DE FIN" GET date2 VALID(DATE2 > DATE1) 
READ
if date1=ctod("  /  /    ")
retu            
endi
lis ="0"
@ 13,10 say "1:caisse 2:Banque 4 attentes 5 CEE 6 EXP 7 SUS 8 PP 0 tout" get lis
read            
SET TALK OFF
SELECT 3
USE

use frz!bgbanque index bgbanque alias BQ IN 3
replace all CA with 0,CAM with 0

USE frz!BGRGT INDEX BGRGTN ALIAS RGT IN 2    
USE frz!SDFACTUR INDEX FACTURN ALIAS FC IN 1
SELECT 1

pol0=CHR(27)+"&l0O"+CHR(27)+"&l6D"+chr(27)+"(12U"+chr(27)+"(s0P"+chr(27)+"(s10H"+chr(27)+"(s12V"+chr(27)+"(s0S"+chr(27)+"(s0B"+chr(27)+"(s3T"
pol1=CHR(27)+"&l0O"+CHR(27)+"&l6D"+chr(27)+"(12U"+chr(27)+"(s0P"+chr(27)+"(s12H"+chr(27)+"(s12V"+chr(27)+"(s0S"+chr(27)+"(s0B"+chr(27)+"(s3T"
pol2=CHR(27)+"&l0O"+CHR(27)+"&16D"+chr(27)+"(12U"+chr(27)+"(s0P"+chr(27)+"(s16H"+chr(27)+"(s12V"+chr(27)+"(s0S"+chr(27)+"(s0B"+chr(27)+"(s3T"
pol3=CHR(27)+"&l0O"+chr(27)+"(12U"+chr(27)+"(s0P"+chr(27)+"(s5H"+chr(27)+"(s24V"+chr(27)+"(s0S"+chr(27)+"(s0B"+chr(27)+"(s6T"
GO TOP
do case                                                      
case lis="0".or.lis="O"
SET FILTER TO DATEFACT >=DATE1 .AND. DATEFACT <= DATE2
case lis="1"                                                      
SET FILTER TO (DATEFACT >=DATE1 .AND. DATEFACT <= DATE2).and.codebq="CAIS"
case lis="2"
do while .t.
@ 10,0 clear
vliste = space(5)
@ 13,10 say "CODE BANQUE" get vliste picture "@!"
read
vliste=trim(vliste)
sele bq
seek vliste
if found()
exit
endi
enddo
sele FC
SET FILTER TO (DATEFACT >=DATE1 .AND. DATEFACT <= DATE2).and.codebq=vliste
case lis="4"
SET FILTER TO (DATEFACT >=DATE1 .AND. DATEFACT <= DATE2).and.codebq="ATT"
case lis="5"
SET FILTER TO (DATEFACT >=DATE1 .AND. DATEFACT <= DATE2).and.type="C"
case lis="6"
SET FILTER TO (DATEFACT >=DATE1 .AND. DATEFACT <= DATE2).and.type="E"
case lis="7"
SET FILTER TO (DATEFACT >=DATE1 .AND. DATEFACT <= DATE2).and.type="S"
case lis="8"
SET FILTER TO (DATEFACT >=DATE1 .AND. DATEFACT <= DATE2).and.codebq="PP"
endcase      
GO TOP
TOTHT1=0            
TOTHT2=0            
TOTTTC=0            
TOTTVA1=0            
TOTTVA2=0            
TOTCAIS=0            
TOTCCP=0            
TOTCL=0            
TOTCAM=0            
TOTATT=0            
TOTEXP=0            
TOTSUSP=0            
totcee=0            
*******
TOTHT1M=0
TOTHT2M=0
TOTTTCM=0
TOTTVA1M=0
TOTTVA2M=0
TOTCAISM=0
TOTCCPM=0
TOTCLM=0
TOTCAMM=0
TOTATTM=0
TOTEXPM=0
TOTSUSPM=0
totceeM=0
******            
SET EXACT ON
PP=1
SKIP    
GO TOP    
l_vimp=.f.
LL=1
rep ="O"
@ 6,0 clear
@ 10,5 say "Imprimante O/N" get rep picture "!"
read
if rep ="O"
*l_vimp=.t.
*SET PRINT ON
*if prow()>2
*eject
*endi
*endi
SET EXACT ON
VMOIS1=CMONTH(DATE1)
VANN1=YEAR(DATE1)
set century off
 SET DATE FRENCH
REPORT FORM  e_bgjv.frx PREVIEW IN screen
* DO WHILE .NOT. EOF()
*? IIF(l_vimp,pOL2," ")
*IF PROW() < 4
*?? IIF(l_vimp,POL0,"")
*?"JOURNAL DES VENTES du ",DTOC(DATE1)," au ",DTOC(DATE2)  ,"                    PAGE " ,STR(PP,3,0)
*? IIF(l_vimp,POL2," ")
*? "CLIENT  NOM                     NUM FACT   DATE    HTTVA         TVA            TTC              type    ACOMPTE        SOLDE  caps"
*?
*ENDI
*VID=0
*?? substr(NOMCLI,1,29)+" "+str(NUMERO,7,0)+" ",DATEFACT,STR(MONTHT1,10,2)," ",STR(TVA1,10,2),"  ",STR(TTC,10,2),"  "+CODEBQ+" "+BANQUE+" "+type+" "+sTR(ACOMPTE,10,2),STR(TTC-ACOMPTE,10,2)+"   "+trim(caps)
*TOTHT1=TOTHT1+MONTHT1
*TOTHT2=TOTHT2+MONTHT2
*TOTHT1M=TOTHT1M+MONTHT1
*TOTHT2M=TOTHT2M+MONTHT2
*IF TYPE="N".OR.TYPE="H"
*TOTTTC=TOTTTC+TTC
*TOTTVA1=TOTTVA1+TVA1
*TOTTVA2=TOTTVA2+TVA2
*TOTTTCM=TOTTTCM+TTC
*TOTTVA1M=TOTTVA1M+TVA1
*TOTTVA2M=TOTTVA2M+TVA2
*ELSE
*IF TYPE="E"
*TOTEXP=TOTEXP+TTC
*TOTEXPM=TOTEXPM+TTC
*endi
*if type ="S"
*TOTSUSP=TOTSUSP+TTC
*TOTSUSPM=TOTSUSPM+TTC
*ENDI
*if type ="C"    
*totcee=totcee+ttc    
*totceeM=totceeM+ttc
*endi    
*ENDI
*DO CASE
*CASE CODEBQ="CAIS"
*TOTCAIS=TOTCAIS+TTC
*TOTCAISM=TOTCAISM+TTC
*CASE CODEBQ="ATT"
*TOTATT=TOTATT+TTC-ACOMPTE
*TOTATTM=TOTATTM+TTC-ACOMPTE
*ENDC
*vrech=trim(fc->codeBQ)
*sele BQ
*SET ORDER TO CDBQ   && CDBQ
*seek vrech
*if found()
*replace bq->CA with bq->CA+FC->TTC
*replace bq->CAM with bq->CAM+fc->TTC
*endi
*sele FC
*
*IF ACOMPTE <>0
*VNUM = FC->NUMERO
*SELE RGT
*SEEK VNUM
*IF .NOT.EOF()
*DO WHILE rgt->NUMERO=VNUM
*? SPACE(30)+str(numeRO,7,0)+" ",DATEACOMPT,SPACE(39),BANQUE,"   ",MODE,"  "+STR(MONTACOMPT,10,2),str(RESTE,10,2)
*IF BANQUE="CAIS"
*TOTCAIS=TOTCAIS+rgt->MONTACOMPT
*TOTCAISM=TOTCAISM+rgt->MONTACOMPT
*ENDI            
*vrech=trim(banque)
*sele BQ
*seek vrech
*if found()
*replace bq->CA with bq->CA+rgt->montacompt
*replace bq->CAM with bq->CAM+rgt->montacompt
*endi
*sele rgt
*SKIP
*ENDDO
*ENDI
*ENDI
*SELE 1
*? "---------------------------------------------------------------------------------------------------------------------------------------"
*IF PROW()<58.and.rep="O"
*SKIP
*LOOP
*ELSE
*PP=PP+1
*if rep="O"     
*EJECT
*endi
*SKIP
*if rep #"O"    
*WAIT
*endi
*LOOP
*ENDI     
*IF VMOIS1<>CMONTH (DATEFACT).AND.LIS="0"
*IF PROW()>40.AND.REP="O"
*EJECT
*pp=pp+1
*ENDI
*?
*TOTHT=TOTHT1+TOTHT2
*TOTHTM=TOTHT1M+TOTHT2M
*? " SOUS TOTAL MOIS DE",VMOIS1,str(VANN1,4,0)
*? IIF(l_vimp,POL2,"")
*? "  TOTAL HT          TVA             TOTAL TTC    TOTAL CAISSE      TOTAL ATT"
*?
*?  TOTHTM," ",TOTTVA1M," ",TOTTTCM," ",TOTCAISM," ",TOTATTM
*?
*? "TOTAL VENTES EXPORT :",TOTEXPM,"  TOTAL SUSPENSION TVA =: ",TOTSUSPM," total CEE =: ",totceeM
*?
**? "TOTAL DES TOTAUX CAIS+CCP+CL+CAM+ATT ",TOTCAISM+TOTCCPM+TOTCLM+TOTCAMM+TOTATTM
*?
*sele bq
*go top
*do while .not. eof()
*if bq->CAM >0
*? "banque : ",bq->nombanque+"  montant du mois ",bq->CAM
*endi
*skip
*enddo
*? "------------------------------------------------------------------------"
*?" CUMUL"
*? "  TOTAL HT          TVA             TOTAL TTC    TOTAL CAISSE      TOTAL ATT"
*?
*?  TOTHT," ",TOTTVA1," ",TOTTTC," ",TOTCAIS," ",TOTATT
*?
*? "TOTAL VENTES EXPORT :",TOTEXP,"  TOTAL SUSPENSION TVA =: ",TOTSUSP," total CEE =: ",totcee
*?
*sele bq
*go top
*do while .not. eof()
*if bq->CAM >0
*? "banque : ",bq->nombanque+"  montant total ",bq->CA
*endi
*skip
*enddo
*? "TOTAL DES TOTAUX CAIS+CCP+CL+CAM+ATT ",TOTCAIS+TOTCCP+TOTCL+TOTCAM+TOTATT
sele FC
*IF REP="O".AND..NOT.EOF()
*EJECT
ENDI
VMOIS1 =CMONTH(DATEFACT)
VANN1=YEAR(DATEFACT)
TOTHT1M=0
TOTHT2M=0
TOTTTCM=0
TOTTVA1M=0
TOTTVA2M=0
TOTCAISM=0
TOTCCPM=0
TOTCLM=0
TOTCAMM=0
TOTATTM=0
TOTEXPM=0
TOTSUSPM=0
totceeM=0
*sele bq
*replace all cam with 0
*sele fc

*ENDIF
*ENDDO
*IF PROW() > 53
*if rep ="O"
*EJECT
*endi
*ENDI
*TOTHT=TOTHT1+TOTHT2
*if rep ="O"
*set print on
*ELSE
*CLEAR TYPEAHEAD
*endi
SUM ALL TTC TO TOTALCTRL
*?? IIF(l_vimp,POL2,"")
*IF LIS <>"0" 
*?
*? "  TOTAL HT        TVA             TOTAL TTC     TOTAL CAISSE   TOTAL ATT"
*?
*?  TOTHT," ",TOTTVA1," ",TOTTTC," ",TOTCAIS," ",TOTATT
*?
*? "TOTAL VENTES EXPORT :",TOTEXP,"  TOTAL SUSPENSION TVA =: ",TOTSUSP," total CEE =: ",totcee
*?
*? "TOTAL DES TOTAUX CAIS+CCP+CL+CAM+ATT ",TOTCAIS+TOTCCP+TOTCL+TOTCAM+TOTATT
*sele bq
*go top
*do while .not. eof()
*if bq->CAM >0
*? "banque : ",bq->nombanque+"  montant total ",bq->CA
*endi
*skip
*enddo
*sele FC

*ENDIF
*?
*? "TOTAL DE CONTROLE SOMME DES TTC FACTURES",TOTALCTRL
*? IIF(l_vimp,POL0,"")
*if rep="O"
*EJECT             
*SET PRINT OFF
*ELSE

WAIT
*endi
set fixed off
set century on
USE
CLOSE DATA

RETU
