Monnaies : instructions, fonctions et variables

Ce chapitre décrit les instructions, fonctions et variables systèmes spécifiques à la gestion de l'euro et des devises.

 

Libelles ...

ModeArrondi

ModeCourant

ModeMonetaire

MonnaieComplementaire

MonnaieCours

MonnaieDate

MonnaieDecimale

MonnaieDrapeau

MonnaieIn

MonnaieInverse

MonnaieLocale

MonnaieParite

MonnaiePivot

MonnaiePrincipale

MonnaieStockage

MonnaieSymbole

ValeurFormatee

ValeurReelle

ValeurStockee

Instruction : ModeMonetaire

Instruction permettant de forcer la monnaie.

Elle accepte 1, 2 ou 3 paramètres :

  • le premier paramètre est l'identifiant de la monnaie.

  • le deuxième et le troisième paramètres sont facultatifs et sont utiles aux logiciels multidevise. Ils permettent de forcer la date de référence et éventuellement le cours à appliquer à cette date.

 

Exemples :

        ModeMonetaire MONNAIE_IDENT 

ou

        ModeMonetaire MONNAIE_IDENT, DATE_CREATION, COURS

ou

        ModeMonetaire MONNAIE_IDENT, DATE_CREATION, COURS

 

Variable système modifiable : ModeCourant 

ModeCourant rend la monnaie en cours de l'objet, c'est-à-dire celle qui a été forcée par ModeMonetaire. On l'utilise,  par exemple, lorsque l'on souhaite mémoriser dans un document l'identifiant de la monnaie de saisie.

 

Exemple :

        FACTURE.MONNAIE_IDENT = ModeCourant 

Cette variable système est modifiable, on peut donc écrire :

        ModeCourant  = FACTURE.MONNAIE_IDENT

Ce qui est équivalent à l'appel de l'instruction ModeMonetaire avec 1 seul paramètre :

        ModeMonetaire FACTURE.MONNAIE_IDENT

 

 

Syntaxe reconnue par l'interpréteur de formules :

Dans l'interpréteur, cette variable n'est accessible qu'en lecture et avec la syntaxe suivante :

        Si ( FACTURE.MONNAIE_IDENT == ModeCourant () ) …

        Notez la présence des parenthèses () !

 

Variable système : MonnaieCours 

MonnaieCours rend le cours de conversion actuellement utilisé par l'objet, c'est-à-dire celui qui a été forcé par l'instruction ModeMonetaire ou celui qui a été défini au niveau du composant monnaie. Le cours n'est utile que dans le cas d'une monnaie « OUT ».

 

Attention : Les cours indiqués donnent la valeur d'UN euro dans la devise concernée.

 

Variable système : MonnaieParite 

MonnaieParite rend la parité de la monnaie en cours de l'objet. La parité n'est utile que dans le cas d'une monnaie « IN ».

 

Variable système : MonnaieDate 

MonnaieDate rend la date de référence actuellement utilisée par l'objet, c'est-à-dire celle qui a été forcée par l'instruction ModeMonetaire à 2 paramètres.

 

Variable système modifiable : ModeArrondi 

ModeArrondi rend la monnaie dans laquelle les opérations d'arrondi sont effectuées.

 

Cette variable système est également modifiable, on peut donc écrire :

        ModeArrondi = ModeCourant()

 

Exemple :

        BoiteMessage « Mode d'arrondi »+ ModeArrondi

 

Syntaxe reconnue par l'interpréteur de formules :

Dans l'interpréteur, cette variable n'est accessible qu'en lecture et avec la syntaxe suivante :

        Si ( ModeArrondi() == ModeCourant() ) …

 

Variable système modifiable : MonnaiePrincipale 

 

MonnaiePrincipale rend la monnaie principale de l'objet en cours (utilisée par la bascule de l'affichage).

 

Cette variable système est également modifiable

 

Exemples :

        MonnaiePrincipale = FACTURE.MONNAIE_IDENT

        FACTURE.MONNAIE_IDENT = MonnaiePrincipale

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaiePrincipale()

 

Variable système modifiable : MonnaieComplementaire 

 

MonnaieComplementaire rend la monnaie complémentaire de l'objet en cours (utilisée par la bascule de l'affichage).

 

Cette variable système est également modifiable

 

Exemples :

        MonnaieComplementaire = FACTURE.MONNAIE_IDENT

        FACTURE.MONNAIE_IDENT = MonnaieComplementaire

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaieComplementaire()

 

Variable système : MonnaieLocale 

MonnaieLocale rend la monnaie locale du pays (avant passage à l'Euro). Elle est invariable puisqu'elle est définie une fois pour toutes au démarrage d'Oxygène++.

 

Syntaxe reconnue par le traducteur :

        MonnaieLocale

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaieLocale()

 

Variable système : MonnaiePivot 

MonnaiePivot rend la monnaie pivot c'est-à-dire l'identifiant de l'Euro (pour les pays « IN »). Elle est invariable puisqu'elle est définie une fois pour toutes au démarrage d'Oxygène++.

 

Syntaxe reconnue par le traducteur :

        MonnaiePivot

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaiePivot ()

 

Variable système : MonnaieStockage 

MonnaieStockage rend la monnaie de stockage utilisée par la base de données pour stocker les champs de type « Monnaie ». Elle est invariable et est définie une fois pour toute au démarrage d'Oxygène++ et variera au moment du basculement définitif de la base de données en euro.

 

Syntaxe reconnue par le traducteur :

        MonnaieStokage

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaieStokage ()

 

 

Variable système / fonction : MonnaieInverse 

MonnaieInverse sans paramètre rend la monnaie « inverse » de la monnaie courante. On entend par monnaie « inverse » la monnaie complémentaire de la monnaie courante. Si on lui passe en paramètre un identifiant monétaire, elle rend la monnaie « inverse » de la monnaie passée en argument. Cette fonction est utilisée pour programmer la bascule de l'affichage.

 

Syntaxe reconnue par le traducteur :

        MonnaieInverse

ou

        MonnaieInverse (FACTURE.MONNAIE_IDENT)

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaieInverse ()

ou

        MonnaieInverse (FACTURE.MONNAIE_IDENT)

 

Variable système invariable : LibelleXxx 

Pour obtenir le libellé complet d'une monnaie, on dispose des variables systèmes suivantes :

 

LibelleMonnaie

LibelleMonnaieStockage

LibelleMonnaiePivot

LibelleMonnaieLocale

LibelleMonnaieInverse

LibelleMonnaiePrincipale

LibelleMonnaieComplementaire

 

La syntaxe reconnue par l'interpréteur  doit être complétée par des pararenthèses : LibelleMonnaie()

 

Fonction : LibelleMonnaie 

LibelleMonnaie (MONNAIE_IDENT) rend le libellé complet la monnaie reçue en argument.

 

Variable système / fonction : MonnaieDrapeau 

MonnaieDrapeau rend le nom du drapeau (nom de la bitmap sans .BMP) de la monnaie courante ou de la monnaie passée en argument.

 

Syntaxe reconnue par le traducteur :

MonnaieDrapeau

ou

MonnaieDrapeau (FACTURE.MONNAIE_IDENT)

 

Syntaxe reconnue par l'interpréteur de formules :

MonnaieDrapeau ()

ou

MonnaieDrapeau (FACTURE.MONNAIE_IDENT)

 

Variable système / fonction : MonnaieDecimale

MonnaieDecimale rend le nombre de décimales de la monnaie courante ou de la monnaie passée en argument.

 

Syntaxe reconnue par le traducteur :

        MonnaieDecimale

ou

        MonnaieDecimale (FACTURE.MONNAIE_IDENT)

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaieDecimale ()

ou

        MonnaieDecimale (FACTURE.MONNAIE_IDENT)

 

Variable système /fonction : MonnaieSymbole 

 

MonnaieSymbole rend le symbole monétaire de la monnaie courante ou de la monnaie passée en paramètre.

 

Syntaxe reconnue par le traducteur :

        MonnaieSymbole

ou

        MonnaieSymbole (FACTURE.MONNAIE_IDENT)

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaieSymbole ()

ou

        MonnaieSymbole (FACTURE.MONNAIE_IDENT)

 

 

Variable système / fonction : MonnaieIn 

MonnaieIn permet de savoir si la monnaie en cours est une monnaie « IN ». L'appel avec paramètres permet de passer en deuxième paramètre la date de référence. En effet, certains pays peuvent être « OUT » à une date et « IN » à une autre (ce sera vraisemblablement le cas du Royaume-uni).

 

La fonction rend 1 pour une monnaie « IN », 0 sinon.

 

Syntaxe reconnue par le traducteur :

        MonnaieIn

ou

        MonnaieIn (FACTURE.MONNAIE_IDENT, FACTURE.DATE_CREATION)

 

Syntaxe reconnue par l'interpréteur de formules :

        MonnaieIn ()

ou

        MonnaieIn (FACTURE.MONNAIE_IDENT, FACTURE.DATE_CREATION)

 

Fonction : ValeurReelle

Cette fonction permet de convertir toute donnée de type MONNAIE en un double exprimé dans l'unité passée en argument.

 

Les syntaxes reconnues sont les suivantes :

 

Cas 1 paramètre :

rend la valeur exprimée dans la monnaie d'affichage en cours.

X=ValeurReelle (FACT.TTC)

 

Cas 2 paramètres :

rend la valeur exprimée dans la monnaie FACT.MONNAIE_IDENT

X=ValeurReelle (FACT.TTC, FACT.MONNAIE_IDENT)

 

Cas 3 paramètres :

rend la valeur exprimée dans la monnaie FACT.MONNAIE_IDENT en appliquant le cours défini à la date FACT.DATE_CREATION

X=ValeurReelle (FACT.TTC, FACT.MONNAIE_IDENT, FACT.DATE_CREATION)

Cas 4 paramètres :

rend la valeur exprimée dans la monnaie FACT.MONNAIE_IDENT en appliquant le cours FACT.COURS

X=ValeurReelle (FACT.TTC, FACT.MONNAIE_IDENT, FACT.DATE_CREATION, FACT.COURS)

 

Cette fonction est très pratique lorsqu'on souhaite, par exemple, afficher dans une liste de factures le montant TTC exprimé dans la monnaie de saisie, et cela quel que soit le mode monétaire courant.

 

Fonction : ValeurFormatee 

Cette fonction est équivalente à la fonction ValeurReelle, mais elle accepte un cinquième paramètre qui est le format à utiliser et rend le résultat sous la forme d'une chaîne. Le format spécial "$" est accepté et permet de compléter le format standard de la donnée par le symbole monétaire de l'unité demandée.

 

Remarque : On poeut également utiliser le format "$" avec la fonction Alpha : Alpha (TTC, "$"), par exemple, rend la valeur de TTC exprimée dans la monnaie courante et complétée par le symbole monétaire. Si le mode monétaire courant est la livre, Alpha (TTC, "$") rendra par exemple £1000,00

 

Fonction : ValeurStockee

Cette fonction est la fonction inverse de ValeurReelle

Elle permet de convertir toute donnée de type DOUBLE exprimée dans une unité quelconque en une donnée de type DOUBLE exprimée dans la monnaie de stockage.

 

Les syntaxes reconnues sont les suivantes :

 

FACT.TTC =ValeurStockee (1000)

FACT.TTC =ValeurStockee (1000, MIDENT)

FACT.TTC =ValeurStockee (1000, MIDENT,Date)

FACT.TTC =ValeurStockee (1000, MIDENT,Date,5.81)

 

Cette fonction est rarement utilisée. En effet, avec Oxygène++, les données monétaires saisies sont automatiquement converties dans l'unité de stockage. ValeurStockee ne doit être utilisée que dans des cas très particuliers comme, par exemple, l'importations de données provenant d'un logiciel externe.