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();
Article: Nul Ou IArticle;
MontantUnitaireToutesTaxes : Nul Ou Reel;
MontantUnitaireHorsTaxes : Nul Ou Reel;
MontantTotalToutesTaxes : Nul Ou Reel;
MontantTotalHorsTaxes : Nul Ou Reel;
Fonction ListerDetailDocument(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou IDetailDocument;
Constructeur();
/****************************************************************/
Interface IDetailDocument HeriteDe IObjetMetier Metier Defaut
/* Objet : Definition d'une ligne de detail d'un document. */
/****************************************************************/
/*--------------------------------------------------------------*/
/* 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 :
Libelle: Caractere;
Fin Interface
=
pour l'affectation d'un détail dans un autre détail.
==
pour l'égalité entre deux détails. Le résultat est un booléen.
!=
pour l'inégalité entre deux détails. Le résultat est un booléen.
Constante
/*******/
MonPrix=100;
MaTVA=19.6;
Variable
/******/
MonDetail : Nul Ou IDetailDocument;
MonArticle : Nul Ou IArticle;
MonDocument : Nul Ou IDocument;
MonProgiciel : Nul Ou Module;
Principal
/********/
Variable
DD1 : Nul Ou IDetailDocument;
DD2 : Nul Ou IDetailDocument;
Debut
...
/* ------------------------------------------------ */
/* Creation d'une ligne de detail d'un document. */
/* ------------------------------------------------ */
MonDetail=MonProgiciel.NouvelObjet(IDetailDocument);
MonDetail.Libelle="Fruits et légumes";
MonDetail.Article=MonArticle;
MonDetail.MontantUnitaireHorsTaxes=MonPrix;
MonDetail.MontantUnitaireToutesTaxes=(1+MaTVA)*MonDetail.MontantUnitaireHorsTaxes;
MonDetail.MontantTotalHorsTaxes=MonArticle.Quotite.Piece.Nombre*MonDetail.MontantUnitaireHorsTaxes;
MonDetail.MontantTotalToutesTaxes=MonArticle.Quotite.Piece.Nombre*MonDetail.MontantUnitaireToutesTaxes;
...
Si DD1==DD2 Alors
/* Egalité entre deux details generaux. */
...
Fin Si
Si DD1!=DD2 Alors
/* Inégalité entre deux details generaux. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |