*************************************************************
* PERMET DE generer un complement de facturatio a partir 
* de facture aide
* Mikael 22/06/2012
*************************************************************

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"


ENR_FACTURAIDE=""
ENR_FUSION="Code aid;Nom-Prnom;N de facture;Observation"
i = ""
W_Avoir=""

OPEN "","FACTURAIDE" TO F.FACTURAIDE ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","COMPLFACT" TO F.COMPLFACT ELSE STOP
OPEN "","FUSION" TO F.FUSION ELSE STOP

EXECUTE 'SELECT FACTURAIDE AVEC 0 = "[201205]" AND AVEC TypAct="P" AND AVEC 0 = "[0"'

EXECUTE 'SAUVE-LISTE W_Requete'
EXECUTE "LISTE W_Requete" RETURNING MSGCODE
W_SauvAidant=""
IF MSGCODE<1> # 209 THEN
   SELECT F.FACTURAIDE TO W_Requete
   W_Fini="FAUX"
   LOOP
      	READNEXT W_Cle FROM W_Requete ELSE W_Fini="VRAI"
   WHILE W_Fini="FAUX" DO
		READ ENR_FACTURAIDE FROM F.FACTURAIDE,W_Cle THEN
			READ ENR_FACTURAIDE FROM F.FACTURAIDE,W_Cle[1,25]:"1" THEN
				* facture corrige on fait rien
			END ELSE
				READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_Cle[1,5] ELSE ENR_CIVILAIDE=""
				W_NomPrenom=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
				
				W_Count=DCOUNT(ENR_FACTURAIDE<5>,CHAR(253))
				W_Trouve=""
				
				W_Avoir = 0
				FOR i = 1 TO W_Count
					 W_Avoir=W_Avoir+ENR_FACTURAIDE<5,i>
				NEXT i
				
				IF W_Avoir<0 THEN
					READ ENR_COMPLFACT FROM F.COMPLFACT, W_Cle[1,9] THEN
						IF ENR_COMPLFACT<1> # "" THEN
							W_Count=DCOUNT(ENR_COMPLFACT<1>,CHAR(253))
							W_Trouve=""
							
							W_Trouve = "FAUX"
							FOR j = 1 TO W_Count
								IF ENR_COMPLFACT<1,j>= "AVOIR SUR FACTURE ":W_Cle[16,10] THEN
									W_Trouve = "VRAI"
									ENR_FUSION<-1>=W_Cle[1,5]:";":W_NomPrenom:";":W_Cle[16,10]:";Avoir dj existant"
									EXIT
								END
							NEXT j						
							IF W_Trouve = "FAUX" THEN
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,1,-1;"AVOIR SUR FACTURE ": W_Cle[16,10])
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,2,-1;"")
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,3,-1;"")
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,4,-1;W_Avoir)
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,5,-1;"")
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,6,-1;"")
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,7,-1;"0")
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,8,-1;"")
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,9,-1;"201205")
								ENR_COMPLFACT=REPLACE(ENR_COMPLFACT,10,-1;"1")
								ENR_FUSION<-1>=W_Cle[1,5]:";":W_NomPrenom:";":W_Cle[16,10]:";Avoir gnr dans les complments de facturation"
							END
						END
					END ELSE
						ENR_COMPLFACT<1>="AVOIR SUR FACTURE ": W_Cle[16,10]
						ENR_COMPLFACT<2>=""
						ENR_COMPLFACT<3>=""
						ENR_COMPLFACT<4>=W_Avoir
						ENR_COMPLFACT<5>=""
						ENR_COMPLFACT<6>=""
						ENR_COMPLFACT<7>="0"
						ENR_COMPLFACT<8>=""
						ENR_COMPLFACT<9>="201205"
						ENR_COMPLFACT<10>="1"
						ENR_FUSION<-1>=W_Cle[1,5]:";":W_NomPrenom:";":W_Cle[16,10]:";Avoir gnr dans les complments de facturation"
					END
					
					WRITE ENR_COMPLFACT ON F.COMPLFACT, W_Cle[1,9] 	
				END
			END
		END
   REPEAT
END

STOP