*****************************************
* AFFICHAGE ECRITURES PROVISOIRES  	*
* VANESSA				*
* JUIN 2006				*
*****************************************

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

OPEN "","JOURNALPROVISOIRE" TO F.JOURNALPROVISOIRE ELSE STOP
OPEN "","DETAILECRITUREAUX" TO F.DETAILECRITUREAUX ELSE STOP
OPEN "","DETAILECRITUREGENE" TO F.DETAILECRITUREGENE ELSE STOP
OPEN "","PARAMENTITECOMPTA" TO F.PARAMENTITECOMPTA ELSE STOP
OPEN "","PLANCOMPTABLE" TO F.PLANCOMPTABLE ELSE STOP
OPEN "","TEMPO" TO F.TEMPO ELSE STOP

*********************************************************
* Recuperation des arguments

PROCREAD ARGUMENTS ELSE STOP
W_CLE=FIELD(ARGUMENTS," ",2)
W_EXER=FIELD(ARGUMENTS," ",3)

*********************************************************

W_Count12=0
W_Sauve12=""

READ ENR_TEMPO FROM F.TEMPO,"ECRPROV":W_CLE:W_EXER THEN
	DELETE F.TEMPO,"ECRPROV":W_CLE:W_EXER
END

ENR_TEMPO=""

READ ENR_PARAMENTITECOMPTA FROM F.PARAMENTITECOMPTA,W_CLE[1,3] ELSE ENR_PARAMENTITECOMPTA=""
IF ENR_PARAMENTITECOMPTA<16> # "" THEN
	W_CpteCentral=W_CLE[1,3]:ENR_PARAMENTITECOMPTA<16>
END ELSE
	W_CpteCentral=W_CLE[1,3]:"4111100000"
END

READ ENR_JOURNALPROVISOIRE FROM F.JOURNALPROVISOIRE,W_CLE ELSE ENR_JOURNALPROVISOIRE=""

IF W_EXER="0" THEN
	W_Att=4
	W_Exercice="P0"
END ELSE
	W_Att=6
	W_Exercice="P1"
END

W_Count=ENR_JOURNALPROVISOIRE<W_Att>

FOR i = W_Count TO 1 STEP-1

	W_CleEcr=W_CLE:W_Exercice:i "R%5"

	READ ENR_DETAILECRITUREGENE FROM F.DETAILECRITUREGENE,W_CleEcr THEN

		IF ENR_DETAILECRITUREGENE<3>=W_CpteCentral THEN
			W_Passe="FAUX"
			FOR j=1 TO W_Count12
				IF W_Sauve12<j>=W_CleEcr THEN
					W_Passe="VRAI"
					EXIT
				END
			NEXT j
			IF W_Passe="FAUX" THEN
				GOSUB 10
			END
		END ELSE

			* mise en forme libll compte
			ENR_DETAILECRITUREGENE<4>=ENR_DETAILECRITUREGENE<4>[1,31]
			ENR_DETAILECRITUREGENE<4>=ENR_DETAILECRITUREGENE<4> "L#31"
			W_LibEntier=ENR_DETAILECRITUREGENE<4> "L#50"
			* mise en forme numro de pice
			ENR_DETAILECRITUREGENE<5>=ENR_DETAILECRITUREGENE<5> "L#10"
			* mise en forme dbit + crdit
			IF ENR_DETAILECRITUREGENE<6>#"" THEN
				ENR_DETAILECRITUREGENE<6>=ENR_DETAILECRITUREGENE<6> "R26(#11)"
			END ELSE	
				ENR_DETAILECRITUREGENE<6>=ENR_DETAILECRITUREGENE<6> "R#11"
			END
			IF ENR_DETAILECRITUREGENE<7>#"" THEN
				ENR_DETAILECRITUREGENE<7>=ENR_DETAILECRITUREGENE<7> "R26(#11)"
			END ELSE	
				ENR_DETAILECRITUREGENE<7>=ENR_DETAILECRITUREGENE<7> "R#11"
			END
			IF ENR_DETAILECRITUREGENE<9>#"" THEN
				W_FinLigne=SPACE(10):W_LibEntier:ENR_DETAILECRITUREGENE<9> "R26(#11)"
			END ELSE
				W_FinLigne=SPACE(10):W_LibEntier
			END

			ENR_TEMPO<-1>=W_CleEcr[8,5]:"-G ":OCONV(ENR_DETAILECRITUREGENE<2>,"D2/"):" ":ENR_DETAILECRITUREGENE<3>[4,10]:" ":ENR_DETAILECRITUREGENE<4>:"  ":ENR_DETAILECRITUREGENE<5>:" ":ENR_DETAILECRITUREGENE<6>:" ":ENR_DETAILECRITUREGENE<7>:"   ":ENR_DETAILECRITUREGENE<10>:W_FinLigne 

		END
	END
NEXT i

IF ENR_TEMPO # "" THEN WRITE ENR_TEMPO ON F.TEMPO,"ECRPROV":W_CLE:W_EXER

STOP

******************************************************************
* cherche critures auxiliaires correspondantes
10

	EXECUTE 'SSELECT DETAILECRITUREAUX AVEC 12 = "':W_CleEcr:'" PAR-DECR 0'

	W_FIN=0

	LOOP
		READNEXT CLEECRAUX ELSE W_FIN=1
	UNTIL W_FIN=1 DO
		READ ENR_DETAILECRITUREAUX FROM F.DETAILECRITUREAUX,CLEECRAUX ELSE ENR_DETAILECRITUREAUX=""
		W_Count12=DCOUNT(ENR_DETAILECRITUREAUX<12>,CHAR(253))
		W_Sauve12=""
		FOR j=1 TO W_Count12
			W_Sauve12<j>=ENR_DETAILECRITUREAUX<12,j>
		NEXT j
		GOSUB 20
		W_DebCle=CLEECRAUX[1,7]
		W_Ordre=CLEECRAUX[8,5]-1 "R%5"
		W_FIN=1
	REPEAT

	READ ENR_DETAILECRITUREAUX FROM F.DETAILECRITUREAUX,W_DebCle:W_Ordre ELSE ENR_DETAILECRITUREAUX=""

	LOOP
	UNTIL ENR_DETAILECRITUREAUX<12> # "" OR W_Ordre="00000" DO
		CLEECRAUX=W_DebCle:W_Ordre
		GOSUB 20
		W_Ordre=W_Ordre-1 "R%5"
		READ ENR_DETAILECRITUREAUX FROM F.DETAILECRITUREAUX,W_DebCle:W_Ordre ELSE ENR_DETAILECRITUREAUX=""
	REPEAT

RETURN

******************************************************************
* crit ligne critures auxiliaires
20

	IF ENR_DETAILECRITUREAUX # "" THEN
		* mise en forme libll compte
		ENR_DETAILECRITUREAUX<4>=ENR_DETAILECRITUREAUX<4>[1,31]
		ENR_DETAILECRITUREAUX<4>=ENR_DETAILECRITUREAUX<4> "L#31"
		W_LibEntier=ENR_DETAILECRITUREAUX<4> "L#50"

		* mise en forme numro de pice
		ENR_DETAILECRITUREAUX<5>=ENR_DETAILECRITUREAUX<5> "L#10"
		* mise en forme dbit + crdit
		IF ENR_DETAILECRITUREAUX<6>#"" THEN
			ENR_DETAILECRITUREAUX<6>=ENR_DETAILECRITUREAUX<6> "R26(#11)"
		END ELSE	
			ENR_DETAILECRITUREAUX<6>=ENR_DETAILECRITUREAUX<6> "R#11"
		END
		IF ENR_DETAILECRITUREAUX<7>#"" THEN
			ENR_DETAILECRITUREAUX<7>=ENR_DETAILECRITUREAUX<7> "R26(#11)"
		END ELSE	
			ENR_DETAILECRITUREAUX<7>=ENR_DETAILECRITUREAUX<7> "R#11"
		END
		IF ENR_DETAILECRITUREAUX<9>#"" THEN
			W_FinLigne=SPACE(10):W_LibEntier:ENR_DETAILECRITUREAUX<9> "R26(#11)"
		END ELSE
			W_FinLigne=SPACE(10):W_LibEntier
		END
		ENR_TEMPO<-1>=CLEECRAUX[8,5]:"-A ":OCONV(ENR_DETAILECRITUREAUX<2>,"D2/"):" ":ENR_DETAILECRITUREAUX<3>:SPACE(5):" ":ENR_DETAILECRITUREAUX<4>:"  ":ENR_DETAILECRITUREAUX<5>:" ":ENR_DETAILECRITUREAUX<6>:" ":ENR_DETAILECRITUREAUX<7>:"   ":ENR_DETAILECRITUREAUX<10>:W_FinLigne
	END
RETURN