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.
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.