Procedure Convertir(O : Nul Ou Objet);
	 
	Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
	 
	Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
	 
	Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
	 
	Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
	 
	Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
	 
	Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
	 
	Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
	 
	Procedure SupprimerPropriete(NomPropriete : Caractere);
	 
	Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
	 
	Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
 
	Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
	 
   Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
 
   VersionMetier : Caractere Lecture Public;
	 
   CreePar : Nul Ou IUtilisateur Lecture Public;
	 
   CreeLe : Date Lecture Public;
	 
   ModifiePar : Nul Ou IUtilisateur Lecture Public;
	 
   ModifieLe : Date Lecture Public;
	 
   Etat : EtatObjetMetier NonVirtuel Lecture Public;
 
   Fonction ListerCategories(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou ICategorie;
	 
   Fonction ListerRelations(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IRelation;
	 
   Procedure Inserer();
	 
   Procedure Modifier();
	 
   Procedure Verrouiller();
	 
   Fonction EstVerrouille() Retourner Booleen;
	 
   Procedure Deverrouiller();
	 
   Procedure Supprimer();
 
   MontantToutesTaxes : Reel;
	 
   MontantHorsTaxes : Reel;
	 
   Fonction ListerPiecesDeDebit(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IPieceComptable;
	 
   Fonction ListerPiecesDeCredit(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IPieceComptable;
	 
   Constructeur();
/****************************************************************/
Interface ILettrage HeriteDe IObjetMetier Metier Defaut
/* Objet : Definition d'un lettrage.                            */
/****************************************************************/
/*--------------------------------------------------------------*/
/* Heritage de Objet.                                           */
/*--------------------------------------------------------------*/
Prive :
	EstInstanceDe : Type Lecture Public;
Public :
	Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
	
Prive :
	Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
	
/*--------------------------------------------------------------*/
/* Heritage de IObjetMetier.                                    */
/*--------------------------------------------------------------*/
Prive :
   URIObjet : Nul Ou Caractere Lecture Public;
	
Public :
   Commentaire : Nul Ou Caractere;
	
/*--------------------------------------------------------------*/
/* Definitions propres.                                         */
/*--------------------------------------------------------------*/
Public :
   DateDeLettrage : Date;
	
Fin Interface
= pour l'affectation d'un lettrage dans un autre lettrage.
	== pour l'égalité entre deux lettrages. Le résultat est un booléen. 
	!= pour l'inégalité entre deux lettrages. Le résultat est un booléen. 
Variable
/******/
 
   MonLettrage : Nul Ou ILettrage;
   MaFacture : Nul Ou IFacture;
   MonReglement : Nul Ou IReglement;
   MonProgiciel : Nul Ou Module;
Principal
/*******/
Variable
/******/
	L1 : Nul Ou ILettrage;
	L2 : Nul Ou ILettrage;
Debut
...
/* ------------------------------------------------ */
/* Creation du lettrage.                            */
/* ------------------------------------------------ */
MonLettrage=MonProgiciel.NouvelObjet(ILettrage);
...
MonLettrage.DateLettrage=DateSysteme();
MonLettrage.MontantToutesTaxes=MaFacture.MontantTotal;
MonLettrage.MontantHorsTaxes=Mafacture.MontantTotalHorsTaxes;
MonLettrage.PiecesDeDebit=CollectionDe(MaFacture);
MonIndividu.PiecesDeCredit=CollectionDe(MonReglement);
...
Si L1==L2 Alors
/* Egalité entre deux lettrages. */ 
	...
Fin Si
Si I1!=I2 Alors
/* Inégalité entre deux lettrages. */ 
	...
Fin Si
Fin Principal
| - | - | - | - | - | - | - | - | - |