*liste des encours
TITRE =" JOURNAL DES ENCOURS  "
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) HELP;
"LA DATE DE FIN DOIT ETRE SUPERIEURE A LA DATE DE DEBUT"
READ
IF date1=CTOD("  /  /  ")
RETU
ENDI
lis ="0"
@ 13,10 SAY "1:AF 2:DP 3:JP 4:encours 5:livre‚ 0 tout" GET lis
READ
SET TALK OFF
sele 3        
use pgarti index pgarti alias ar
SELECT 1
USE PGCOM INDEX PGCOMNU ALIAS COM
SELE 2
USE pglignes INDEX pgligne1 ALIAS lg
*SET relation TO numcom into com
set relation to codearti into ar
GO TOP
DO CASE
CASE lis="0".OR.lis="O"
SET FILTER TO DATE  >=DATE1 .AND. DATE <= DATE2
CASE lis="1"
SET FILTER TO (DATE >=DATE1 .AND. DATE <= DATE2).AND.codeFOUR="AF"
CASE lis="2"
SET FILTER TO (DATE >=DATE1 .AND. DATE <= DATE2).AND.codeFOUR="DP"
CASE lis="3"
SET FILTER TO (DATE >=DATE1 .AND. DATE <= DATE2).AND.codeFOUR="JP"
CASE lis="4"
SET FILTER TO (DATE >=DATE1 .AND. DATE <= DATE2).AND.FINI="N"
CASE lis="5"
*SET FILTER TO (DATE >=DATE1 .AND. DATE <= DATE2).AND.FINI="O"
do pglifac
exit
CASE lis="6"
SET FILTER TO (DATE >=DATE1 .AND. DATE <= DATE2)
*.AND.FINI="O"
CASE lis="7"
SET FILTER TO (DATE >=DATE1 .AND. DATE <= DATE2).AND.codeFOUR="SA"
OTHER     
EXIT
ENDCASE
GO TOP
TOTHT1G=0
TOTaf=0
TOTdp=0
TOTjp=0
TOTSA=0
TOTTVa=0
STOTAF=0
STOTdp=0
STOTjp=0
STOTSA=0
totgene=0
SET EXACT ON
PP=1
LL=1
rep ="O"
**********VARIABLES IMPRIMANTES---------
pol1=CHR(27)+"&l0O"+chr(27)+"(s12U"+chr(27)+"(s0P"+chr(27)+"(s12H"+chr(27)+"(s12V"+chr(27)+"(s0S"+chr(27)+"(s0B"+chr(27)+"(s3T"
pol2=CHR(27)+"&l0O"+chr(27)+"(s12U"+chr(27)+"(s0P"+chr(27)+"(s16H"+chr(27)+"(s12V"+chr(27)+"(s0S"+chr(27)+"(s0B"+chr(27)+"(s3T"
pol3=CHR(27)+"&l0O"+chr(27)+"(s12U"+chr(27)+"(s1P"+chr(27)+"(s5H"+chr(27)+"(s24V"+chr(27)+"(s0S"+chr(27)+"(s0B"+chr(27)+"(s6T"
@ 6,0 CLEAR
@ 10,5 SAY "Imprimante O/N" GET rep PICTURE "!"
READ
IF rep ="O"
SET PRINT ON
EJECT
ENDI
SET EXACT ON
DO WHILE .NOT. EOF()
? POL1
IF PROW() < 4
?? CHR(18)
?"JOURNAL DES ENCOURS du ",DTOC(DATE1)," au ",DTOC(DATE2)  ,"                    PAGE " ,STR(PP,3,0)
? CHR(15)
? "CLIENT  NOM            NUMCOM    DATE  FOURN REPR QUANT        ARTICLE                                    TTC     LIVRE"
?
ENDI
VID=0
commande =lg->numcom
afactur="O"
sele 1             
seek commande
if eof()      
wait      
else    
endi      
sele 2
if com->soldee="O"
skip
loop
endi
? "commande num‚ro : ",str(commande,5,0)," client :",com->nomclient,com->ad1liv,com->codliv,com->villeliv
?                             
DO WHILE lg->numcom =commande
*if lis<"5".and.fini="N".or lis="5".and.fini="O"
? substr(nature,1,20)," ",COM->NUMcom," ",DATE,"  ",CODEfour,str(com->cdrep,3),str(lg->quantite,4),lg->codearti,left(ar->designart,40)
if lis="4"
??"            ",fini+"   "
else
??str(prixlght,10,2)," ",fini+"   "
endi

TOTHT1g=TOTHT1g+prixlght
TOTTVA=TOTTVA+TVA2
DO CASE
CASE CODEfour="AF"
TOTaf=TOTaf+prixlght
STOTaf=STOTaf+prixlght
CASE CODEFOUR="DP"
TOTDP=TOTDP+prixlght
STOTDP=STOTDP+prixlght
CASE CODEFOUR="JP"
TOTJP=TOTJP+prixlght
STOTJP=STOTJP+prixlght
CASE CODEFOUR="SA"
TOTSA=TOTSA+prixlght
STOTSA=STOTSA+prixlght
ENDC
IF fini ="N"
afactur="N"
endi     
skip
ENDDO
if lis <>"4"                                                                                      
?POL2+"total de cette commande",totht1g,"AF:",STOTAF,"SA:",STOTSA,"DP:",STOTDP,"JP:",STOTJP
? pol1
else
?                       
endi                       
totgene=totgene+totht1g
totht1g=0
STOTAF=0
STOTdp=0
STOTjp=0
STOTSA=0
IF afactur="N"
?? "   NE PAS FACTURER"
replace com->livtotal with "N"
ELSE
?? "   A FACTURER"
replace com->livtotal with "O"

ENDI
? "---------------------------------------------------------------------------------------------------------------------------------------"
afactur="O"
IF PROW()<58.AND.rep="O"
LOOP
ELSE
PP=PP+1
IF rep="O"
EJECT
ENDI
IF rep #"O"
WAIT
ENDI
LOOP
ENDI
ENDDO
CLOSE DATA
IF PROW() > 55
IF rep ="O"
EJECT
ENDI
ENDI
IF rep ="O"
SET print ON
ENDI
? CHR(15)
?
? "     TOTAL TTC     TOTAL AF     TOTAL DP     TOTAL JP   "
?
? TOTgene," ",TOTAF," ",TOTDP," ",TOTJP
?
* *TOTAL VENTES EXPORT :",TOTEXP,"  TOTAL SUSPENSION TVA =: ",TOTSUSP," total CEE =: ",totcee
?? CHR(18)
?? CHR(18)
IF rep="O"
SET PRINT OFF
ENDI
SET fixed OFF
CLOSE DATA
RETU

