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();
 
   VersionDocument : Nul Ou Caractere;
	 
   DateModification : Nul Ou Date;
	 
   DateValidation : Nul Ou Date;
	 
   Monnaie : Nul Ou IMonnaie;
	 
   MontantTotal : Nul Ou Reel;
	 
   Redacteur : Nul Ou IUtilisateur;
	 
   URIDocument : Nul Ou Caractere;
	 
   Sorte : SorteDocument; 
   Fonction ListerReferences(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IDocument;
	 
   Fonction ListerDetailDocument(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IDetailDocument; 
         Fonction ListerContactsFournisseurs(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IPersonnelFournisseur; 
         Fonction ListerContactsFournisseurs(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IPersonnelClient; 
   Fonction ListerSocietesPartenaires(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou ISocietePartenaire;
	 
   Fonction ListerContactsPartenaires(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IPersonnelPartenaire; 
   DateApplication : Nul Ou Date;
	 
   DateResiliation : Nul Ou Date;
	 
   Signataire : Nul Ou IPersonnelEmployee;
	 
   SorteDuContrat : SorteContrat;
/****************************************************************/
Interface IBonDeCommande HeriteDe IContrat Metier Defaut
/* Objet : Definition d'un contrat d'achat.                     */
/****************************************************************/
/*--------------------------------------------------------------*/
/* 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;
	
/*--------------------------------------------------------------*/
/* Heritage de IDocument.                                       */
/*--------------------------------------------------------------*/
   NumeroChronologie : Nul Ou Caractere;
	
/*--------------------------------------------------------------*/
   Fonction ListerVersionsAnterieures(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IDocument;
	
/* Heritage de ITransaction.                                    */
/*--------------------------------------------------------------*/
Public :
   Selon SorteDeLaTransaction : SorteTransaction Faire
   
/*--------------------------------------------------------------*/
      Cas Achat Pour SorteTransactionAchat Faire
      
   Fin Selon
         Fonction ListerSocietesFournisseurs(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou ISocieteFournisseur;
			
      Fin Cas
      
      Cas Vente Pour SorteTransactionAchat Faire
      
         Fonction ListerSocietesFournisseurs(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou ISocieteClient;
			
      Fin Cas
      
   
	
/* Heritage de IContrat.                                        */
/*--------------------------------------------------------------*/
Public :
   DateSignature : Nul Ou Date;
	
/*--------------------------------------------------------------*/
/* Definitions propres.                                         */
/*--------------------------------------------------------------*/
Public :
   Constructeur();
Fin Interface
= pour l'affectation d'un bon de commande dans un autre bon de commande.
	== pour l'égalité entre deux bons de commande. Le résultat est un booléen. 
	!= pour l'inégalité entre deux bons de commande. Le résultat est un booléen. 
Variable
/******/
 
   MonBonDeCommande : Nul Ou IBonDeCommande;
   MonUtilisateur : Nul Ou IUtilisateur;
   MonProgiciel : Nul Ou Module;
Principal
/*******/
Variable 
	BC1 : Nul Ou IBonDeCommande;
	BC2 : Nul Ou IBonDeCommande;
Debut
...
/* ------------------------------------------------ */
/* Creation d'un bon de commande.                   */
/* ------------------------------------------------ */
MonBonDeCommande=MonProgiciel.NouvelObjet(IBonDeCommande);
...
MonBonDeCommande.DateSignature=DateSysteme();
MonBonDeCommande.DateApplication=DateSysteme().AjouterJours(1);
MonBonDeCommande.DateResiliation=Nul;
MonBonDeCommande.Signataire=MonUtilisateur;
...
Si BC1==BC2 Alors
/* Egalité entre deux bons de commande d'achat. */ 
	...
Fin Si
Si BC1!=BC2 Alors
/* Inégalité entre deux bons de commande d'achat. */ 
	...
Fin Si
Fin Principal
La propriété SorteDuContrat possède obligatoirement la valeur SorteContratBonDeCommande.
La méthodes ListerReferences retournent obligatoirement le contrat commercial auquel se rapporte la commande si celui-ci existe.
| - | - | - | - | - | - | - | - | - |