EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","FACTURAIDE" TO F.FACTURAIDE ELSE STOP
* Moulinette de renumerotation de factures mandataires - Annule les factures a zero ! (en gerant les factures modifiees)
W_Per = ""
LOOP
PRINT "Periode ? (AAAAMM)"
INPUT W_Per
IF W_Per = "" THEN
	PRINT "Abandon."
	STOP
END
W_Date = "01/":W_Per[5,2]:"/":W_Per[1,4]
IF ICONV(W_Date,"D4/") = "" OR LEN(W_Per) # 6 THEN
	PRINT "Saisie incorrecte"
	W_Per = ""
END 
WHILE W_Per = ""
REPEAT
* Remarque : il suffit d'initialiser ici W_numFact pour renumeroter a partird'un numero choisi...
W_NumFact = ""
* ATTENTION : on ne peut pas prendre les factures en ordre decroissant car il faut les renumeroter !
EXECUTE 'SELECT FACTURAIDE = "[M':W_Per:']" PAR NumFactFactAide PAR-DECR @ID'
W_Fin = "F"
W_DernFact = ""
LOOP
READNEXT W_Cle ELSE W_Fin = "V"
IF W_NumFact = "" THEN W_NumFact = W_Cle[16,10]
WHILE W_Fin = "F"
	IF W_Cle[1,25] # W_DernFact[1,25] THEN
	  READ ENR_FACTURAIDE FROM F.FACTURAIDE, W_Cle THEN
		W_Cumul = 0
		i =0
		LOOP
		i = i + 1
		WHILE ENR_FACTURAIDE<2,i> # ""
			W_Cumul = W_Cumul + ENR_FACTURAIDE<5,i>
		REPEAT
		IF W_Cumul # 0 THEN
			W_NelleCle = W_Cle[1,15]:W_NumFact:W_Cle[26,1]
			IF W_NelleCle # W_Cle THEN
				ENR_FACTURAIDE<11> = "0"
				WRITE ENR_FACTURAIDE ON F.FACTURAIDE, W_NelleCle
				IF W_Cle[26,1] = "1" THEN
					READ ENR_FACTURAIDE2 FROM F.FACTURAIDE, W_Cle[1,25]:"0" THEN
						WRITE ENR_FACTURAIDE2 ON F.FACTURAIDE, W_NelleCle[1,25]:"0"
					END
					DELETE F.FACTURAIDE, W_Cle[1,25]:"0"
				END
				DELETE F.FACTURAIDE, W_Cle
			END ELSE
				ENR_FACTURAIDE<11> = "0"
				WRITE ENR_FACTURAIDE ON F.FACTURAIDE, W_Cle
			END
			W_NumFact = W_NumFact + 1
			W_NumFact = W_NumFact"R%10"
		END ELSE
			DELETE F.FACTURAIDE, W_Cle
			IF W_Cle[26,1] = "1" THEN
				DELETE F.FACTURAIDE, W_Cle[1,25]:"0"
			END
		END
	  END
	END
	W_DernFact = W_Cle
REPEAT
STOP
