FactureDejaIntegre est un booléen = Faux

BIgnore est un booléen = Faux
POUR TOUT LIGNE SELECTIONNEE DE Table_FACTURES_FOURNISSEUR
	SI Table_FACTURES_FOURNISSEUR.CFactureComptabilise = 1 ALORS
		FactureDejaIntegre = True
		SORTIR
	FIN
FIN

SI FactureDejaIntegre = True ALORS
	
	TitreSuivant("Confirmation")
	
	//1 : Intégrer
	//2 : Ne pas intégrer
	//3 : Annuler
	SELON Dialogue("Que faire des Factures déja intrégrées ?")
		CAS 2
			BIgnore = True
		CAS 3
			RepriseSaisie(BTN_Comptabiliser)
	FIN
FIN

POUR TOUT LIGNE SELECTIONNEE DE Table_FACTURES_FOURNISSEUR
	HLitRecherchePremier(FACTUREFSEUR,IDFACTUREFSEUR,Table_FACTURES_FOURNISSEUR.CIDFactureFseur)
	SI HTrouve(FACTUREFSEUR) ALORS
		SI (FACTUREFSEUR.FactureFseurComptabilise = 1 ET BIgnore = Faux ) OU  FACTUREFSEUR.FactureFseurComptabilise = 0 ALORS
			
			SI PG_GenererPasserelle_FactureFournisseur() = True ALORS
				FACTUREFSEUR.FactureFseurComptabilise = 1
				FACTUREFSEUR.ModifieLe = PG_DateHeureServeur()
				FACTUREFSEUR.ModifiePar = IdentifiantUtilisateur
				HModifie(FACTUREFSEUR)				
			FIN
		FIN
	FIN
FIN

OperationAutorisee = Faux

TitreSuivant("Information")
Info("Factures fournisseur intégrées avec succès !")

ExécuteTraitement(BTN_Rech,trtClic)



PROCEDURE PG_GenererPasserelle_FactureFournisseur(bSuppression est un booléen = Faux )

Brenvoyer est un booléen = Faux


PG_InitailiserLesvariables_SAGE()

Vs_LibelleEcriture  = "FACTURE N° "+FACTUREFSEUR.NumeroFactureFseur
si FACTUREFSEUR.IDFAMILLEPRODUIT > 0 alors
	HLitRecherchePremier(FAMILLEPRODUIT,IDFAMILLEPRODUIT,FACTUREFSEUR.IDFAMILLEPRODUIT)
	si htrouve(FAMILLEPRODUIT) = true alors
		Vs_LibelleEcriture = Vs_LibelleEcriture + " - "+FAMILLEPRODUIT.LibelleFamilleProduit
	FIN
FIN

SI bSuppression = True ALORS
	Vs_LibelleEcriture = "SUPPRESSION " +Vs_LibelleEcriture
FIN

Vs_DatePiece  = DateVersChaîne(FACTUREFSEUR.DateFacture,"JJMMAA")
Vs_DateEcheance = DateVersChaîne(FACTUREFSEUR.DateEcheanceFactureFseur,"JJMMAA")

Mont_Marchandise  est une monetaire = FACTUREFSEUR.TotalHT
Mont_Preach est une monetaire = FACTUREFSEUR.MontantPreach
Mont_FraisExp est une monetaire = FACTUREFSEUR.MontantFraisExp
Mont_AssuranceMaritime est une monetaire = FACTUREFSEUR.MontantAssurance
Mont_TVA est une monetaire = FACTUREFSEUR.TotalTaxe
Mont_transit est une monetaire = FACTUREFSEUR.MontantFraisTransit
NumFact est une chaine = FACTUREFSEUR.NumeroFactureFseur

Montant_Total est une monetaire = FACTUREFSEUR.TotalTTC

Vs_MontantTTC = Montant_Total
Vs_MontantFraisExp = Mont_FraisExp
Vs_MontantFraisAssurance = Mont_AssuranceMaritime
Vs_MontantPreacheminement = Mont_Preach
Vs_MontantMarchandise = Mont_Marchandise
Vs_MontantTVA  = Mont_TVA
Vs_MontantFraisTransit = Mont_transit

SI bSuppression = True ALORS
	Vs_MontantTTC  = -1 * Montant_Total
	Vs_MontantFraisExp  = - 1 * Mont_FraisExp
	Vs_MontantFraisAssurance  = -1 * Mont_AssuranceMaritime
	Vs_MontantPreacheminement  = -1 * Mont_Preach
	Vs_MontantMarchandise  = -1 * Mont_Marchandise
	Vs_MontantTVA  = - 1 * Mont_TVA
	Vs_MontantFraisTransit  = - 1 * Mont_transit
FIN

HLitRecherchePremier(BONLIVRAISON,IDBONLIVRAISON,FACTUREFSEUR.IDBONLIVRAISON)
si htrouve(BONLIVRAISON) = true alors
	Vs_NumeroDocument = BONLIVRAISON.NumeroBonLivraison
	Vs_AgenceClient = BONLIVRAISON.AgenceReceptionnee
	Vs_ReferenceDocument = ExtraitChaîne(BONLIVRAISON.NumeroConteneurOuVol,1,";")
	SAGE_IDModeExp = BONLIVRAISON.IDMODEEXPEDITION
FIN

si BONLIVRAISON.IDFOURNISSEUR > 0 alors
	HLitRecherchePremier(FOURNISSEUR,IDFOURNISSEUR,FACTUREFSEUR.IDFOURNISSEUR)
	si htrouve(FOURNISSEUR) = true alors
		Vs_CompteTiers = FOURNISSEUR.CompteTiersFournisseur
	FIN
FIN

SAGE_IDElement = FACTUREFSEUR.IDFACTUREFSEUR
SAGE_TypeDoc = 7
SAGE_IDMotif = 0
SAGE_IDBuro = FACTUREFSEUR.IDBUREAUACHAT
SAGE_IDFamille  = FACTUREFSEUR.IDFAMILLEPRODUIT

Vs_TypeJournal = C_TYPE_ECRITURE_FACTUREFSEUR

Brenvoyer = PG_INTEGRATION_SAGE()

RENVOYER Brenvoyer