Freigeben über


Geschäftliche Laufzeitfunktionen für X++

Hinweis

Community-Interessensgruppen sind jetzt von Yammer zu Microsoft Viva Engage gewechselt. Um an einer Viva Engage-Community teilzunehmen und an den neuesten Diskussionen teilzunehmen, füllen Sie das Formular "Anfordern des Zugriffs auf Finance and Operations Viva Engage Community" aus , und wählen Sie die Community aus, der Sie beitreten möchten.

In diesem Artikel werden die Geschäftslaufzeitfunktionen beschrieben.

Diese Funktionen geben Finanzdaten ein und berechnen Formeln.

cTerm

Berechnet die Anzahl der Zeiträume, die für den aktuellen Anlagewert erforderlich sind, um einen Zielwert zu erzielen.

Syntax

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

Die Parameter

Parameter Description
Zins Der Zinssatz.
future_value Der Zielwert.
current_value Der aktuelle Investitionswert.

Rückgabewert

Die Anzahl der Zeiträume, die erforderlich sind, um future_value zu erreichen.

Bemerkungen

Die Parameter current_value und future_value müssen dasselbe Präfixzeichen (Plus- oder Minuszeichen) aufweisen.

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

Berechnet die beschleunigte Abschreibung eines Vermögenswerts.

Syntax

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

Die Parameter

Parameter Description
Preis Der Kaufpreis des Vermögenswerts.
Schrott Der Restwert des Vermögenswerts, der abgeschrieben wurde.
Leben Die erwartete Lebensdauer der Ressource.
Zeitraum Der Zeitraum, über den die Abschreibung berechnet werden soll.

Rückgabewert

Die Abschreibung des Vermögenswerts.

Bemerkungen

Der Buchwert für einen bestimmten Zeitraum entspricht dem Kaufpreis abzüglich der angesammelten Abschreibung für frühere Perioden:

  • Buchwert für Zeitraum 1 = Preis
  • Buchwert für Zeitraum 2 = Buchwert für Zeitraum 1 – Abschreibung für Zeitraum 1
  • Buchwert für Zeitraum n = Buchwert für Periode (n–1) – Abschreibung für Periode (n–1)

Es gibt drei Variationen für die Berechnung der Abschreibung: Wenn PeriodEnlebensdauer > :

  • Abschreibung = 0

If (Book value for Period n) – ((Book value for Period n) × 2 ÷ Life) < Restwert:

  • Abschreibung = (Buchwert für Zeitraum n) – Restwert

In allen anderen Fällen: Abschreibung = (Buchwert für Period n) × 2 ÷ Life The syd and sln functions also calculate the depreciation of an asset. Die Funktionen "syd " und "ddb " ermöglichen eine höhere Abschreibung für die früheren Jahre, während sln eine lineare Abschreibung berechnet.

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

Gd

Berechnet das Beitragsverhältnis, das auf dem Verkaufspreis und dem Kaufpreis basiert. Wenn der Wert des Verkaufsparameters0,0 ist, kann die Berechnung nicht ausgeführt werden.

Syntax

real dg(real sale, real purchase)

Die Parameter

Parameter Description
Ausverkauf Der Verkaufspreis.
Erwerben Der Kaufpreis.

Rückgabewert

Die Beitragsquote.

Bemerkungen

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

Berechnet den zukünftigen Wert einer Investition.

Syntax

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

Die Parameter

Parameter Description
Menge Der Betrag, der in jedem Zeitraum gezahlt wurde.
Zins Der Zinssatz.
Leben Die Anzahl der Investitionsperioden.

Rückgabewert

Der zukünftige Wert der Investition.

Bemerkungen

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

idg

Berechnet den Verkaufspreis basierend auf dem Kaufpreis und dem Beitragsverhältnis.

real idg(real purchase, real contribution_ratio)

Die Parameter

Parameter Description
Erwerben Der Kaufpreis.
contribution_ratio Die Beitragsquote.

Rückgabewert

Der Verkaufspreis.

Bemerkungen

Wenn das Beitragsverhältnis gleich 1,0 ist, kann die Berechnung nicht durchgeführt werden. Die Idg-Funktion ist die Umkehrung der Gd-Funktion .

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

intvMax

Ruft die Anzahl der Intervalle für den angegebenen Zeitraum ab, wenn der Punkt in Teile unterteilt wird, wie durch den Func-Parameter angegeben.

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

Die Parameter

Parameter Description
input_date Das Ende des Zeitraums, der später als der parameter ref_date sein muss.
ref_date Der Anfang des Zeitraums.
Func Ein IntvScale-Systemaufzählungswert , der die Abteilungseinheit angibt.

Bemerkungen

Hier sind die möglichen Werte für den Func-Parameter :

  • Nichts
  • YearMonthDay
  • YearMonth
  • Jahr
  • MonthDay
  • Month
  • Day
  • YearQuarter
  • Quartal
  • YearWeek
  • Woche
  • Wochentag

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

Gibt den Namen des Intervalls zurück, das die angegebene Anzahl von Intervallen vor dem angegebenen Datum darstellt.

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

Die Parameter

Parameter Description
input_date Ein Datum im ersten Intervall.
col Die Anzahl der Intervalle vor dem Datum, das vom input_date-Parameter angegeben wird.
Func Ein IntvScale-Enumerationswert .

Rückgabewert

Der Name des Intervalls.

Bemerkungen

Wenn der Func-Parameter beispielsweise der Wert der IntvScale::WeekDay-Enumeration ist, gibt diese Methode den Namen des Wochentags zurück. Wenn der Func-Parameter der IntvScale::Week-Enumerationswert ist, gibt diese Methode eine Zeichenfolge zurück, die die Anzahl der Woche enthält.

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

Berechnet die Anzahl der Intervalle zwischen zwei Datumsangaben, wenn Sie die Zeit in die angegebenen Intervalle unterteilen.

Syntax

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

Die Parameter

Parameter Description
input_date Ein Datum, das das Ende des Zeitraums angibt
ref_date Ein Datum, das den Anfang des Zeitraums angibt.
Func Ein IntvScale-Enumerationswert .

Rückgabewert

Die Anzahl der Intervalle zwischen den Datumsangaben, die durch die parameter ref_date und input_date angegeben werden.

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

Gibt das normalisierte Datum für den Zeitraum zurück.

Syntax

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

Die Parameter

Parameter Description
input_date Das Ende des Zeitraums, der später als das datum sein muss, das durch den parameter ref_date angegeben wird.
ref_date Der Anfang des Zeitraums.
Func Ein IntvScale-Enumerationswert , der die Intervallteilungseinheit angibt.

Rückgabewert

Das normalisierte Datum für den Zeitraum.

Bemerkungen

Das zurückgegebene Datum entspricht dem Datum des ersten Tags im Intervall, in dem das durch den parameter ref_date angegebene Datum vorhanden ist.

Example

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

Pmt

Berechnet den Betrag, der für jeden Zeitraum gezahlt werden muss, um ein Darlehen zurückzuzahlen.

Syntax

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

Die Parameter

Parameter Description
Haupt Der ursprünglich geliehene Betrag.
Zins Die Zinsen, die für jeden Zeitraum auf den betrag angewendet werden, der geliehen wurde.
Leben Die Anzahl der Perioden, über die das Darlehen zurückgezahlt wird.

Rückgabewert

Der Betrag, der für jeden Zeitraum gezahlt werden muss.

Bemerkungen

Die Lebens - und Interessenparameter müssen in den gleichen Zeiteinheiten ausgedrückt werden. Der Wert des Lebensparameters muss mehr als 0,0 sein.

Example

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

pt

Ruft die Summe einer Zahl plus einem angegebenen Prozentsatz dieser Zahl ab.

Syntax

real pt(real amount, real percentage)

Die Parameter

Parameter Description
Menge Die ursprüngliche Nummer.
Prozentwert Die Prozentuale Ergänzung.

Rückgabewert

Die Zahl, die gleich ((Betrag *× *Prozentsatz) + Betrag ist).

Bemerkungen

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

Pv

Berechnet den Barwert einer Annuität, wobei ein Betrag über mehrere Zeiträume empfangen wird und der Zinssatz für jeden Zeitraum abgezogen wird.

Syntax

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

Die Parameter

Parameter Description
Menge Der Betrag, der während jedes Zeitraums gezahlt wird.
Zins Der Zinssatz.
Leben Die Häufigkeit, mit der der Wert, der durch den Betragsparameter angegeben wird, bezahlt wird.

Rückgabewert

Der aktuelle Wert einer Annuität.

Bemerkungen

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

Rate

Berechnet die Zinsen, die für den aktuellen Anlagewert erforderlich sind, um den zukünftigen Wert über die angegebene Anzahl von Zeiträumen zu erreichen.

Syntax

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

Die Parameter

Parameter Description
_future_value Der zukünftige Wert der Investition.
_current_value Der aktuelle Wert der Investition.
_Bedingungen Die Anzahl der Perioden, über die sich die Investition erstreckt.

Rückgabewert

Der berechnete Zinssatz.

Bemerkungen

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

sln

Ruft den konstanten Abschreibungsbetrag für die angegebene Ressource für jeden Abschreibungszeitraum ab.

Syntax

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

Die Parameter

Parameter Description
Preis Der Kaufpreis des Vermögenswerts.
Schrott Der Schrottwert des Vermögenswerts.
Leben Die Anzahl der Perioden in der erwarteten Lebensdauer des Vermögenswerts.

Rückgabewert

Der Abschreibungsbetrag.

Example

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

Syd

Berechnet die Abschreibung eines Vermögenswerts über einen bestimmten Zeitraum.

Syntax

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

Die Parameter

Parameter Description
_Preis Der Kaufpreis des Vermögenswerts.
_Schrott Der Schrottwert des Vermögenswerts.
_Leben Die erwartete Lebensdauer des Vermögenswerts (die Anzahl der Perioden).
_Periode Der Zeitraum, für den die Abschreibung berechnet werden soll.

Rückgabewert

Der Betrag der Abschreibung über den angegebenen Zeitraum.

Bemerkungen

Im Gegensatz zur Sln-Funktion kann die syd-Funktion eine beschleunigte Abschreibung des Vermögenswerts ermöglichen. Wie bei der ddb-Funktion ermöglicht dies eine höhere Abschreibung während der frühen Lebenszeit eines Vermögenswerts.

Example

In den folgenden Beispielen wird die periodische Abschreibung für ein Objekt mit einem Kaufpreis von 10.000, einem Schrottwert von 2.000 und einer Lebensdauer von 5 berechnet. Im Vergleich dazu würde sln(10000.2000,5) für jeden Zeitraum 1600,00 berechnen.

// 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);

Begriff

Berechnet die Anzahl der Perioden, für die eine Investition ausgeführt werden muss.

Syntax

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

Die Parameter

Parameter Description
Menge Der Betrag der periodischen Investition.
Zins Der Zinssatz für jeden Zeitraum.
future_value Der zukünftige Wert, der für die Investition erwartet wird

Rückgabewert

Die Anzahl der Perioden, für die die Investition ausgeführt werden muss.

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;
}