Partager via


Fonctions d’exécution d’entreprise X++

Note

Les groupes d’intérêt communautaire sont maintenant passés de Yammer à Microsoft Viva Engage. Pour participer à une communauté Viva Engage et participer aux dernières discussions, renseignez le formulaire Demander l’accès à la communauté Finance et Operations Viva Engage , puis choisissez la communauté que vous souhaitez rejoindre.

Cet article décrit les fonctions d’exécution métier.

Ces fonctions entrent des données financières et calculent des formules.

cTerm

Calcule le nombre de périodes requises pour la valeur d’investissement actuelle pour générer une valeur cible.

Syntaxe

real cTerm(real interest, real future_value, real current_value)

Paramètres

Paramètre Descriptif
intérêt Taux d’intérêt.
future_value Valeur cible.
current_value Valeur actuelle de l’investissement.

Valeur retournée

Nombre de périodes requises pour atteindre future_value.

Remarques

Les paramètres current_value et future_value doivent avoir le même signe préfixé (plus ou moins).

Example

static void cTermExample(Args _arg)
{
    real r;
    ;
    r = cTerm(10.0, 500.00, 100.00);
    print "The cTerm is " + num2Str(r, 2, 2, 1, 1);
    pause;
}

Ddb

Calcule l’amortissement accéléré d’un actif.

Syntaxe

real ddb(real price, real scrap, real life, int period)

Paramètres

Paramètre Descriptif
prix Prix d’achat de l’actif.
ferraille Valeur résiduelle de la ressource qui a été supprimée.
vie Durée de vie attendue de la ressource.
period Période de calcul de l’amortissement.

Valeur retournée

Amortissement de l’actif.

Remarques

La valeur comptable d’une période spécifique est égale au prix d’achat moins l’amortissement cumulé pour les périodes précédentes :

  • Valeur de livre pour la période 1 = Prix
  • Valeur de livre pour la période 2 = Valeur de livre pour la période 1 – Amortissement pour la période 1
  • Valeur de livre pour la période n = valeur de livre pour la période (n–1) – Amortissement pour la période (n–1)

Il existe trois variations pour le calcul de l’amortissement : Si durée > de vie :

  • Amortissement = 0

Si (valeur de livre pour la période n) – ((Valeur du livre pour la période n) × 2 ÷ Vie) < Valeur résiduelle :

  • Amortissement = (Valeur du livre pour la période n) – Valeur résiduelle

Dans tous les autres cas : Amortissement = (Valeur du livre pour la période n) × 2 ÷ Life Les fonctions syd et sln calculent également l’amortissement d’un actif. Les fonctions syd et ddb permettent une dépréciation plus élevée pour les années précédentes, tandis que sln calcule une amortissement linéaire.

ddb(12000,2000,10,1); //Returns the value 2400.
ddb(12000,2000,10,3); //Returns the value 1536.

Dg

Calcule le ratio de contribution, qui est basé sur le prix de vente et le prix d’achat. Si la valeur du paramètre de vente est 0,0, le calcul ne peut pas être effectué.

Syntaxe

real dg(real sale, real purchase)

Paramètres

Paramètre Descriptif
vente Le prix de vente.
achat Prix d’achat.

Valeur retournée

Rapport de contribution.

Remarques

dg(1000,300); //Returns the value 0.7.
dg(100,30); //Returns the value 0.7.
dg(20000, 11000); //Returns the value 0.45.

Fv

Calcule la valeur future d’un investissement.

Syntaxe

real fV(real amount, real interest, real life)

Paramètres

Paramètre Descriptif
montant Montant payé pendant chaque période.
intérêt Taux d’intérêt.
vie Nombre de périodes d’investissement.

Valeur retournée

Valeur future de l’investissement.

Remarques

fV(100,0.14,10); //Returns the value 1933.73.
fV(400,0.10,5); //Returns the value 2442.04.

idg

Calcule le prix de vente, en fonction du prix d’achat et du ratio de contribution.

real idg(real purchase, real contribution_ratio)

Paramètres

Paramètre Descriptif
achat Prix d’achat.
contribution_ratio Rapport de contribution.

Valeur retournée

Le prix de vente.

Remarques

Si le ratio de contribution est égal à 1,0, le calcul ne peut pas être effectué. La fonction idg est l’inverse de la fonction dg .

idg(300,0.7); //Returns the value 1000.
idg(11000,0.45); //Returns the value 20000.

intvMax

Récupère le nombre d’intervalles pour la période spécifiée lorsque la période est divisée en parties, comme spécifié par le paramètre func .

int intvMax(date input_date, date ref_date, int func)

Paramètres

Paramètre Descriptif
input_date Fin de la période, qui doit être ultérieure au paramètre ref_date .
ref_date Début de la période.
func Valeur d’énumération système IntvScale qui indique l’unité de division.

Remarques

Voici les valeurs possibles pour le paramètre func :

  • Aucun
  • YearMonthDay
  • YearMonth
  • Année
  • MonthDay
  • Mois
  • Day
  • YearQuarter
  • Trimestre
  • YearWeek
  • Semaine
  • WeekDay

Example

static void intvMaxExample()
{
    date refDate = str2Date("4/9/2007", 213);
    date inputDate = str2Date("10/5/2007", 213);
    int numberOfIntervals;
    ;
    numberOfIntervals = intvMax(inputDate, refDate, intvScale::YearMonth);
    print numberOfIntervals;
    pause;
}

intvName

Retourne le nom de l’intervalle qui correspond au nombre spécifié d’intervalles avant la date spécifiée.

str intvName(date input_date, int col, enum func)

Paramètres

Paramètre Descriptif
input_date Date dans le premier intervalle.
col Nombre d’intervalles avant la date spécifiée par le paramètre input_date .
func Valeur d’énumération intvScale .

Valeur retournée

Nom de l’intervalle.

Remarques

Par exemple, si le paramètre func est la valeur d’énumération IntvScale ::WeekDay , cette méthode retourne le nom de la semaine. Si le paramètre func est la valeur d’énumération IntvScale ::Week , cette méthode retourne une chaîne qui contient le nombre de la semaine.

Example

static void intvNameExample(Args _args)
{
    date refDate = 2672010;
    str name;
    ;
    name = intvName(refDate, 3,  intvScale::WeekDay);
    Global::info(strfmt("%1 is the output, which indicates the day of the week 3 days after 26\7\2010.", name));
}
/**** Infolog display.
Message (09:56:55 am)
Thu is the output, which indicates the day of the week 3 days after 2672010.
****/

intvNo

Calcule le nombre d’intervalles entre deux dates lorsque vous divisez l’heure en intervalles spécifiés.

Syntaxe

int intvNo(date input_date, date ref_date, int func)

Paramètres

Paramètre Descriptif
input_date Date qui indique la fin de la période
ref_date Date qui indique le début de la période.
func Valeur d’énumération intvScale .

Valeur retournée

Nombre d’intervalles entre les dates spécifiées par les paramètres ref_date et input_date .

Example

static void intvNoExample(Args _args)
{
    date inputDate = str2Date("1/1/2007", 213);
    date refDate = str2Date("3/1/2007", 213);
    int noOfIntervals;
    ;
    noOfIntervals = intvNo(refDate, inputDate, intvScale::Month);
    print noOfIntervals;
    pause;
    //noOfIntervals now holds the difference in months between March and January (2).
}

intvNorm

Retourne la date normalisée pour la période.

Syntaxe

date intvNorm(date input_date, date ref_date, int func)

Paramètres

Paramètre Descriptif
input_date Fin de la période, qui doit être postérieure à la date spécifiée par le paramètre ref_date .
ref_date Début de la période.
func Valeur d’énumération intvScale qui indique l’unité de division d’intervalle.

Valeur retournée

Date normalisée de la période.

Remarques

La date retournée est égale à la date du premier jour dans l’intervalle dans lequel la date spécifiée par le paramètre ref_date existe.

Example

static void example()
{
    print intvNorm(today(), today()-1, IntVScale::WeekDay);
    pause;
}

Pmt

Calcule le montant qui doit être payé chaque période pour rembourser un prêt.

Syntaxe

real pmt(real principal, real interest, real life)

Paramètres

Paramètre Descriptif
directeur Montant emprunté à l’origine.
intérêt Intérêt appliqué à chaque période au montant emprunté.
vie Nombre de périodes sur laquelle le prêt est remboursé.

Valeur retournée

Montant qui doit être payé toutes les périodes.

Remarques

Les paramètres de vie et d’intérêt doivent être exprimés dans les mêmes unités de temps. La valeur du paramètre de vie doit être supérieure à 0,0.

Example

pmt(4000,0.14,4); //Returns the value 1372.82.
pmt(10000,0.10,20); //Returns the value 1174.60.

pt

Récupère la somme d’un nombre plus un pourcentage spécifié de ce nombre.

Syntaxe

real pt(real amount, real percentage)

Paramètres

Paramètre Descriptif
montant Numéro d’origine.
pourcentage Supplément de pourcentage.

Valeur retournée

Nombre égal à ((montant *× *pourcentage) + montant).

Remarques

pt(2000.0,0.10); //Returns the value 2200.0.
pt(20.0,0.10); //Returns the value 22.0.

Pv

Calcule la valeur actuelle d’une rente, où un montant est reçu sur plusieurs périodes et le taux d’intérêt est déduit pour chaque période.

Syntaxe

real pv(real amount, real interest, real life)

Paramètres

Paramètre Descriptif
montant Montant payé pendant chaque période.
intérêt Taux d’intérêt.
vie Nombre de fois où la valeur spécifiée par le paramètre de montant est payée.

Valeur retournée

Valeur actuelle d’une rente.

Remarques

pv(300,0.14,4); //Returns the value 874.11.

taux

Calcule l’intérêt requis pour la valeur actuelle d’investissement afin d’atteindre la valeur future sur le nombre spécifié de périodes.

Syntaxe

real rate(real _future_value, real _current_value, real _terms)

Paramètres

Paramètre Descriptif
_future_value Valeur future de l’investissement.
_current_value Valeur actuelle de l’investissement.
_petits caractères Nombre de périodes que l’investissement s’étend.

Valeur retournée

Taux d’intérêt calculé.

Remarques

rate(10000,1000,20); //Returns the value 0.12.

sln

Récupère le montant constant de l’amortissement pour l’actif spécifié pour chaque période d’amortissement.

Syntaxe

real sln(real price, real scrap, real life)

Paramètres

Paramètre Descriptif
prix Prix d’achat de l’actif.
ferraille Valeur de récupération de la ressource.
vie Nombre de périodes dans la durée de vie attendue de l’actif.

Valeur retournée

Montant de l’amortissement.

Example

static void slnExample(Args _arg)
{
    real r;
    ;
    r = sln(100.00, 50.00, 50.00);
    print r;
    pause;
}

Syd

Calcule l’amortissement d’un actif sur une période spécifiée.

Syntaxe

real syd(real _price, real _scrap, real _life, int _period)

Paramètres

Paramètre Descriptif
_prix Prix d’achat de l’actif.
_ferraille Valeur de récupération de la ressource.
_vie Durée de vie attendue de l’actif (nombre de périodes).
_période Période pour laquelle calculer l’amortissement.

Valeur retournée

Montant de l’amortissement sur la période spécifiée.

Remarques

Contrairement à la fonction sln , la fonction syd peut permettre une dépréciation accélérée de l’actif. Comme avec la fonction ddb , cela permet une dépréciation plus élevée pendant les premières périodes de la durée de vie d’un actif.

Example

Dans les exemples suivants, l’amortissement périodique est calculé pour un actif dont le prix d’achat est de 10 000, une valeur de 2 000 et une durée de vie de 5. En comparaison, sln(1000,2000,5) calculerait 1600,00 pour chaque période.

// Returns the value 2666.67 (for the 1st period).
syd(10000,2000,5,1);
// Returns the value 2133.33 (for the 2nd period).
syd(10000,2000,5,2);
// Returns the value 1600.00 (for the 3rd period).
syd(10000,2000,5,3);
// Returns the value 1066.67 (for the 4th period).
syd(10000,2000,5,4);
// Returns the value 533.33 (for 5th - and final- period).
syd(10000,2000,5,5);

terme

Calcule le nombre de périodes pendant laquelle un investissement doit s’exécuter.

Syntaxe

real term(real amount, real interest, real future_value)

Paramètres

Paramètre Descriptif
montant Montant de l’investissement périodique.
intérêt Taux d’intérêt pour chaque période.
future_value Valeur future prévue pour l’investissement

Valeur retournée

Nombre de périodes pendant laquelle l’investissement doit s’exécuter.

Example

static void termExample(Args _args)
{
    print term(400,0.08,5000);  //returns the value '9.01'.
    print term(100,0.14,3000);  //returns the value '12.58'.
    pause;
}